Python basitliği ve çok yönlülüğüyle bilinir, ancak olağanüstü hızıyla değil. Farklı versiyonlar için özel bir ekip, özellikle yönetici performansları üzerinde çalışır; Sürüm 3.13 ilk sonuçları gösteriyor: tam zamanında (JIT) derleyici ve gerçek çoklu iş parçacığı (serbest iş parçacığı). Her iki yaklaşım da daha fazla optimizasyon için temel oluşturuyor ancak şimdiden ilginç iyileştirmeler getiriyor.
İlk derleyicilerin (AOT'ler) kodu derlediği C veya Rust gibi dillerin aksine, Python gibi dinamik diller yalnızca çalışma zamanında makine koduna çevrilir. Başlangıç zamanının çok fazla gecikmemesi için programlar başlatıldığında bazı optimizasyonlar yapılır. JIT derleyicileri hızlı başlatmayı, dinamikleri ve hızlı yürütmeyi birleştirmeye çalışır. Python'un yeni sürümü, diğer birçok programlama dilinde zaten yerleşik olan bu teknolojiyi artık entegre ediyor, ancak önemli bir farkla.
- Python 3.13, hızlı ve etkili kod optimizasyonu için kopyala ve yama yöntemini kullanan bir JIT derleyicisine sahiptir: çalışma zamanında önceden tanımlanmış makine kodu şablonlarına belirli değerler eklenir.
- Ayrıca Global Interpreter Lock (GIL) içermeyen bir varyant da vardır; bu, bir komut dosyası birden fazla çekirdek kullandığında gerçek çoklu iş parçacığı desteğine ve artırılmış performansa olanak tanır.
- JIT derleyicisinden elde edilen performans kazanımları şu anda yönetilebilir düzeyde kalsa da, ücretsiz iş parçacığının faydaları zaten yüksektir, ancak yine de uyumsuzluklara yol açmaktadır.
Klasik JIT derleyicileri örneğin LLVM'ye veya özel olarak programlanmış araçlara dayanır. Kodun yürütülmesi sırasında etkin noktaları, yani kodun özellikle sık yürütülen kısımlarını belirlerler. Bir eşik değerine ulaşıldığında optimizasyon için önceki kodu işaretlerler. Bu seçici optimizasyon, CPU zamanına ve belleğe mal olur, ancak optimize edilmiş kod, daha iyi bir genel yürütme performansıyla sonuçlanmalıdır.
Bu, Haberler Plus makalemiz “Python 3.13: GIL olmadan daha fazla performans”ın okuma örneğiydi. Haberler Plus aboneliği ile makalenin tamamını okuyabilir ve dinleyebilirsiniz.
Bir yanıt yazın