Tôi không biết nơi mà "Stackless nhanh hơn 10%" trên Wiki đến từ, nhưng sau đó một lần nữa tôi đã không bao giờ cố gắng để đo những con số hiệu suất. Tôi không thể nghĩ ra những gì Stackless làm để tạo sự khác biệt lớn.
Stackless là một công cụ tuyệt vời với một số vấn đề về tổ chức/chính trị.
Đầu tiên xuất phát từ lịch sử. Christian Tismer bắt đầu nói về những gì cuối cùng đã trở thành Stackless khoảng 10 năm trước. Anh có một ý tưởng về những gì anh muốn, nhưng đã có một thời gian khó giải thích những gì anh đang làm và tại sao mọi người nên sử dụng nó. Điều này một phần vì nền tảng của ông không được đào tạo CS về các ý tưởng như coroutines và bởi vì các bài thuyết trình và thảo luận của ông rất định hướng thực hiện, rất khó cho bất kỳ ai chưa từng tiếp cận sâu để hiểu cách sử dụng nó như một giải pháp vấn đề của họ.
Vì lý do đó, tài liệu ban đầu kém. Có một số mô tả về cách sử dụng nó, tốt nhất với những người đóng góp của bên thứ ba. Tại PyCon 2007, tôi đã nói chuyện về "Using Stackless" đã đi qua khá tốt, theo số liệu khảo sát của PyCon. Richard Tew đã thực hiện một công việc tuyệt vời để thu thập chúng, cập nhật stackless.com và duy trì phân phối khi các bản phát hành Python mới xuất hiện. Anh là nhân viên của CCP Games, nhà phát triển của EVE Online, sử dụng Stackless như một phần thiết yếu trong hệ thống chơi game của họ.
Trò chơi của ĐCSTQ cũng là ví dụ thực tế nhất mà mọi người sử dụng khi họ nói về Stackless. Các hướng dẫn chính cho Stackless là Grant Olson của "Introduction to Concurrent Programming with Stackless Python", đó cũng là trò chơi theo định hướng. Tôi nghĩ rằng điều này mang lại cho mọi người một ý tưởng sai lầm rằng Stackless là trò chơi theo định hướng, khi đó là nhiều hơn rằng các trò chơi được định hướng tiếp tục dễ dàng hơn.
Một khó khăn khác là mã nguồn.Ở dạng ban đầu, nó đòi hỏi phải thay đổi nhiều phần của Python, điều này khiến Guido van Rossum, người dẫn đầu của Python, cảnh giác. Một phần lý do, tôi nghĩ, là hỗ trợ cho cuộc gọi/cc mà sau này bị loại bỏ là "quá nhiều như hỗ trợ một goto khi có các hình thức cấp cao hơn tốt hơn." Tôi không chắc chắn về lịch sử này, vì vậy chỉ cần đọc đoạn này là "Stackless được sử dụng để đòi hỏi quá nhiều thay đổi."
Phiên bản sau không yêu cầu thay đổi, và Tismer tiếp tục đẩy để đưa nó vào Python. Trong khi có một số cân nhắc, lập trường chính thức (theo như tôi biết) là CPython không chỉ là triển khai Python mà còn có nghĩa là thực hiện tham chiếu, và nó sẽ không bao gồm chức năng Stackless bởi vì nó không thể được thực hiện bởi Jython hoặc Iron Python.
Có hoàn toàn không có kế hoạch cho "thay đổi quan trọng đối với cơ sở mã". Đó là báo giá và siêu liên kết tham chiếu từ Arafangion's (xem bình luận) là từ khoảng 2000/2001. Những thay đổi về cấu trúc từ lâu đã được thực hiện và đó là những gì tôi đã đề cập ở trên. Stackless vì nó bây giờ là ổn định và trưởng thành, chỉ với những điều chỉnh nhỏ cho cơ sở mã trong vài năm qua.
Giới hạn cuối cùng với Stackless - không có người ủng hộ mạnh mẽ cho Stackless. Tismer hiện đang tham gia sâu sắc với PyPy, là một triển khai Python cho Python. Ông đã thực hiện các chức năng Stackless trong PyPy và xem xét nó vượt trội hơn nhiều so với Stackless chính nó, và cảm thấy rằng PyPy là con đường của tương lai. Tew duy trì Stackless nhưng anh không quan tâm đến vận động. Tôi được coi là trong vai trò đó, nhưng không thể thấy làm thế nào tôi có thể kiếm được thu nhập từ nó.
Mặc dù nếu bạn muốn đào tạo trong Stackless, vui lòng contact me! :)
PEP 219 là 9 tuổi và hết hạn. Những khó khăn của việc "gọi mã Python từ mã C" chỉ trong việc thực hiện được thảo luận trong PEP, và không có trong Stackless. Tên của PEP ("Stackless Python") là một bit của một misnomer; nó đã lấy cảm hứng từ Stackless và thế là xong. –