> 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

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.

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