
Python 3.15 kıyaslaması: 3.14 ile karşılaştırıldığında küçük artış, JIT'te belirgin iyileşme
Miguel Grinberg'in gayri resmi kıyaslaması Python 3.15.0rc3'ü 3.10'a kadar sürümlerle karşılaştırıyor. 3.14 ile karşılaştırıldığında performans artışı küçük; ancak deneysel JIT belirli bir hızlanma sağlıyor, free-threading ise çok iş parçacıklı testlerde öne çıkıyor.
Yeni gayri resmi kıyaslamayı yazılım mühendisi Miguel Grinberg yürüttü; Python 3.15'i 3.10'a kadar önceki sürümlerle karşılaştırıyor ve gelecek sürümün öncekinden yalnızca biraz daha hızlı olduğunu ortaya koyuyor. En belirgin iyileşme deneysel JIT derleyicisinden geliyor; free-threading ise değerini çok iş parçacıklı yüklerde gösteriyor.
Kıyaslama parametreleri
Testler Intel Core i5 işlemcili bir Linux dizüstü bilgisayarda yapıldı. İki program kullanıldı: fibo.py, Fibonacci sayılarını özyinelemeli hesaplıyor ve bubble.py, for döngüleriyle 10 000 rastgele sayıyı sıralıyor. Her program tek iş parçacıklı ve dört iş parçacıklı modlarda çalıştırıldı; süreler ise üç çalıştırmanın ortalamasıyla hesaplandı. Matris ayrıca ekosistem bağlamı için PyPy 3.12, Node.js 26.3 ve Rust 1.97'yi de içeriyordu; ek olarak CPython 3.13 ve daha yeni sürümlerin JIT ve free-threading derlemeleri de vardı. Yazar 3.15.0rc3 release candidate sürümünü test etti; resmi 3.15 sürümü yayımlanmadan yazı sırasında birkaç gün vardı.
Tek iş parçacıklı sonuçlar
Python 3.15 Fibonacci testini 6,94 saniyede tamamladı; 3.14'ten biraz daha yavaştı, çünkü onun 7,17 saniye gerekti; 3.10'a göre ise belirgin şekilde daha iyiydi, çünkü onun 15,94 saniye gerekti. Bubble sort testi benzer bir tablo gösterdi: 3.15 için 1,97 saniye, 3.14 için 2,06 saniye. Her iki testte yalnızca Python 3.11 ve 3.14, doğrudan öncekilerine kıyasla önemli artış sağladı; bazı sürümler küçük gerileme bile gösterdi. PyPy 3.12 yine en hızlı Python uygulaması olarak kaldı; Fibonacci testinde 3.15'ten 5,54 kat daha hızlıydı, genel sonuçlarda ise Rust 77,24 kat farkla liderlik etti.
Python 3.15'in JIT derleyicisi, aynı sürümün standart yorumlayıcısını Fibonacci'de 1,20 kat, bubble sort'ta ise 1,28 kat geçti. Bu, JIT'in standart derlemeye geçmediği önceki yılların sonuçlarına ters düşüyor. free-threading derlemeleri tek iş parçacıklı çalışmada yaklaşık standart yorumlayıcı düzeyinde çalışıyordu.
Çok iş parçacıklı sonuçlar
Dört iş parçacığıyla standart yorumlayıcı neredeyse değişmiyor çünkü GIL gerçek paralelleştirmeye engel oluyor. Python 3.15'in free-threading derlemesi Fibonacci testini standart yorumlayıcıya kıyasla yaklaşık 4,5 kat daha hızlı geçti; bu 3.14'ün göstergesine benzer, bubble sort'ta da daha hızlıydı. JIT derlemesi çok iş parçacığı durumunda da standart yorumlayıcıya kıyasla benzer bir üstünlük korudu; yazarın belirttiğine göre bu durum 3.15'te yeni.
Sonuçlar
Yazar, Python 3.15'i 3.14 ile karşılaştırıldığında oldukça küçük bir performans iyileşmesi olarak görüyor; bazı testler küçük gerileme bile gösteriyor. Tek kazanç JIT'te; bu hâlâ deneysel ve üretim için önerilmiyor. Yazar, üretim projelerini şimdilik 3.14'te bırakmayı planlıyor; 3.15'i ise JavaScript benzeri comprehensions genişletmesi ve lazy imports gibi yeni özellikler için günlük yorumlayıcı olarak kullanmayı düşünüyor.
Kaynaklar: blog.miguelgrinberg.com
SiTech — AI destekli web geliştirme
Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.