Différence entre JIT et interprète

Différence entre JIT et interprète

Jit vs. Interprète

La compilation juste dans le temps (également connue sous le nom de traduction dynamique ou JIT) est une technique utilisée dans l'informatique pour améliorer la qualité des performances d'exécution d'un programme informatique. C'est la fusion de deux idées trouvées dans les environnements d'exécution: compilation bytecode et compilation dynamique (qui est un processus que certaines implémentations de langage de programmation utilisent afin d'obtenir des performances pendant qu'un système exécute une action).

Un interprète décrit le plus précisément l'exécution d'une action via un programme informatique. Il existe quelques variations sur le type d'actions qu'un interprète exécute réellement: il exécute directement le code source d'un programme; Il traduit le code source en une représentation qui est une représentation intermédiaire efficace, puis exécute ledit code; Il exécute du code précompilé qui a été stocké et créé par un compilateur qui fait partie du système d'interprète.

JIT a la capacité de combiner les avantages trouvés à la fois dans l'interprétation et la compilation statique (c'est-à-dire à l'avance). En tant qu'interprète, JIT est en mesure d'améliorer les performances grâce à la mise en cache des résultats des blocs de code qui a été traduit - par rapport à simplement réévaluer chaque ligne ou opérande dans le code à chaque fois qu'il se produit (comme dans le langage interprété). Tout comme le code de compilation statique au moment du développement, JIT est capable de recompiler le code si cela se révèle être le plan d'action le plus avantageux. De plus, dans la même veine que la compilation statique, JIT est capable d'appliquer des garanties de sécurité.

Tout comme les compilateurs, les interprètes ont la capacité de traduire le code. Les deux sont les principales méthodes de mise en œuvre des langages de programmation; Cependant, les catégories de «compilateur» ou «interprète» ne sont pas distinctes (pour leurs deux rôles de traducteurs de code). L'inconvénient le plus évident pour l'utilisation d'un interprète est qu'une fois le code interprété, le programme s'exécutera inévitablement plus lentement que lors de la simple compilation du code; Cependant, il faut beaucoup moins de temps pour interpréter le codage que pour le compiler et l'exécuter (particulièrement pertinent lors du prototypage et du code de test).

De manière générale, JIT offre de bien meilleures performances que les interprètes et, dans de nombreux cas, offre des performances bien meilleures que les compilateurs statiques. Sa supériorité sur JIT, cependant, ne l'empêche pas d'avoir des inconvénients majeurs: il y a un léger retard lors de l'exécution initiale d'une application (un effet secondaire de prendre le temps de charger et de compiler les bytecode). Il finira par générer un meilleur codage; Cependant, le retard initial inhérent à cela augmentera avec la qualité du codage.

Résumé:

1. JIT est une technique utilisée pour améliorer la qualité des performances de l'exécution dans un environnement d'exécution; Un interprète définit l'exécution d'une action via un programme informatique.

2. JIT combine les avantages de l'interprétation et de la compilation statique; Un interprète peut traduire le code comme un compilateur, mais au détriment de la vitesse du programme.