Ana Sayfa

Ruby 4.0.0 Yayınlandı: Ruby Box ve ZJIT ile Performans ve İzolasyon

1 dk okuma

Ruby geliştirme ekibi, merakla beklenen Ruby 4.0.0 sürümünü duyurdu. Bu yeni sürüm, özellikle "Ruby Box" ve "ZJIT" gibi deneysel ancak çığır açıcı özelliklerle dikkat çekiyor. Ayrıca, paralel yürütme mekanizması Ractor'da önemli iyileştirmeler ve dil seviyesinde bazı güncellemeler de içeriyor. Ruby 4.0.0, geliştiricilere daha esnek, performanslı ve güvenli bir geliştirme ortamı sunmayı hedefliyor.

Ruby Box, tanımların ayrıştırılmasına olanak tanıyan deneysel bir özellik. Bu özellik sayesinde, maymun yamaları (monkey patches), global/sınıf değişkenlerindeki değişiklikler ve yüklenen kütüphaneler gibi tanımlar, diğer kutulardan izole edilebiliyor. Beklenen kullanım senaryoları arasında, test durumlarını diğer testlerden korumak için kutularda çalıştırmak, web uygulamalarını paralel olarak mavi-yeşil dağıtım için çalıştırmak ve bağımlılık güncellemelerini değerlendirmek yer alıyor. Bu, gelecekte daha üst düzey "paket" API'leri için bir temel oluşturma potansiyeli taşıyor.

ZJIT ise, YJIT'in yeni nesli olarak geliştirilen yeni bir just-in-time (JIT) derleyicidir. Rust 1.85.0 veya daha yeni bir sürüm gerektiren ZJIT, daha büyük derleme birimi boyutları ve SSA IR kullanarak performans tavanını yükseltmeyi amaçlıyor. Şu an için yorumlayıcıdan daha hızlı olsa da, YJIT kadar hızlı değil ve üretim ortamlarında kullanmadan önce daha fazla test edilmesi öneriliyor. Ractor tarafında ise, mesaj gönderme ve alma sorunlarını gidermek için Ractor::Port sınıfı tanıtıldı ve Proc nesnelerinin Ractor'lar arasında paylaşımını kolaylaştıran Ractor.shareable_proc eklendi. Dahili veri yapılarındaki iyileştirmeler sayesinde küresel kilit üzerindeki çekişme azaltılarak daha iyi paralellik sağlandı. Dil seviyesinde ise, *nil artık nil.to_a'yı çağırmıyor ve mantıksal ikili operatörler satır başında önceki satırı devam ettiriyor.

İçgörü

Ruby 4.0.0, yeni izolasyon mekanizması Ruby Box ve gelecek nesil JIT derleyicisi ZJIT ile geliştiricilere daha güçlü paralel işleme yetenekleri ve performans artışları sunuyor.

Kaynak