> Tech > LICOPT les options de code interne sous licence

LICOPT les options de code interne sous licence

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

Si vous voulez contrôler finement l'optimisation de vos applications, tournez-vous vers les options de code interne sous licence (Licensed Internal Code Options, LICOPT).

LICOPT les options de code interne sous licence

Si vous voulez contrôler finement l’optimisation de vos applications, tournez-vous vers les options de code interne sous licence (Licensed Internal Code Options, LICOPT).

Il est vrai que ces options ne sont pas toujours très claires et ne sont utiles qu’en de rares circonstances. Mais si vous essayez de tirer la quintessence des applications, vos efforts seront récompensés avec cette technique.

LICOPT

Les LICOPT vous permettent d’optimiser le traducteur pour activer, désactiver, restreindre ou régler un genre bien précis d’optimisation de code. Par exemple, certaines optimisations accélèrent l’exécution du code en en dupliquant une certaine partie pour agrandir son empreinte. Si vous tenez absolument à garder une petite empreinte de code, vous pouvez spécifier Compact LICOPT pour désactiver les optimisations qui sacrifient l’espace à la vitesse.

Les LICOPT peuvent être spécifiés sur presque toutes les commandes ILE CRT* et CHG*à l’aide du paramètre  LICOPT. Les LICOPT sont spécifiés comme une liste d’options séparées par des virgules, entre guillemets simples, comme ceci :

CRTCMOD MODULE(applib/mymod)
  LICOPT(‘Compact,FoldFloat,CodeGenTarget=Common’)

Cet exemple indique que les options suivantes s’appliqueront à ce module :

•    Génération de code compact (comme on vient de le voir)
•    Calcul d’expressions à virgule flottante comme 0,5 * 1,2 lors de la compilation
•    Génération de code destiné à tous les processeurs reconnus par la version courante

Quand vous spécifiez des LICOPT sur l’une des commandes CHG*, vous pouvez soit accepter le choix par défaut de remplacer la liste des LICOPT existante, soit choisir d’ajouter à cette liste. Dans ce cas, utilisez le mot-clé *ADD, comme ceci :

CHGPGM PGM(applib/mypgm)
   LICOPT(‘LoopUnrolling=0’, *ADD)

Ce code spécifie deux choses : que toutes les LICOPT existantes doivent rester en vigueur, et que l’optimisation de loop unrolling doit être désactivée. Vous trouverez la liste complète des LICOPT au chapitre 13 du manuel ILE Concepts.

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 d'experts et témoignages clients et ainsi, retrouvez les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et collaboration, Impression et capture et Infrastructure.

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