ฉันไม่รู้ว่า "Stackless เร็วขึ้น 10%" ใน Wiki นั้นมาจากไหน แต่ฉันก็ไม่เคยพยายามวัดตัวเลขประสิทธิภาพเหล่านั้นอีกเลย ฉันไม่สามารถคิดว่า Stackless ทำอะไรเพื่อสร้างความแตกต่างที่ยิ่งใหญ่ได้
Stackless เป็นเครื่องมือที่น่าทึ่งที่มีปัญหาในองค์กร / การเมืองหลายประการ
ครั้งแรกมาจากประวัติศาสตร์ Christian Tismer เริ่มพูดถึงสิ่งที่กลายเป็น Stackless ในที่สุดเมื่อ 10 ปีที่แล้ว เขามีความคิดว่าเขาต้องการอะไร แต่ก็อธิบายได้ยากว่าเขากำลังทำอะไรและทำไมผู้คนถึงใช้มัน ส่วนหนึ่งเป็นเพราะภูมิหลังของเขาไม่ได้มีการฝึกอบรม CS เกี่ยวกับแนวคิดเช่นโครูทีนและเนื่องจากการนำเสนอและการอภิปรายของเขามุ่งเน้นไปที่การนำไปใช้งานซึ่งเป็นเรื่องยากสำหรับทุกคนที่ไม่ได้มีความเข้าใจอย่างลึกซึ้งในการทำความเข้าใจวิธีใช้เป็นวิธีแก้ปัญหา ปัญหาของพวกเขา
ด้วยเหตุนี้เอกสารเบื้องต้นจึงไม่ดี มีคำอธิบายวิธีการใช้งานพร้อมสิ่งที่ดีที่สุดจากผู้ร่วมให้ข้อมูลบุคคลที่สาม ที่ PyCon 2007 ฉันได้พูดคุยเกี่ยวกับ " การใช้ Stackless " ซึ่งทำได้ค่อนข้างดีตามตัวเลขการสำรวจของ PyCon Richard Tew ทำงานได้อย่างยอดเยี่ยมในการรวบรวมสิ่งเหล่านี้อัปเดตstackless.comและรักษาการแจกจ่ายเมื่อมีการเปิดตัว Python ใหม่ เขาเป็นพนักงานของCCP Gamesผู้พัฒนา EVE Online ซึ่งใช้ Stackless เป็นส่วนสำคัญของระบบเกมของพวกเขา
เกม CCP ยังเป็นตัวอย่างในโลกแห่งความจริงที่ใหญ่ที่สุดที่ผู้คนใช้เมื่อพูดถึง Stackless บทช่วยสอนหลักสำหรับ Stackless คือ " Introduction to Concurrent Programming with Stackless Python " ของ Grant Olson ซึ่งเน้นเกมเช่นกัน ฉันคิดว่าสิ่งนี้ทำให้ผู้คนมีความคิดที่บิดเบือนว่า Stackless เป็นเกมที่มุ่งเน้นไปที่เกมเมื่อมีมากกว่านั้นเกมจะเน้นความต่อเนื่องได้ง่ายขึ้น
ปัญหาอื่นคือซอร์สโค้ด ในรูปแบบดั้งเดิมจำเป็นต้องมีการเปลี่ยนแปลงในหลายส่วนของ Python ซึ่งทำให้ Guido van Rossum ผู้นำ Python ระมัดระวัง ฉันคิดว่าเหตุผลส่วนหนึ่งคือการรองรับ call / cc ที่ถูกลบออกในภายหลังว่า "เหมือนสนับสนุน goto มากเกินไปเมื่อมีรูปแบบระดับสูงที่ดีกว่า" ฉันไม่แน่ใจเกี่ยวกับประวัตินี้ดังนั้นเพียงอ่านย่อหน้านี้ว่า "Stackless ใช้เพื่อต้องการการเปลี่ยนแปลงมากเกินไป"
การเผยแพร่ในภายหลังไม่จำเป็นต้องมีการเปลี่ยนแปลงและ Tismer ยังคงผลักดันให้รวมอยู่ใน Python ในขณะที่มีการพิจารณาท่าทีอย่างเป็นทางการ (เท่าที่ฉันรู้) คือ CPython ไม่ใช่แค่การใช้งาน Python แต่หมายถึงการใช้งานอ้างอิงและจะไม่รวมฟังก์ชัน Stackless เนื่องจาก Jython ไม่สามารถใช้งานได้ หรือ Iron Python
ไม่มีแผนสำหรับ " การเปลี่ยนแปลงที่สำคัญของฐานรหัส " อย่างแน่นอน คำพูดและการเชื่อมโยงหลายมิติอ้างอิงจาก Arafangion's (ดูความคิดเห็น) มาจากประมาณ 2000/2001 การเปลี่ยนแปลงโครงสร้างเกิดขึ้นมานานแล้วและเป็นสิ่งที่ฉันได้กล่าวไว้ข้างต้น Stackless เนื่องจากตอนนี้มีความเสถียรและเป็นผู้ใหญ่โดยมีเพียงการปรับแต่งเล็กน้อยสำหรับฐานรหัสในช่วงหลายปีที่ผ่านมา
ข้อ จำกัด สุดท้ายอย่างหนึ่งของ Stackless - ไม่มีผู้สนับสนุนที่แข็งแกร่งสำหรับ Stackless ขณะนี้ Tismer มีส่วนเกี่ยวข้องอย่างลึกซึ้งกับPyPyซึ่งเป็นการใช้งาน Python สำหรับ Python เขาใช้ฟังก์ชัน Stackless ใน PyPy และคิดว่ามันเหนือกว่า Stackless มากและรู้สึกว่า PyPy คือหนทางแห่งอนาคต Tew รักษา Stackless แต่เขาไม่สนใจในการสนับสนุน ฉันคิดว่าอยู่ในบทบาทนั้น แต่ไม่เห็นว่าฉันจะสร้างรายได้จากมันได้อย่างไร
แม้ว่าคุณต้องการฝึกอบรมใน Stackless โปรดติดต่อฉัน ! :)