Just-in-time compiler là gì?

Noun Programming
JIT

Để hiểu rõ thuật ngữ này nên hiểu các thuật ngữ bytecode, complier, interpreter, runtime. Trình biên dịch just-in-time (just-in-time compiler) là một chương trình biến bytecode thành các lệnh có thể được gửi trực tiếp đến bộ xử lý của máy tính (CPU). Các trình biên dịch just-in-time (just-in-time compiler) có thể được sử dụng để tối ưu hóa hiệu suất nhằm cải thiện thời gian chạy ứng dụng.

Trái ngược với các loại trình biên dịch khác sẽ biên dịch tất cả code sang ngôn ngữ máy (machine language) trước khi chương trình bắt đầu chạy, trình biên dịch just-in-time (just-in-time compile) chạy sau khi chương trình khởi động và sau đó mới biên dịch code.

Bytecode là một tính năng quan trọng trong các ứng dụng giúp thực thi đa nền tảng. Ngoài ra, bytecode phải được thông dịch sang ngôn ngữ mà CPU có thể hiểu (ngôn ngữ máy). Tuy nhiên, cách mã bytecode đó được thông dịch sang ngôn ngữ máy (machine code) có thể có tác động lớn đến tốc độ và hiệu suất của ứng dụng. Tại sao lại tác động hiệu suất là vì giả sử nếu như một hàm (function) được thực thi nhiều lần thì trình thông dịch (interprete) phải thông dịch cùng một hàm nhiều lần, thay vào đó chúng ta sẽ biên dịch hàm này bằng trình biên dịch just-in-time (just-in-time compiler) để lần sau không cần thông dịch lại.

Learning English Everyday