JIT ve Tercüman Arasındaki Fark

JIT ve Tercüman

Just In Time derlemesi (dinamik çeviri veya JIT olarak da bilinir), bir bilgisayar programının çalışma zamanı performansının kalitesini artırmak için hesaplamada kullanılan bir tekniktir. Çalışma zamanı ortamlarında bulunan iki fikrin birleşimidir: Bayt kodu derlemesi ve dinamik derleme (bazı programlama dili uygulamalarının, bir sistem bir eylem yürütürken performans kazanmak için kullandığı bir işlemdir).

Bir tercüman, bir eylemin bir bilgisayar programı aracılığıyla yürütülmesini en doğru şekilde açıklar. Bir tercümanın gerçekte yürüttüğü eylem türlerinde birkaç değişiklik vardır: Doğrudan bir programın kaynak kodunu yürütür; kaynak kodunu etkili bir ara gösterim olan bir gösterime dönüştürür ve daha sonra bahsedilen kodu yürütür; yorumlayıcı sisteminin bir parçası olan bir derleyici tarafından saklanan ve oluşturulan önceden derlenmiş kodu yürütür.

JIT, hem yorumlamada hem de statik (yani vaktinden önce) derlemede bulunan avantajları birleştirme yeteneğine sahiptir. Bir çevirmen olarak JIT, çevrilen kod bloklarının önbellek sonuçlarını kullanarak performansı artırabilir - kodun her satırını veya işlenenini her gerçekleştiğinde (yorumlanan dilde olduğu gibi) basitçe yeniden değerlendirmekle karşılaştırılabilir. Geliştirme sırasındaki statik derleme kodu gibi, JIT en avantajlı eylem planı olarak bulunursa kodu yeniden derleyebilir. Ayrıca, statik derleme ile aynı şekilde, JIT güvenlik garantilerini uygulayabilir.

Tıpkı derleyiciler gibi, tercümanlar da kodu çevirme kapasitesine sahiptir. Her ikisi de programlama dillerini uygulamanın başlıca yöntemleridir; ancak, 'derleyici' veya 'yorumlayıcı' kategorileri farklı değildir (kod çevirmenleri olarak ikili rolleri için). Bir yorumlayıcı kullanmanın en belirgin dezavantajı, kod yorumlandığında programın kodu derlemekten kaçınılmaz olarak daha yavaş çalışmasıdır; ancak, kodlamanın yorumlanması, derlenmesi ve çalıştırılmasından çok daha az zaman alır (özellikle kod prototipleme ve test etme ile ilgili).

Genel olarak konuşursak, JIT yorumlayıcılardan çok daha iyi performans sağlar ve çoğu durumda statik derleyicilere göre çok daha iyi performans sağlar. Bununla birlikte, JIT üzerindeki üstünlüğü, bazı büyük dezavantajlara sahip olmasını engellemez: Bir uygulamayı ilk kez çalıştırırken hafif bir gecikme olur (bayt kodunu yüklemek ve derlemek için zaman ayırmanın bir yan etkisi). Sonunda daha iyi kodlama üretecek; ancak, bunu yapmanın doğasında olan ilk gecikme, kodlama kalitesiyle birlikte artacaktır..

Özet:

1. JIT, bir çalışma zamanı ortamında çalışma zamanının performans kalitesini artırmak için kullanılan bir tekniktir; bir tercüman bir bilgisayar programı aracılığıyla bir eylemin yürütülmesini tanımlar.

2. JIT yorumlama ve statik derlemenin avantajlarını birleştirir; bir tercüman kodu derleyici gibi çevirebilir, fakat programın hızına zarar verebilir.