Tôi đã nghiên cứu Trình thông dịch / Trình biên dịch, sau đó tôi tình cờ tìm thấy Trình biên dịch JIT - cụ thể là Công cụ Javascript V8 của Google Chrome.
Câu hỏi của tôi là -
- Làm thế nào nó có thể nhanh hơn Giải thích tiêu chuẩn?
- Tại sao không phải là JIT-Compilation được sử dụng ở nơi đầu tiên?
Hiểu biết hiện tại của tôi
Mỗi chương trình Javascript bắt đầu dưới dạng mã nguồn , sau đó, bất kể phương thức thực hiện, cuối cùng được dịch sang mã máy .
Cả JIT-Compilation và Interpretation đều phải đi theo con đường này, vậy làm thế nào để JIT-Compilation có thể nhanh hơn (cũng bởi vì JIT bị hạn chế về thời gian, không giống như AOT-Compilation)?Có vẻ như JIT-Compilation là một sự đổi mới tương đối cũ , dựa trên Điều khoản tổng hợp JIT của Wikipedia .
"Trình biên dịch JIT được xuất bản sớm nhất thường được quy cho hoạt động trên LISP của McCarthy vào năm 1960. "
"Smalltalk (c. 1983 ) đã tiên phong trong các khía cạnh mới của các phần tổng hợp JIT. Ví dụ, dịch mã sang mã máy được thực hiện theo yêu cầu và kết quả được lưu vào bộ nhớ cache để sử dụng sau này. Khi bộ nhớ trở nên khan hiếm, hệ thống sẽ xóa một số mã này và tạo lại nó khi cần thiết một lần nữa. "
Vậy tại sao Javascript được giải thích để bắt đầu ?
Tôi rất bối rối, và tôi đã thực hiện rất nhiều nghiên cứu về vấn đề này, nhưng tôi chưa tìm thấy câu trả lời thỏa đáng.
Vì vậy, câu trả lời rõ ràng, súc tích sẽ được đánh giá cao. Và nếu cần giải thích thêm về Thông dịch viên, Trình biên dịch JIT, v.v., thì điều đó cũng được đánh giá cao.