Perbezaan antara JIT dan jurubahasa

Perbezaan antara JIT dan jurubahasa

JIT vs. Jurubahasa

Kompilasi Just In Time (juga dikenali sebagai Terjemahan Dinamik atau JIT) adalah teknik yang digunakan dalam pengkomputeran untuk meningkatkan kualiti prestasi runtime program komputer. Ia adalah penggabungan dua idea yang terdapat dalam persekitaran runtime: kompilasi bytecode dan kompilasi dinamik (yang merupakan proses yang digunakan oleh beberapa pelaksanaan bahasa pengaturcaraan untuk mendapatkan prestasi sementara sistem sedang melaksanakan tindakan).

Jurubahasa paling tepat menerangkan pelaksanaan tindakan melalui program komputer. Terdapat beberapa variasi mengenai jenis tindakan yang sebenarnya dijalankan: ia secara langsung melaksanakan kod sumber program; Ia menerjemahkan kod sumber ke dalam perwakilan yang merupakan perwakilan pertengahan yang cekap, dan kemudian melaksanakan kod tersebut; Ia melaksanakan kod precompiled yang telah disimpan dan dicipta oleh pengkompil yang merupakan sebahagian daripada sistem penterjemah.

JIT mempunyai keupayaan untuk menggabungkan kelebihan yang terdapat dalam tafsiran dan statik (iaitu lebih awal daripada masa) Penyusunan. Sebagai penterjemah, JIT dapat meningkatkan prestasi melalui hasil caching blok kod yang telah diterjemahkan - berbanding dengan hanya menilai semula setiap baris atau operan dalam kod setiap kali ia berlaku (seperti dalam bahasa yang ditafsirkan). Sama seperti kod penyusunan statik pada masa pembangunan, JIT dapat mengkompilasi semula kod jika ini dijumpai sebagai pelan tindakan yang paling menguntungkan. Juga, dalam urat yang sama dengan kompilasi statik, JIT mampu menguatkuasakan jaminan keselamatan.

Sama seperti penyusun, jurubahasa mempunyai keupayaan untuk menterjemahkan kod. Kedua -duanya adalah kaedah utama untuk melaksanakan bahasa pengaturcaraan; Walau bagaimanapun, kategori 'pengkompil' atau 'penterjemah' tidak berbeza (untuk peranan dua mereka sebagai penterjemah kod). Kelemahan yang paling jelas untuk menggunakan jurubahasa ialah apabila kod itu ditafsirkan, program ini tidak dapat dielakkan dijalankan lebih perlahan daripada apabila hanya menyusun kod; Walau bagaimanapun, ia mengambil masa yang lebih sedikit untuk mentafsir pengekodan daripada yang dilakukan untuk menyusun dan menjalankannya (terutamanya berkaitan apabila kod prototaip dan ujian).

Secara umumnya, JIT memberikan prestasi yang jauh lebih baik daripada jurubahasa, dan, dalam banyak kes, memberikan prestasi yang lebih baik daripada penyusun statik. Keunggulannya terhadap JIT, bagaimanapun, tidak menghalangnya daripada mempunyai beberapa kelemahan utama: terdapat sedikit kelewatan ketika pada mulanya melaksanakan aplikasi (kesan sampingan untuk mengambil masa untuk memuat dan menyusun bytecode). Ia akhirnya akan menghasilkan pengekodan yang lebih baik; Walau bagaimanapun, kelewatan awal yang wujud dalam berbuat demikian akan meningkat dengan kualiti pengekodan.

Ringkasan:

1. JIT adalah teknik yang digunakan untuk meningkatkan kualiti prestasi runtime dalam persekitaran runtime; Seorang jurubahasa mentakrifkan pelaksanaan tindakan melalui program komputer.

2. JIT menggabungkan kelebihan tafsiran dan kompilasi statik; Seorang jurubahasa boleh menterjemahkan kod seperti pengkompil, tetapi menjejaskan kelajuan program.