Différence entre JIT et interprète

JIT vs. Interpreter

La compilation Just In Time (également appelée traduction dynamique ou JIT) est une technique utilisée en informatique pour améliorer la qualité des performances d'exécution d'un programme informatique. Il s'agit de la fusion de deux idées trouvées dans les environnements d'exécution: la compilation par code intermédiaire et la compilation dynamique (processus utilisé par certaines implémentations de langages de programmation pour gagner en performance lorsqu'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éteur 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 le code précompilé qui a été stocké et créé par un compilateur faisant partie du système interpréteur.

JIT a la capacité de combiner les avantages trouvés à la fois en interprétation et en compilation statique (c'est-à-dire à l'avance). En tant qu'interprète, JIT peut améliorer les performances en mettant en cache les résultats de blocs de code traduits, par rapport à une simple réévaluation de chaque ligne ou opérande du code chaque fois qu'il se produit (comme dans un langage interprété). Tout comme le code de compilation statique au moment du développement, JIT est capable de recompiler le code s'il s'avère que c'est le plan d'action le plus avantageux. De même, 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 d '' interprète 'ne sont pas distinctes (pour leur double rôle en tant que traducteurs de code). L’inconvénient le plus évident lié à l’utilisation d’un interpréteur est qu’une fois le code interprété, le programme s’exécutera inévitablement plus lentement que lors de la compilation du code; cependant, il faut beaucoup moins de temps pour interpréter le codage que pour le compiler et le lancer (particulièrement utile lors du prototypage et du test de code)..

En règle générale, JIT offre de bien meilleures performances que les interprètes et, dans de nombreux cas, de bien meilleures performances que les compilateurs statiques. Sa supériorité par rapport à JIT ne l'empêche toutefois pas de présenter certains inconvénients majeurs: L'exécution initiale d'une application présente un léger retard (un effet secondaire de prendre du temps pour charger et compiler du bytecode). Cela finira par générer un meilleur codage; toutefois, le délai initial inhérent à cette opération augmentera avec la qualité du codage..

Résumé:

1. JIT est une technique utilisée pour améliorer la qualité des performances d'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 rapidité du programme.