je crois qu'il y a plusieurs points à éclaircir dans ton esprit :
- Il y a différents paradigmes de langages : langages compilés (le code produit est directement des instructions machine), langages interprétés (le "code" est un texte interprétré au runtime).
- la compilation du code d'un langage compilé peut se passer avec des bilbiothèques statiques (auquel cas le code de la bibliothèque est recopié dans le binaire du programme), ou des bibliothèques dynamiques (auquel cas c'est l'adresse de la fonction de la bibliothèque qui est copiée dans le binaire).
Donc , dans le cas d'un langage compilé, avec des bibliothèques statiques, le code binaire en ressortant est une série pure d'instructions machine, qui se déroulent les unes après les autres. Quand on le lance (runtime), on ne fait appel qu'aux primitives système.
Si donc il y a une différence d'exécution, cela est dû uniquement au système (mémoire, vitesse des disques, du bus, taille du swap, etc etc..).
Dans le cas d'un langage compilé avec usage de bibliothèques dynamiques, il peut en plus y avoir l'influence de l'implantation de cette bibliothèque au runtime.
Dans le cas des langages interprétés, cela dépend entièrement de l'implantation et des ressources (mémoire, et etc..) au runtime.
Partager