Perbedaan antara JIT dan penerjemah

Perbedaan antara JIT dan penerjemah

Jit vs. Penerjemah

Kompilasi Just in Time (juga dikenal sebagai Dynamic Translation atau JIT) adalah teknik yang digunakan dalam komputasi untuk meningkatkan kualitas kinerja runtime dari program komputer. Ini adalah penggabungan dari dua ide yang ditemukan di lingkungan runtime: kompilasi bytecode dan kompilasi dinamis (yang merupakan proses yang digunakan oleh beberapa implementasi bahasa pemrograman untuk mendapatkan kinerja saat sistem melakukan tindakan).

Seorang juru bahasa paling akurat menggambarkan pelaksanaan tindakan melalui program komputer. Ada beberapa variasi pada jenis tindakan yang benar -benar dieksekusi oleh seorang interpreter: itu secara langsung menjalankan kode sumber suatu program; Ini menerjemahkan kode sumber ke dalam representasi yang merupakan representasi perantara yang efisien, dan kemudian menjalankan kode tersebut; itu mengeksekusi kode prakom yang telah disimpan dan dibuat oleh kompiler yang merupakan bagian dari sistem interpreter.

JIT memiliki kemampuan untuk menggabungkan keunggulan yang ditemukan baik dalam interpretasi dan kompilasi statis (yaitu sebelumnya). Sebagai seorang penerjemah, JIT mampu meningkatkan kinerja melalui caching hasil blok kode yang telah diterjemahkan - dibandingkan dengan hanya mengevaluasi ulang setiap baris atau operan dalam kode setiap kali itu terjadi (seperti dalam bahasa yang diartikan). Sama seperti kode kompilasi statis pada saat pengembangan, JIT dapat mengkompilasi ulang kode jika ini ditemukan sebagai rencana tindakan yang paling menguntungkan. Juga, dalam nada yang sama dengan kompilasi statis, JIT mampu menegakkan jaminan keamanan.

Sama seperti kompiler, penerjemah memiliki kapasitas untuk menerjemahkan kode. Keduanya adalah metode utama menerapkan bahasa pemrograman; Namun, kategori 'kompiler' atau 'penerjemah' tidak berbeda (untuk peran ganda sebagai penerjemah kode). Kerugian yang paling jelas untuk menggunakan juru bahasa adalah bahwa begitu kode ditafsirkan, program pasti akan berjalan lebih lambat daripada ketika hanya menyusun kode; Namun, dibutuhkan lebih sedikit waktu untuk menafsirkan pengkodean daripada yang dikompilasi dan menjalankannya (terutama berkaitan saat membuat kode dan menguji kode).

Secara umum, JIT memberikan kinerja yang jauh lebih baik daripada penerjemah, dan, dalam banyak kasus, memberikan kinerja yang jauh lebih baik daripada kompiler statis. Keunggulannya atas JIT, bagaimanapun, tidak menghalangi itu dari memiliki beberapa kelemahan besar: ada sedikit penundaan ketika awalnya menjalankan aplikasi (efek samping dari meluangkan waktu untuk memuat dan menyusun bytecode). Pada akhirnya akan menghasilkan pengkodean yang lebih baik; Namun, keterlambatan awal yang melekat pada hal itu akan meningkat dengan kualitas pengkodean.

Ringkasan:

1. JIT adalah teknik yang digunakan untuk meningkatkan kualitas kinerja runtime di lingkungan runtime; seorang penerjemah mendefinisikan pelaksanaan suatu tindakan melalui program komputer.

2. JIT menggabungkan keunggulan interpretasi dan kompilasi statis; seorang penerjemah dapat menerjemahkan kode seperti kompiler, tetapi merugikan kecepatan program.