Optimisation au moment de la liaison (LTO) : le prochain niveau d’optimisation du compilateur ?

2025-05-21
Optimisation au moment de la liaison (LTO) : le prochain niveau d’optimisation du compilateur ?

Cet article explore l’optimisation au moment de la liaison (LTO), une technique qui améliore les performances d’un programme en effectuant des optimisations pendant la phase de liaison. Les compilateurs traditionnels optimisent au sein de fichiers individuels, tandis que la LTO permet des optimisations plus complètes entre les fichiers, telles que l’intégration de fonctions et l’amélioration de la localité du code. Bien que la LTO puisse apporter des améliorations significatives des performances (par exemple, une réduction de 9,2 % du temps d’exécution et une réduction de 20 % de la taille du binaire dans le test du projet ProjectX), elle nécessite également des temps de compilation et de liaison plus longs et davantage de mémoire. L’auteur compare des expériences sur ProjectX et ffmpeg pour illustrer les avantages et les inconvénients de la LTO et suggère d’essayer la LTO sur des projets qui n’ont pas été optimisés de manière agressive pour la vitesse, en concluant que les gains de performance finaux dépendent du projet spécifique.