J'ai fait des recherches sur les interprètes / compilateurs, puis je suis tombé sur JIT-Compilation - en particulier le moteur Javascript V8 de Google Chrome.
Ma question est -
- Comment peut-il être plus rapide que l'interprétation standard?
- Pourquoi n'a pas été JIT Compilation utilisé en premier lieu?
Ma compréhension actuelle
Chaque programme Javascript commence en tant que code source , puis, quelle que soit la méthode d'exécution, est finalement traduit en code machine .
La compilation JIT et l' interprétation doivent suivre ce chemin, alors comment la compilation JIT peut-elle être plus rapide (également parce que JIT est limité dans le temps, contrairement à la compilation AOT)?Il semble que JIT-compilation est une innovation relativement ancien , basé sur de Wikipédia JIT Compilation article .
« Le compilateur JIT publiés plus tôt est généralement attribuée à travailler sur LISP par McCarthy 1960 ».
"Smalltalk (c. 1983 ) a ouvert la voie à de nouveaux aspects des compilations JIT. Par exemple, la traduction en code machine a été effectuée à la demande, et le résultat a été mis en cache pour une utilisation ultérieure. Lorsque la mémoire devenait rare, le système supprimait une partie de ce code et régénérait quand il était à nouveau nécessaire. "
Alors pourquoi Javascript a-t-il été interprété pour commencer ?
Je suis très confus et j'ai fait beaucoup de recherches à ce sujet, mais je n'ai pas trouvé de réponses satisfaisantes.
Des réponses si claires et concises seraient appréciées. Et si des explications supplémentaires sur les interprètes, les compilateurs JIT, etc. doivent être apportées, cela est également apprécié.