1 puan yazan GN⁺ 2023-08-19 | 1 yorum | WhatsApp'ta paylaş
  • Python Global Interpreter Lock (GIL), birden fazla thread kullanan programların performans artışının önündeki başlıca engellerden biriydi.
  • Ekim 2021’de Sam Gross, GIL’siz bir Python için kavram kanıtı niteliğinde bir sürüm tanıttı; ancak başlangıçtaki büyük heyecana rağmen bir yıldan uzun süre kayda değer bir ilerleme olmadı.
  • Python Steering Council artık no-GIL özelliğini entegre etmeye istekli olduğunu açıkladı.
  • 2021 ortasında başlayan Faster CPython projesi, Python yorumlayıcısının tek thread performansını iyileştirmeye odaklanıyor.
  • Bu yılki PyCon’da Faster CPython ekibinin iki üyesi, yorumlayıcı performansını artırmak için kullandıkları stratejileri sundu.
  • Ocak 2023’te çekirdek geliştirici Łukasz Langa, Gross’un yazdığı PEP 703’ün ("CPython’da Global Interpreter Lock’un isteğe bağlı kullanımı") ilk sürümünü yayımladı.
  • Python topluluğu, Python 2’den 3’e geçişte yaşanan karmaşık dönüşümden kaçınmak istiyor. GIL’i kaldıran tüm değişiklikler, buna hazırlıklı olmayan kodlarla da uyumlu olmalı.
  • 14 Haziran’da Faster CPython ekibi, no-GIL özelliğiyle ilgili kararın alınması için baskıyı artırdı.
  • 28 Temmuz’da konsey üyesi Thomas Wouters, kurulun PEP 703’ü kabul ettiğini duyurdu; ancak kabulün ayrıntıları hâlâ netleştiriliyor.
  • Plan, no-GIL sürümündeki yorumlayıcıyı devreye alarak eksik tüm bileşenleri belirlemek, bunları çözdükten sonra no-GIL’in Python’un varsayılan ve nihai sürümü olmasını sağlamak.
  • no-GIL sürümüne geçişin yaklaşık 5 yıl sürmesi bekleniyor ve geçmişteki hataların tekrarlanmayacağı yönünde bir taahhüt var.
  • Bu yazıda, .NET’in paralel programlama özellikleri kullanılarak, veriler "embarrassingly parallel" olduğunda for/foreach döngülerinin nasıl hızlandırılabileceği tartışılıyor.
  • Yazı ayrıca Python’un tek thread performansını korumanın uzun vadede ne kadar sürdürülebilir olduğunu ele alıyor; bazıları, kaçınılmaz ek yük ve artan karmaşıklığın sonunda performansı düşüreceğini savunuyor.
  • Makale, Python 2’den Python 3’e geçişte iki sürüm arasında uyumluluk bulunmamasını da değerlendiriyor.
  • Yazar, Python 3’ün Python 2 ile uyumsuz etkilerinin bazı kişiler tarafından önceden öngörüldüğünü, bunun yaygın kanının aksine olduğunu savunuyor ve 2007 tarihli bir blog yazısına bağlantı paylaşıyor.
  • Yazar, Python 2’den Python 3’e geçişten çıkarılan derslerin önemini vurguluyor ve gelecekte benzer sorunlardan kaçınmak için bunların altını çiziyor.
  • Yazı, Python 2’den Python 3’e geçişin zorluklarını öngören kişilerin ileri görüşlülüğünü takdir ederek sona eriyor.

1 yorum

 
GN⁺ 2023-08-19
Hacker News yorumları
  • Global Interpreter Lock (GIL) kaldırılması ve daha hızlı CPython projesi hakkındaki makalenin tartışması.
  • Bazı yorumcular, makalenin GIL kaldırmanın faydalarını yeterince vurgulamadığını ve daha çok "GIL karşıtı" tarafa eğildiğini düşünüyor.
  • Sam Gross’un no-GIL projesi üzerindeki çalışması, yüksek kalitesi ve performans artışı sağlaması nedeniyle övgü alıyor.
  • Topluluk projeye büyük ilgi gösterdi ve yönlendirme konseyi, projeyle ilgili teklif olan PEP 703’ü kabul etmeyi planlıyor.
  • Bazı yorumcular, GIL’in kaldırılmasının çok iş parçacıklı Python kodu üzerinde olumsuz etkileri olabileceğine dair endişelerini dile getiriyor.
  • Projeyi test modunda ilerletme kararı makul görünüyor, ancak olası hatalar ve zorluklar ortaya çıkarsa daha fazla kaynağa ihtiyaç duyulacağına dair endişeler var.
  • Bazı yorumcular, GIL’in kaldırılmasının performans cezasına yol açacağı ve diğer potansiyel iyileştirmelerin önünü keseceği için bunun bir hata olduğunu düşünüyor.
  • Diğerleri, tek iş parçacıklı performansa öncelik verilmesini ve bellek paylaşımı için net mekanizmalara sahip sanal süreçlerin eklenmesini öneriyor.
  • Sam Gross’un projeyi ilerletmesi övgü alıyor; yol uzun ve zorlu olsa da no-GIL Python’a giden yol olumlu bir gelişme olarak görülüyor.
  • Mevcut kod tabanlarının doğruluğunu koruma ve GIL/no-GIL’i derleme zamanı anahtarı haline getirmenin bakım maliyetini artıracağına dair endişeler bulunuyor.
  • Python topluluğu şeffaflığı ve iyi yönetişimi nedeniyle övülüyor, ancak Python’dan elde edilen değer düşünüldüğünde teknoloji sektöründen daha fazla destek çağrıları da var.
  • Bazı yorumcular, proje sonucunda tek iş parçacıklı kodun %15-20 yavaşlayabilmesi ihtimalinin kabul edilebilirliğini sorguluyor.