Unterschied zwischen JIT und Dolmetscher

Unterschied zwischen JIT und Dolmetscher

Jit vs. Dolmetscher

Die gerade zeitliche Zusammenstellung (auch als dynamische Übersetzung oder JIT bezeichnet) ist eine Technik, die zum Computer verwendet wird, um die Qualität der Laufzeitleistung eines Computerprogramms zu verbessern. Es ist die Verschmelzung von zwei Ideen, die in Laufzeitumgebungen zu finden sind: Bytecode -Kompilierung und dynamische Zusammenstellung (ein Prozess, den einige Programmiersprache -Implementierungen verwenden, um Leistung zu erzielen, während ein System eine Aktion ausführt).

Ein Dolmetscher beschreibt die Ausführung einer Aktion über ein Computerprogramm am genauesten. Es gibt einige Variationen der Art der Aktionen, die ein Interpreter tatsächlich ausführt: Es führt direkt den Quellcode eines Programms aus; Es übersetzt den Quellcode in eine Darstellung, die eine effiziente Zwischendarstellung darstellt, und führt dann den genannten Code aus. Es führt einen vorkompilierten Code aus, der von einem Compiler gespeichert und erstellt wurde, der Teil des Interpreter -Systems ist.

JIT hat die Fähigkeit, die Vorteile zu kombinieren, die sowohl in der Interpretation als auch in der statischen Zusammenstellung vorliegen (dh im Voraus),. Als Dolmetscher kann JIT die Leistung durch das Zwischenspeichern von Codeblöcken, die übersetzt wurden, verbessern - im Vergleich zur einfachen Neubewertung jeder Zeile oder jeder Operanden im Code jedes Mal, wenn er auftritt (wie in der interpretierten Sprache). Genau wie der statische Kompiliercode zum Zeitpunkt der Entwicklung kann JIT den Code neu kompilieren, wenn sich herausstellt, dass dies der vorteilhafteste Aktionsplan ist. Auch in gleicher Weise wie statische Zusammenstellung kann JIT Sicherheitsgarantien durchsetzen.

Genau wie Compiler haben Dolmetscher die Fähigkeit, Code zu übersetzen. Beide sind die Hauptmethoden zur Implementierung von Programmiersprachen. Die Kategorien von "Compiler" oder "Dolmetscher" sind jedoch nicht unterschiedlich (für ihre doppelten Rollen als Codeübersetzer). Der offensichtlichste Nachteil bei der Verwendung eines Dolmetschers ist, dass das Programm nach der Auslegung des Codes unvermeidlich langsamer wird als beim einfachen Kompilieren des Codes. Es dauert jedoch viel weniger Zeit, um die Codierung zu interpretieren, als es zu kompilieren und auszuführen (besonders relevant beim Prototyping und Testcode).

Im Allgemeinen bietet JIT eine viel bessere Leistung als Dolmetscher und bietet in vielen Fällen eine viel bessere Leistung als statische Compiler. Seine Überlegenheit gegenüber JIT hat es jedoch nicht von einigen schwerwiegenden Nachteilen ausgesetzt: Es gibt eine leichte Verzögerung bei der ursprünglichen Ausführung einer Anwendung (ein Nebeneffekt, um Bytecode zu laden und zu kompilieren). Es wird irgendwann eine bessere Codierung erzeugen; Die anfängliche Verzögerung, die dabei inhärent ist.

Zusammenfassung:

1. JIT ist eine Technik, die zur Verbesserung der Qualität der Laufzeit in einer Laufzeitumgebung verwendet wird. Ein Dolmetscher definiert die Ausführung einer Aktion über ein Computerprogramm.

2. JIT kombiniert die Vorteile von Interpretation und statischer Zusammenstellung; Ein Interpreter kann Code wie ein Compiler übersetzen, aber zum Nachteil der Geschwindigkeit des Programms.