> Tech > L’automatisation au moyen de ARGOPT(*YES)

L’automatisation au moyen de ARGOPT(*YES)

Tech - Par iTPro - Publié le 13 octobre 2014
email

Dans la version 6.1, IBM proposait un nouveau choix aux développeurs désireux d’utiliser l’optimisation d’arguments.

L’automatisation au moyen de ARGOPT(*YES)

Au lieu de disséminer des directives #pragma dans votre code, vous pouvez simplement préciser, au moment du liage, votre souhait de voir l’optimisation d’arguments utilisée à chaque occasion. Pour cela, ajoutez simplement ARGOPT(*YES) à la commande CRTPGM ou CRTSRVPGM, et tout votre programme sera passé au crible pour détecter les occasions d’utiliser l’optimisation d’arguments.

C’est bien plus facile, non ? Et comme cette méthode ne demande aucun changement du code source, elle vaut pour tout votre code ILE, pas seulement sur C et C++. Ce pourrait être votre solution favorite dans la plupart des cas.

Sachez toutefois qu’elle présente quelques inconvénients. Tout d’abord, le liage du programme prendra plus de temps. Quand vous spécifiez ARGOPT(*YES), les appels de procédure dans les modules de tous vos programmes doivent être analysés. Et, s’il y a des occasions d’optimisation d’arguments dans un module, celui-ci sera re-traité dans le but de changer les références aux pointeurs d’espace en références aux adresses d’espace. Comme pour le profilage de programmes, vous devriez opter pour l’usage de ARGOPT(*YES)ARGOPT(*YES) plus tard dans le cycle de développement, une fois que l’application est stable.
L’analyse automatique a aussi quelques limites. Vous ne pouvez pas être sûr que l’analyseur détecte tous les appels vers les procédures qui peuvent être appelées indirectement par des pointeurs de procédures. De tels appels incluent  des appels de méthodes virtuelles en C++. S’il y a des appels de procédures indirects dans vos programmes, vous pouvez encore utiliser ARGOPT(*YES) pour faire le gros du travail, mais il faudra ajouter des directives #pragma argopt pour appliquer tout le bénéfice aux appels indirects.

Enfin, ARGOPT(*YES) n’est disponible qu’à partir de la version 6.1. Avec une version antérieure, #pragma argopt est la seule possibilité.

Téléchargez gratuitement cette ressource

TOP 5 Modernisation & Sécurité des Postes Clients

TOP 5 Modernisation & Sécurité des Postes Clients

Pour aider les entreprises à allier les restrictions liées à la crise et la nécessaire modernisation de leurs outils pour gagner en réactivité, souplesse et sécurité, DIB-France lance une nouvelle offre « Cloud-In-One » combinant simplement IaaS et DaaS dans le Cloud, de façon augmentée.

Tech - Par iTPro - Publié le 13 octobre 2014