Le nombre de symbole dans les libs C++ etant juste dantesque, tu te retrouves avec des temps de demarrage hallucinant et non ameliorable.
La solution à se problème est -fvisibility=hidden.
Pour voir à quel point tu es loin de la réalité, fais un démarrage à froid de la version stable de Firefox (je ne garantis rien sur les binaires de ta distro, je parle des binaires mozilla) avec profil par défaut. Ça devrait démarrer en 2 secondes maxi si tu as une machine correcte, alors que libxul.so est une immense bibliothèque C++ et que Firefox ne peut rien afficher sans qu'elle soit en grande partie chargée.
Ensuite de nombreuses applications C++ sur bureau libre ont d'autres problèmes, mais c'est leur faute:
- Chargement d'un grand nombre de bibliothèques différentes, avec leurs propres dépendances. Le gros truc à éviter.
- Grand nombre de constructeurs d'objets globaux/statiques.
- relocations inutiles
- voir le blog de Glandium
[^] # Re: Les iles
Posté par Benoit Jacob . En réponse au journal Conseils aux libristes, 3e partie : surmonter l’obsession du « toolkit ». Évalué à 6. Dernière modification le 13 octobre 2012 à 19:10.
La solution à se problème est -fvisibility=hidden.
Pour voir à quel point tu es loin de la réalité, fais un démarrage à froid de la version stable de Firefox (je ne garantis rien sur les binaires de ta distro, je parle des binaires mozilla) avec profil par défaut. Ça devrait démarrer en 2 secondes maxi si tu as une machine correcte, alors que libxul.so est une immense bibliothèque C++ et que Firefox ne peut rien afficher sans qu'elle soit en grande partie chargée.
Ensuite de nombreuses applications C++ sur bureau libre ont d'autres problèmes, mais c'est leur faute:
- Chargement d'un grand nombre de bibliothèques différentes, avec leurs propres dépendances. Le gros truc à éviter.
- Grand nombre de constructeurs d'objets globaux/statiques.
- relocations inutiles
- voir le blog de Glandium