Article de reference

Longueur du chemin d'instruction

En informatique , la longueur du chemin d'exécution correspond au nombre d' instructions machine nécessaires à l'exécution d'une section d'un programme informatique . La longueu...

En informatique , la longueur du chemin d'exécution correspond au nombre d' instructions machine nécessaires à l'exécution d'une section d'un programme informatique . La longueur totale du chemin d'exécution pour l'ensemble du programme peut être considérée comme une mesure de la performance de l' algorithme sur un matériel informatique donné . Le temps d'exécution de chaque instruction n'est généralement pas pris en compte dans le calcul de la longueur du chemin ; celle-ci n'est donc qu'une indication de performance relative et non absolue.

Lors de l'exécution d'un programme de test de performance , la majeure partie du chemin d'instructions se trouve généralement à l'intérieur de la boucle interne du programme .

Avant l'introduction des caches , la longueur du chemin était une approximation du temps d'exécution, mais dans les processeurs modernes avec caches, il peut s'agir d'une approximation bien pire, certaines instructions de chargement prenant des centaines de cycles lorsque les données ne sont pas dans le cache, ou des ordres de grandeur plus rapides lorsqu'elles sont dans le cache (même la même instruction dans un autre tour de boucle).

Programmes d'assemblage

Puisqu'il existe généralement une correspondance biunivoque entre les instructions assembleur et les instructions machine, la longueur du chemin d'instructions est souvent définie comme le nombre d'instructions assembleur nécessaires à l'exécution d'une fonction ou d'une section de code particulière. Une simple recherche dans une table non triée de 1 000 entrées peut nécessiter environ 2 000 instructions machine (en moyenne, en supposant une distribution uniforme des valeurs d'entrée), tandis que la même recherche dans une liste triée , à l'aide d'un algorithme de recherche dichotomique, ne requiert qu'une quarantaine d'instructions machine, soit une économie considérable. Exprimée en termes de longueur du chemin d'instructions, cette mesure serait réduite d'un facteur 50 dans ce cas précis ; c'est pourquoi le temps d'exécution réel des instructions peut être un critère secondaire par rapport au choix d'un algorithme privilégiant un chemin d'instructions plus court.

La longueur du chemin d'instructions d'un programme en langage assembleur est généralement très différente du nombre de lignes de code source de ce programme, car la longueur du chemin d'instructions n'inclut que le code du flux de contrôle exécuté pour l'entrée donnée et n'inclut pas le code qui n'est pas pertinent pour l'entrée particulière, ou le code inaccessible .

Programmes de langage de haut niveau (HLL)

Puisqu'une instruction écrite dans un langage de haut niveau peut générer plusieurs instructions machine en nombre variable, il n'est pas toujours possible de déterminer la longueur du chemin d'exécution sans, par exemple, un simulateur de jeu d'instructions capable de compter le nombre d'instructions exécutées lors de la simulation. Si le langage de haut niveau prend en charge et génère éventuellement une liste d'assemblage, il est parfois possible d'estimer la longueur du chemin d'exécution en examinant cette liste.

Facteurs déterminant la longueur du chemin d'instruction

Utilisation des longueurs des chemins d'instructions

Il ressort de ce qui précède que la connaissance de la longueur des chemins d'instruction peut être utilisée :

  • choisir un algorithme approprié pour minimiser la longueur totale des chemins d'exécution des programmes dans n'importe quel langage
  • surveiller le niveau d' optimisation d'un programme dans n'importe quel langage
  • déterminer l'efficacité de certaines instructions HLL pour un langage HLL donné
  • comme mesure approximative des performances globales de l'ordinateur

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index