L'application doit être compilée avec certains indicateurs de compilateur pour que
l'outil puisse collecter les informations requises.
- Compilateurs XLC :
- L'option -g est requise pour collecter les informations de débogage. Ces informations
sont utilisées pour corréler les graduations avec les lignes de code source. (Une autre option consiste à utiliser -qlinedebug
à la place de -g pour produire des fichiers binaires plus petits.)
- Pour les compilateurs XLC version 12, l'option -g8 peut éventuellement être utilisée à la place de -g pour produire
des informations de débogage de ligne de meilleure qualité, au prix d'une petite diminution des performances.
- L'option -qlistfmt=xml=all permet la collecte de rapports de transformation du compilateur.
Ces rapports sont utilisés pour déterminer l'emplacement des optimisations du compilateur telles que l'insertion avec des instructions "inline".
Avec cette option activée, plusieurs fichiers de rapport XML apparaîtront dans le projet après la génération.
- Compilateurs GCC :
- L'option -g est requise pour collecter les informations de débogage. Ces informations
sont utilisées pour corréler les graduations avec les lignes de code source.
Les rapports de transformation du compilateur ne sont actuellement pas pris en charge pour GCC.
Problèmes potentiels avec les rapports de transformation
Performance Advisor détermine comment vos
exécutables sont compilés en recherchant les rapports de transformation du compilateur XL et la
sortie de génération des générations lancées à partir de l'environnement de développement intégré.
Si ces informations viennent à ne plus être synchronisées, par exemple parce qu'une génération a été exécutée
manuellement sur l'ordinateur distant, dans un interpréteur de commandes ou une fenêtre de terminal,
ou parce que l'option -qlistfmt=xml=all a été supprimée mais que les rapports
de transformation existants ne l'ont pas été, Performance Advisor est susceptible de donner
des recommandations incorrectes sur les options du compilateur.
Si vous suspectez que c'est le cas :
- Nettoyez votre projet (cliquez avec le bouton droit sur le projet et sélectionnez Nettoyer le projet)
- Supprimez les rapports de transformation dans le projet
- Régénérez votre projet (cliquez avec le bouton droit sur le projet et sélectionnez Générer le projet)