1 puan yazan GN⁺ 2026-03-18 | Henüz yorum yok. | WhatsApp'ta paylaş
  • CPython'ın JIT derleyicisi macOS AArch64'te %11~12, x86_64 Linux'ta %5~6 daha yüksek performansa ulaştı ve hedefe beklenenden erken erişti
  • 3.13~3.14 sürümlerinde JIT yorumlayıcıdan daha yavaştı; ancak topluluk odaklı geliştirme ve yapısal iyileştirmeler sayesinde performans belirgin biçimde arttı
  • İz kaydı (trace recording) yaklaşımı ve referans sayımı kaldırma (reference count elimination) gibi deneysel girişimler başlıca dönüm noktaları oldu
  • Savannah Ostrowski, Mark Shannon, Diego Russo, Brandt Bucher gibi kilit katkıcılar ve çok sayıda yeni katılımcı birlikte çalıştı
  • Bu sonuç, topluluk güdümlü geliştirme ve işbirliği kültürünün açık kaynak performans iyileştirmelerinde somut etki yaratabildiğini gösteriyor

CPython JIT performansındaki iyileşmenin durumu

  • macOS AArch64'te %11~12, x86_64 Linux'ta %5~6 daha yüksek performans kaydedildi
    • Ölçümler geometrik ortalama temelinde yapıldı; bazı benchmark'larda sonuçlar %20 daha yavaştan %100'den fazla daha hızlıya kadar değişti
    • free-threading desteği hâlâ tamamlanmış değil; hedef 3.15/3.16 sürümleri
  • 3.13~3.14 sürümlerindeki JIT yorumlayıcıdan daha yavaştı, ancak bu sürümde anlamlı bir hız artışı elde edildi

Topluluk merkezli JIT geliştirmesi

  • 2025'te Faster CPython ekibinin ana sponsorluğunun sona ermesinin ardından topluluk güdümlü geliştirme modeline geçildi
    • Hedef: 3.15'te %5 iyileşme, 3.16'da %10 iyileşme ve free-threading desteği
    • bus factor'ı azaltmak için her aşamada (frontend, middle-end, backend) en az 2 bakımcı bulunduruldu
  • Karmaşık sorunlar küçük parçalara ayrılarak yeni katkıcıların katılımı teşvik edildi
    • Brandt Bucher, 'mega-issues' ile işleri daha küçük birimlere böldü
    • 11 katkıcı, yorumlayıcı komutlarını JIT optimizasyonuna daha uygun hâle dönüştürdü
  • Katkıyı teşvik etme ve başarıyı paylaşma kültürü, katılımın sürmesine yardımcı oldu
    • Bunun sonucunda x86_64 Linux'ta performans %1'den %3~4'e yükseldi

Başlıca teknik dönüm noktaları

İz kaydı (trace recording)

  • CPython core sprint sırasında izleme tabanlı bir frontend'e geçildi
    • Başlangıçta %6 daha yavaştı, ancak dual dispatch yapısının eklenmesiyle performans iyileşti
    • Yorumlayıcının boyutundaki artış en aza indirilirken temel yorumlayıcı hızı korundu
  • İz kaydının eklenmesiyle JIT kod kapsaması %50 arttı, ardından optimizasyon verimliliği yükseldi

Referans sayımı kaldırma (reference count elimination)

  • Matt Page'in bytecode optimizasyon çalışmasından esinlenildi
    • Referans sayımı azaltılırken ortaya çıkan dal (branch) kaldırılarak performans artırıldı
    • Yalnızca tek bir dalın kaldırılması bile birikimli maliyeti azaltmada etkili oldu
  • Paralelleştirmesi kolay olduğu için, JIT yapısını öğretmeye yönelik bir görev olarak yeni katkıcıların eğitiminde kullanıldı

Altyapı ve ekip yapısı

  • Savannah Ostrowski, 4 makineyle JIT performans ölçüm altyapısını işletiyor
    • Günlük JIT çalıştırma sonuçlarıyla performans gerilemeleri (regression) erken tespit ediliyor
  • Diego Russo, ARM donanımı için JIT ve profiler uyumluluğunu iyileştirmekten sorumlu
  • Brandt Bucher, makine kodu backend temelini kurarak yeni katkıcılar için giriş engelini düşürdü

İşbirliği ve bilgi paylaşımı

  • CF Bolz-Tereick'ten alınan PyPy tavsiyeleri, JIT tasarımının daha iyi anlaşılmasını sağladı
  • Max Bernstein gibi derleyici uzmanlarıyla kurulan temas, sürekli motivasyon ve teknik gelişimi destekledi
  • PyPy kodunu inceleme deneyimi, CPython JIT kalitesinin artmasına katkı sağladı

Sonuç

  • Python 3.15'in JIT'i, topluluk işbirliği, teknik deneyler ve altyapı iyileştirmelerinin birleşik sonucu
  • İnsanlar, şans ve işbirliği kültürü, açık kaynakta performans odaklı yeniliğin temel itici gücü olduğunu kanıtlıyor

Henüz yorum yok.

Henüz yorum yok.