JIT ( Just in Time ) Nedir?

Standard

Herkese selam,

Java da evvelden olan ve PHP 7 ile de hayatımıza girmeye hazırlanan bu özellik nedir ne değildir merak edenler için kısa bir yazı yazma gereksinimi duydum.

Kısaca özetlemek gerekirse yazdığımız kodlar normalde “compile” etmeye başladığımız andan itibaren önce makine diline çevrilir ve daha sonra da bu meşhur 0 ve 1 lerden oluşan kod işleme alınır. JIT de ise bu iş akışını biraz değiştiren bir mekanizma. Açılımı “Just In Time”.

Aslında Bu JIT denen olayı ilk olarak Bülent Tekin isimli şeker bi pazarlama hocamız vardı, JIT JIT JIT derste ezberletmeye çalışırdı ve orada duymuştum ve bana kendisini çağrıştırıyor. Sevgi ve saygı ile anıyorum.. “Gözümee bakkkkk….” 🙂

Neyse konumuza dönmek gerekirse JIT Compiler yani Just In Time Compiler için amiyane tabir ile “Son dakika derleyicisi” diyebiliriz.
Bizim yazdığımız “high level” kod (Java, C# vb.) direk makine koduna çevirmeden önce “middle level” diye tabir edebileceğimiz orta bir dile çevriliyor. Ama tabi makine diline çevrilmemiş bu kod bilgisayar için bişey ifade etmiyor.. Ve run ettiğimiz sırada biz JIT devreye giriyor ve bir son dakika derlemesi yapıyor, böylece bizim orta seviye kodumuz tam kıvamında makine koduna dönüşüyor. Tabi tamamen derleme yerine sadece kullanılacak olan kısmı derliyor ve diğer kısımları yorumluyor..

Yani Java dan örnek vermek gerekirsek; Java kodları direk olarak çalıştırılabilir derlemiyor. Bunun yerine bir ara derlemeden geçiriyor ve bu işlem sonucu bytecode elde ediyoruz yani class dosyaları. Önceden bu class dosyaları java sanal makinesi (JVM) altında derlenerek çalıştırılırdı. Program iki kez derlendiği için hız kaybı oluyordu.
JIT derleyici (JVM) altında çalışan bir derleyicidir. Bu derleyicinin özelliği ise çalıştırılacak bytecode un sadece kullanılacak kısmının derlenerek çalıştırılmasını sağlıyor. Diğer kısımlar basitçe yorumlanıyor. Böylece tekrar tam derleme gerekmediği ve tekrar tekrar aynı işlemlere gerek kalmadığı için hız artışı sağlamış oluyoruz..

Özetle bu kadar, açıklayıcı olabilmişimdir umarım..

Bakalım görelim PHP tarafında PHPNG ile birlikte hayatımıza neler katacak..

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir