Les optimisations vues jusqu'à présent, bénéficient à tous les genres de programmes.
Optimisation d’arguments
Tandis que celle-ci, l’optimisation d’arguments, vise une performance bien précise : le coût du passage des pointeurs d’espace entre des procédures.
Optimisation d’arguments
Pour justifier l’optimisation d’arguments, nous devons comprendre la différence entre le pointeur d’espace et les adresses d’espace. Tous deux contiennent l’adresse de données quelque part dans le stockage. Vous pouvez considérer une adresse d’espace comme simplement l’adresse brute des données, tandis qu’un pointeur d’espace contient aussi des informations d’intégrité.
Les programmeurs ILE n’ont le droit d’accéder directement qu’aux pointeurs d’espace, pas aux adresses d’espace. Cela, pour éviter qu’ils n’accèdent, par inadvertance ou malveillance, à des données sur lesquelles ils n’ont pas de droits. Et aussi pour s’assurer que les pointeurs d’espace ne servent qu’à accéder aux données et ne sont pas faussement considérés comme des pointeurs vers du code ou des objets système.
Cependant, cette intégrité système a un léger coût. Un pointeur d’espace est plus grand qu’une adresse d’espace : contrairement au premier, la seconde tient dans un registre matériel. Ce point est intéressant quand des pointeurs sont passés d’une procédure à une autre ou sont renvoyés d’une procédure à une autre. Un pointeur d’espace doit être passé en mémoire, mais une adresse d’espace sera passée plus efficacement dans des registres.
La syntaxe qui décrit les pointeurs d’espace varie d’un langage ILE à un autre. En C ou en C++, ce sont des pointeurs traditionnels, vers des données d’un type quelconque. Par exemple : int* et char*. En RPG, les pointeurs d’espace sont appelés pointeurs de base (basing pointers), et sont signalés par un astérisque dans la colonne Internal Data Type de la D spec. En COBOL, les pointeurs d’espace sont décrits par la clause USAGE POINTER.
Le terme “procédure” a aussi des noms différents dans chaque langage. En C ou C++, le mot désigne génériquement toute procédure, fonction, ou méthode. En RPG, il désigne les sous- procédures. Le concept de procédure n’existe pas en COBOL, même si des programmes COBOL peuvent invoquer des procédures dans d’autres langages ILE en utilisant l’instruction CALL.
Téléchargez cette ressource
Sécuriser votre système d’impression
Longtemps sous-estimée, la sécurisation d’un système d’impression d’entreprise doit être pleinement prise en compte afin de limiter le risque de fuite d’informations sensibles. Voici les 3 principales précautions à prendre.