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

L’automatisation au moyen de ARGOPT(*YES)

Tech - Par Renaud ROSSET - 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)

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 cette ressource

Cybersécurité des collectivités : Enjeux, Perspectives & Solutions

Cybersécurité des collectivités : Enjeux, Perspectives & Solutions

Villes, intercommunalités, métropoles, départements et régions sont particulièrement exposés aux risques de cybersécurité. Ce livre blanc Stormshield présente les défis cyber que rencontrent les collectivités, les solutions et perspectives pour qu’elles puissent assurer leur mission d’utilité publique, en toute sécurité.

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