> Tech > IPA, commande CRTPGM ou CRTSRVPGM

IPA, commande CRTPGM ou CRTSRVPGM

Tech - Par Renaud ROSSET - Publié le 13 octobre 2014
email

Pour permettre l’analyse de programmes complète par IPA, il faut compiler chacun des modules en utilisant un paramètre spécial : MODCRTOPT(*KEEPILDTA), qui ordonne au système de stocker une représentation de haut niveau, spéciale, du code de votre module avec l’objet module.

IPA, commande CRTPGM ou CRTSRVPGM

IPA

Le niveau d’optimisation doit être au moins de 20. Mais si vous voulez un maximum de performance, allez donc jusqu’à 40 !

Demandez au moment du liage que IPA s’applique à votre programme ou programme de service. Pour cela, spécifiez IPA(*YES) sur la commande CRTPGM ou CRTSRVPGM. Vous pouvez en plus affiner certaines des optimisations effectuées par IPA en spécifiant un fichier de contrôle 1PA sur la commande. Beaucoup d’options complexes permettent cela. Pour plus d’informations, voir le manuel ILE Concepts.

IPA active

Avec IPA active, les temps de liage s’allongent considérablement. C’est normal, compte tenu de tout ce qui se déroule en parallèle. Tout d’abord, la représentation de haut niveau de tous vos modules est scannée et analysée pour déceler les opportunités. Ensuite, IPA partitionne à nouveau le code et réagence les procédures dans différents modules afin que les procédures qui s’appellent entre elles se trouvent souvent dans le même module. Enfin, IPA procède à quelques optimisations de haut niveau sur ces nouveaux modules avant de les confier au traducteur optimisant pour effectuer toutes les optimisations classiques.

IPA & DSPPGM

IPA présente un autre inconvénient. Si vous utilisez DSPPGM pour examiner un programme analysé, la liste des modules ne sera plus reconnaissable. En effet, comme IPA réagence les procédures à sa guise en prenant certaines libertés, il attribue automatiquement les noms générés à chacun des modules résultants. Par conséquent, vous ne pouvez pas remplacer un module unique dans un programme écrit avec l’aide de IPA. Les procédures de votre module ont probablement été disséminées parmi plusieurs nouveaux modules dans le programme final. Donc, si vous trouvez un bogue dans le programme, il vous faudra lier à nouveau celui-ci après l’avoir corrigé.

IPA n’est pas toujours le bon outil pour votre application. Mais quand elle l’est, elle améliore nettement les performances.

Téléchargez cette ressource

Préparer l’entreprise aux technologies interconnectées

Préparer l’entreprise aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Tech - Par Renaud ROSSET - Publié le 13 octobre 2014