OpenJDK AOT kod derleme desteğini JEP 544 ile duyurdu
Öne çıkanlar
- AOT kod önbelleği, mikroservis kıyaslamalarında Java başlangıç sürelerini yüzde 80'e kadar düşürdü.
- Sistem statik derleme yerine JIT ve AOT mekanizmalarını çalışma anında birlikte çalıştırıyor.
- Önbelleğe alınan yerel kodun çalışması için aynı işlemci komut seti ve çöp toplayıcı gerekiyor.
OpenJDK topluluğu, Java uygulamalarının başlatma ve ısınma sürelerini azaltmayı amaçlayan JEP 544 adlı yeni geliştirme önerisini aday statüsüne getirdi. Project Leyden kapsamında hazırlanan bu öneri, HotSpot Java Sanal Makinesi başlatıldığında optimize edilmiş yerel kodun doğrudan hazır bulunmasını hedefliyor. Sistem, bir eğitim çalıştırması sırasında uygulama kodunu yerel makine koduna derleyip AOT önbelleğinde saklayarak sonraki üretim ortamı çalıştırmalarında anında kullanılabilir kılıyor.
Yeni mimari, hem önceden derleme (AOT) hem de çalışma anı derlemesi (JIT) mekanizmalarını bir arada işletiyor. Üretim sürecinde iş yükü değiştiğinde veya önbellekteki yerel kod yetersiz kaldığında, HotSpot dinamik olarak kod optimizasyonunu düşürüyor ve yeni sıcak noktalar için C1 ile C2 derleyicileriyle yeniden yerel kod üretiyor. Bu hibrit yaklaşım, uygulamalarda, kütüphanelerde veya JVM yapılandırmalarında değişiklik gerektirmeden çalışıyor; ayrıca AArch64 ve x64 işlemci mimarilerini temel alıyor.
Geliştiriciler tarafından popüler Java çatılarıyla iki çekirdekli sistemlerde yürütülen testler, AOT önbelleğinin başlangıç süresini yüzde 65 ile yüzde 80 arasında kısalttığını ortaya koydu. javac kıyaslamalarında ise yerel kod desteği toplam başlangıç süresini yaklaşık yüzde 75 oranında iyileştirdi. Önbelleğin geçerli olabilmesi için eğitim ve üretim ortamlarının aynı işlemci mimarisi, komut seti özellikleri ve çöp toplayıcı yapılandırmasına sahip olması şartı aranıyor.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.