Ich habe nach Dolmetschern / Compilern gesucht und bin dann auf JIT-Compilation gestoßen - speziell auf die V8 Javascript Engine von Google Chrome.
Meine Fragen sind -
- Wie kann es schneller sein als die Standardinterpretation?
- Warum wurde JIT-Compilation überhaupt nicht verwendet?
Mein aktuelles Verständnis
Jedes Javascript-Programm startet als Quellcode und wird dann, unabhängig von der Ausführungsmethode, letztendlich in Maschinencode übersetzt .
Sowohl die JIT-Kompilierung als auch die Interpretation müssen diesem Pfad folgen. Wie kann die JIT-Kompilierung also schneller sein (auch weil die JIT im Gegensatz zur AOT-Kompilierung zeitlich begrenzt ist)?JIT-Compilation scheint eine relativ alte Innovation zu sein , die auf dem JIT-Compilation-Artikel von Wikipedia basiert .
"Der früheste veröffentlichte JIT-Compiler wird in der Regel 1960 von McCarthy auf LISP zurückgeführt ."
"Smalltalk (ca. 1983 ) war ein Pionier bei neuen Aspekten der JIT-Kompilierung. Beispielsweise wurde die Übersetzung in Maschinencode auf Anforderung durchgeführt und das Ergebnis für die spätere Verwendung zwischengespeichert. Wenn der Speicher knapp wurde, löschte das System einen Teil dieses Codes und regenerierte ihn es, wenn es wieder gebraucht wurde. "
Warum also wurde Javascript Ausgelegt mit zu beginnen ?
Ich bin sehr verwirrt und habe viel recherchiert, aber keine zufriedenstellenden Antworten gefunden.
Wir würden uns über klare, prägnante Antworten freuen. Und wenn zusätzliche Erklärungen zu Dolmetschern, JIT-Compilern usw. eingeholt werden müssen, ist dies ebenfalls willkommen.