Compilateurs
Quelle définition de l'optimisation guidée par profil (PGO) est correcte ?
- AUne fonction qui remet en forme le code source pour le rendre lisible
- BUne fonction où le compilateur choisit aléatoirement plusieurs méthodes d'optimisation et compare les résultats
- CRecompiler en utilisant les traces d'exécution obtenues sur des entrées représentatives
Afficher la réponse et l'explication
Réponse : C. Recompiler en utilisant les traces d'exécution obtenues sur des entrées représentatives
En PGO, on exécute d'abord, sur des entrées représentatives, un programme compilé avec des instructions d'instrumentation, et l'on enregistre quelles branches sont souvent empruntées, quelles fonctions souvent appelées, etc. On recompile ensuite avec ces informations, en disposant en ligne droite les chemins fréquents ou en développant en ligne les fonctions souvent appelées, pour une optimisation adaptée à l'usage réel. L'effet s'amenuise si les entrées diffèrent fortement de l'usage réel. Ce n'est ni une mise en forme du source ni un choix aléatoire.