인터프리터 / 컴파일러를 연구 한 후 JIT 컴파일, 특히 Chrome의 V8 Javascript 엔진을 우연히 발견했습니다.
내 질문은-
- 표준 통역보다 어떻게 더 빠를 수 있습니까?
- JIT 컴파일이 왜 처음에는 사용되지 않았습니까?
나의 현재 이해
모든 Javascript 프로그램은 소스 코드 로 시작하여 실행 방법에 관계없이 궁극적으로 기계 코드 로 변환됩니다 . JIT 컴파일 과 해석
모두이 경로를 따라야하므로 어떻게 JIT 컴파일이 더 빨라질 수 있습니까 (JOT가 AOT 컴파일과 달리 시간 제약이 있기 때문에)?JIT-Compilation은 Wikipedia의 JIT-Compilation Article에 기반한 비교적 오래된 혁신으로 보입니다 .
"초기 출판 된 JIT 컴파일러는 일반적으로 1960 년 McCarthy에 의해 LISP에서 작동하는 데 기인합니다 ."
"Smalltalk (c. 1983 )는 JIT 컴파일의 새로운 측면을 개척했습니다. 예를 들어, 기계 코드로의 변환은 요청에 따라 수행되었으며 결과는 나중에 사용하기 위해 캐시되었습니다. 메모리가 부족하면 시스템은이 코드 중 일부를 삭제하고 재생성합니다. "다시 필요할 때"
그렇다면 왜 Javascript가 처음 부터 해석 되었습니까?
나는 매우 혼란스러워서 이것에 대해 많은 연구를 해왔지만 만족스러운 답변을 찾지 못했습니다.
명확하고 간결한 답변을 부탁드립니다. 그리고 통역사, JIT 컴파일러 등에 대한 추가 설명이 필요하다면 감사하겠습니다.