Panneau Performances

Ce panneau contient des options permettant d'améliorer et de mesurer les performances de l'objet compilé.

Reportez-vous à Boîte de dialogue - Aide générale pour de plus amples informations sur les paramètres *CMDDFT et l'aide des boutons.

Activation de la collecte des performances
Indique si le code de mesure des données de performance doit être généré dans le module ou dans le programme. Les données obtenues peuvent être utilisées par l'outil de performances du système pour définir le profil des performances d'une application. L'ajout du code de mesure des performances augmentera légèrement la taille des objets et peut affecter les performances.

Vous pouvez sélectionner l'une des valeurs suivantes dans cette zone :

*CMDDFT
Reportez-vous aux paramètres de collecte des performances définis actuellement par défaut sur votre système.

*PEP
Les statistiques de performances sont collectées uniquement à l'entrée et à la sortie de la procédure d'entrée du programme. Choisissez cette valeur si vous souhaitez collecter des informations de performances d'ordre général pour une application. Ce support équivaut au support fourni précédemment par l'outil TPST.

*ENTRYEXIT *NONLEAF
Les statistiques de performances sont collectées à l'entrée et à la sortie de toutes les procédures du programme autres que les procédures terminales (en fin de branche). La routine PEP de programme est également incluse. Choisissez cette valeur si vous souhaitez collecter des informations de performances relatives aux routines qui appellent d'autres routines dans votre application.

*ENTRYEXIT *ALLPRC
Les statistiques de performances sont collectées à l'entrée et à la sortie de toutes les procédures du programme, y compris les procédures terminales (en fin de branche). La routine PEP de programme est également incluse. Choisissez cette valeur si vous souhaitez collecter des informations de performances relatives à toutes les routines, et si vous savez que tous les programmes appelés par votre application ont également été compilés avec les options de mesure de données de performances *PEP, *ENTRYEXIT, ou *FULL. Si votre application appelle d'autres programmes pour lesquels la mesure des performances n'a pas été activée, l'outil de mesure des performances imputera leur utilisation des ressources à votre application. Il sera donc difficile de déterminer où les ressources sont réellement utilisées.

*FULL *NONLEAF
Les statistiques de performances sont collectées à l'entrée et à la sortie de toutes les procédures non terminales. Les statistiques sont également collectées avant et après chaque appel d'une procédure externe.

*FULL *ALLPRC
Les statistiques de performances sont collectées à l'entrée et à la sortie de toutes les procédures du programme, y compris les procédures terminales (en fin de branche). Les statistiques sont également collectées avant et après chaque appel d'une procédure externe. Choisissez cette valeur si votre application appelle d'autres programmes qui n'ont pas été compilés avec les options de mesure de données de performances *PEP, *ENTRYEXIT, or *FULL. Cette valeur permet aux outils de performances de distinguer les ressources utilisées par votre application de celles utilisées par les programmes qu'elle appelle, même si ces programmes n'ont pas été paramétrés pour la mesure des performances. Cette option est la la plus coûteuse mais elle permet une analyse sélective de divers programmes dans une application.

Options de performances

Calculs en virgule flottante
Si cette case est cochée, le compilateur définit les attributs des calculs en virgule flottante afin qu'ils correspondent à la sémantique ANSI.

Si elle n'est pas cochée, aucun attribut de calcul n'est défini. Utilisez cette option uniquement si votre programme ne contient pas de calculs en virgule flottante.

Chaînes en mémoire
Si cette case est cochée, le compilateur peut placer des chaînes dans de la mémoire en lecture seulement. Dans le cas contraire, les chaînes doivent être placées dans la mémoire accessible en écriture.

Options de mise en ligne
Les options de ce groupe vous permettent de définir la manière dont le compilateur tentera de mettre en ligne les appels de fonction. Mettre en ligne une fonction élimine la pénalité système d'un appel et permet d'obtenir une meilleure optimisation du programme. Les petites fonctions appelées souvent sont de bons candidates pour la mise en ligne.

Mise en ligne
Si cette case est cochée, le compilateur tentera de mettre en ligne les fonctions dans l'unité de compilation. Cette option sera ignorée si vous utilisez également la sélection Vue débogueur du panneau des options de débogage pour demander une liste de la vue de débogage. La sélection de cette case active également les contrôles suivants :

Mise en ligne automatique
Si cette case n'est pas cochée, seules les fonctions marquées de manière explicite avec la directive #pragma inline sont prises en compte pour la mise en ligne.

Si cette case est cochée, le module de mise en ligne détermine automatiquement si une fonction doit être mise en ligne. Toutes les fonctions satisfaisant aux limites de seuil spécifiées sont candidates à la mise en ligne automatique, à l'exception de celles marquées explicitement avec la directive #pragma noinline. Les deux contrôles suivants définissent les limites de seuil :

Taille maximale d'une fonction mise en ligne
Spécifie la taille maximale d'une fonction candidate à la mise en ligne automatique. Le module de mise en ligne mesure la taille en Unités de code abstrait, proportionnelles en taille au code exécutable de la fonction. Vous pouvez sélectionner l'une des valeurs suivantes dans cette zone :

*CMDDFT
Utilise la taille maximale actuellement définie par défaut sur votre système.

250
Spécifie une taille de seuil de 250.

*NOLIMIT
Définit le seuil comme étant la taille maximale du programme.

1-65535
Spécifie une taille de seuil de 1 à 65535.

Taille maximale d'une fonction
Spécifie la taille maximale relative que peut atteindre une fonction avant que la mise en ligne automatique ne s'arrête.

*CMDDFT
Utilise la limite de taille maximale actuellement définie par défaut sur votre système.

*NOLIMIT
Définit la limite comme étant la taille maximale du programme. Les limites du système peuvent être rencontrées.

2000
Spécifie une limite de taille de 2000.

1-65535
Spécifie une limite de taille de 1 à 65535.

Rapport du module de mise en ligne
Si cette case est cochée, le module de mise en ligne génère un rapport.

*CMDDFT
Un rapport du module de mise en ligne est généré en fonction de la configuration du module de mise en ligne définie actuellement par défaut sur votre système.

*NO
Aucun rapport de module de mise en ligne n'est généré.

*YES
Un rapport du module de mise en ligne est généré.
Remarque :
Pour afficher le rapport du module de mise en ligne, vous devez également indiquer au compilateur de générer une liste de compilation. Pour cela, cochez la case Options de liste source sur le panneau Liste des options de compilation.