Wiki'deki "Stackless% 10 daha hızlı" ın nereden geldiğini bilmiyorum, ama yine de bu performans sayılarını ölçmeyi hiç denemedim. Stackless'in bu kadar büyük bir fark yaratmak için ne yaptığını düşünemiyorum.
Stackless, çeşitli organizasyonel / politik sorunları olan harika bir araçtır.
İlki tarihten geliyor. Christian Tismer, yaklaşık 10 yıl önce sonunda Stackless olan şey hakkında konuşmaya başladı. Ne istediğine dair bir fikri vardı ama ne yaptığını ve insanların bunu neden kullanması gerektiğini açıklamakta zorlandı. Bunun nedeni kısmen arka planının koroutinler gibi fikirlerle ilgili bilgisayar bilimleri eğitimi almamış olması ve sunumlarının ve tartışmalarının çok uygulama odaklı olmasından kaynaklanıyor. onların problemleri.
Bu nedenle, ilk belgeler zayıftı. Üçüncü taraf katılımcılardan en iyi şekilde nasıl kullanılacağına dair bazı açıklamalar vardı. PyCon 2007'de PyCon anket numaralarına göre oldukça iyi geçen " Stackless Kullanımı " üzerine bir konuşma yaptım. Richard Tew bunları toplamak, stackless.com'u güncellemek ve yeni Python sürümleri çıktığında dağıtımı sürdürmekle harika bir iş çıkardı. O , Stackless'i oyun sistemlerinin önemli bir parçası olarak kullanan EVE Online'ın geliştiricileri olan CCP Games'in bir çalışanı .
ÇKP oyunları aynı zamanda insanların Stackless hakkında konuşurken kullandıkları en büyük gerçek dünya örneğidir. Stackless için ana öğretici , yine oyun odaklı olan Grant Olson'un " Stackless Python ile Eşzamanlı Programlamaya Giriş " dir. Bence bu, insanlara Stackless'in oyun odaklı olduğu konusunda çarpık bir fikir veriyor, oyunların daha kolay devam odaklı olduğu durumlarda.
Bir başka zorluk da kaynak koddu. Orijinal biçiminde, Python'un birçok yerinde değişiklik yapılması gerekti ve bu da Python lideri Guido van Rossum'u ihtiyatlı hale getirdi. Bence nedeninin bir kısmı, daha sonra "daha yüksek seviyeli formlar olduğunda bir gitmeyi desteklemek gibi" olarak kaldırılan çağrı / cc desteğiydi. Bu tarih hakkında emin değilim, bu yüzden bu paragrafı "Stackless eskiden çok fazla değişiklik gerektiriyordu" şeklinde okuyun.
Daha sonraki sürümler değişiklikleri gerektirmedi ve Tismer, Python'a dahil edilmesi için zorlamaya devam etti. Bazı düşünceler olsa da, resmi duruş (bildiğim kadarıyla) CPython'un sadece bir Python uygulaması olmadığı, aynı zamanda bir referans uygulaması olduğu ve Jython tarafından uygulanamadığı için Stackless işlevselliğini içermeyeceği yönünde. veya Demir Python.
" Kod tabanında önemli değişiklikler " için kesinlikle hiçbir plan yoktur . Arafangion'un (yoruma bakınız) alıntı ve referans köprüsü kabaca 2000 / 2001'den alınmıştır. Yapısal değişiklikler uzun zamandır yapıldı ve yukarıda bahsettiğim şey bu. Şu anda olduğu gibi yığınsız, kararlı ve olgun, son birkaç yılda kod tabanında yalnızca küçük değişiklikler var.
Stackless ile son bir sınırlama - Stackless'ın güçlü bir savunucusu yoktur. Tismer artık Python için Python'un bir uygulaması olan PyPy ile derinlemesine ilgileniyor . PyPy'de Stackless işlevselliğini uyguladı ve Stackless'in kendisinden çok daha üstün olduğunu düşünüyor ve PyPy'nin geleceğin yolu olduğunu düşünüyor. Tew, Stackless'ı sürdürür ancak savunuculukla ilgilenmez. O rolde olmayı düşündüm ama bundan nasıl gelir elde edebileceğimi göremedim.
Stackless'ta eğitim almak istiyorsanız, benimle iletişime geçmekten çekinmeyin ! :)