Présentation de l'optimisation des performances

Sources de données

Les données de performance sont collectées à partir de plusieurs sources.

Pour rendre disponibles les informations de débogage et les rapports de transformation, reportez-vous à la section consacrée à la génération avec les options de compilateur requises.

Fiche de score du système

Il arrive souvent qu'une simple modification de l'environnement de génération ou d'exécution ait un impact important sur les performances d'une application sans qu'il soit nécessaire de changer le code source de l'application. Les hôtes de génération et d'exécution peuvent être analysés et "évalués" sur la base de plusieurs critères d'évaluation, qui sont notamment le niveau du matériel, le niveau du système d'exploitation, la version du compilateur et les options de génération. Un rapport appelé Fiche de score du système est généré et fournit des recommandations sur la façon d'améliorer la configuration du système pour de meilleures performances de l'application.

Données de performance basées sur l'échantillonnage

Les données brutes de performance pour une application en cours d'exécution proviennent d'outils système de bas niveau qui sont basés sur l'échantillonnage. Par exemple, tprof va enregistrer des échantillons en continu de l'état du pointeur d'instruction du processeur, qui contient l'adresse mémoire de l'instruction en cours d'exécution. Lorsque l'exécution de performance est terminée, les informations de débogage du compilateur sont utilisées pour remapper les adresses aux lignes de code source correspondantes. Le taux d'échantillonnage est configurable mais il est généralement défini à un intervalle de 10 millisecondes. Chaque échantillon est appelé une graduation.

La collecte de données de performance basées sur l'échantillonnage a ses inconvénients. Il peut y avoir plusieurs processus en cours d'exécution sur le système cible en plus de l'application à profiler. Il est fréquent que de nombreuses graduations soient affectées à des processus concurrents. Pour cette raison, il est recommandé de réaliser l'exécution sur un système relativement "peu sollicité". Une situation idéale serait de disposer d'un ordinateur dédié aux tests de performance.

Les graduations correspondant à l'application profilée apparaissent sous le noeud "Mon application" dans le Navigateur de hotspots. Toutes les autres graduations sont affectées au noeud "Autres processus". Si un nombre significatif de graduations sont attribuées à d'autres processus, vous pouvez envisager si c'est possible de réduire la charge du système pendant les exécutions de performance suivantes.

Les données étant basées sur un échantillonnage, l'augmentation du nombre d'échantillons accroît la pertinence statistique des données collectées. Il est recommandé d'exécuter l'application à profiler pendant au moins 30 secondes, et de préférence plus longtemps. Ceci peut se faire en choisissant un ensemble d'entrées tel que l'application s'exécute pendant une période de temps plus longue ou à l'aide d'un script pour exécuter l'application dans une boucle.

Par défaut, les graduations ne sont pas affichées. Au lieu de cela, le caractère optimisable est représenté par un pourcentage relatif à une portée, telle que l'application ou le système tout entier. Pour activer l'affichage des graduations, ouvrez d'abord la boîte de dialogue des préférences à partir du menu principal via Fenêtre > Préférences. Accédez ensuite à la page des préférences qui se trouve sous Optimisation des performances > Apparence. Sous Données temporelles, sélectionnez Afficher le pourcentage et les graduations.

Echantillonnage de la pile d'appels

Les données d'échantillonnage de la pile d'appels sont collectées via des outils système de bas niveau. Ces donnés proviennent de procstack sur AIX et de OProfile sur Linux.

Environ une fois par seconde, la pile d'appels de l'application est échantillonnée et toutes les fonctions actuellement en cours d'exécution de l'application sont enregistrées. Lorsque l'exécution de performance est terminée, ces informations peuvent être analysées à l'aide du Navigateur d'appels.

Rapports de transformation du compilateur

Les compilateurs XLC ont la possibilité de produire des fichiers de rapport XML décrivant les optimisations qui ont été effectuées lors de la compilation. Ces rapports ne sont pas strictement requis mais s'ils sont générés, davantage d'informations seront disponibles pour l'analyse. Un des éléments les plus intéressants révélés par ces rapports est l'emplacement des appels de fonction qui ont été insérés via l'instruction "inline" lors de la compilation.


Retour d'informations