Я не знаю, звідки у "Вікі" з'явився той "Бездоглядний на 10% швидше", але знову ж таки я ніколи не намагався вимірювати ці показники. Я не можу думати про те, що робить безрезультатний, щоб змінити таку велику різницю.
Stackless - це дивовижний інструмент з кількома організаційними / політичними проблемами.
Перший походить з історії. Крістіан Тісмер почав говорити про те, що врешті-решт стало беззахисним близько 10 років тому. У нього було уявлення про те, що він хоче, але важко пояснив, що він робить, і чому люди повинні використовувати це. Частково це пояснюється тим, що його передумови не проводили навчання в галузі CS щодо таких ідей, як спроби і тому, що його презентації та обговорення орієнтовані дуже на реалізацію, що важко для тих, хто вже не поглиблений у продовженні розуміння, як використовувати це як рішення їхні проблеми.
З цієї причини початкова документація була поганою. Було кілька описів того, як його використовувати, з найкращими сторонніми учасниками. На PyCon 2007 я виступив з доповіддю " Використання бездоганних ", яка пройшла непогано, згідно номерів опитування PyCon. Річард Тью зробив чудову роботу, збираючи ці дані, оновлюючи stackless.com та підтримуючи розповсюдження, коли з’являються нові випуски Python. Він працівник CCP Games , розробник EVE Online, який використовує Stackless як важливу частину їхньої ігрової системи.
Ігри CCP - це також найбільший приклад у реальному світі, який люди використовують, коли говорять про безстарення. Основним підручником для Stackless є « Вступ у паралельне програмування з Stackless Python » Гранта Олсона , який також орієнтований на гру. Я думаю, що це дає людині перекошене уявлення про те, що Stackless орієнтований на ігри, коли більше, що ігри легше орієнтовані на продовження.
Ще однією складністю був вихідний код. У своєму первісному вигляді він потребував змін у багатьох частинах Python, що зробило Guido van Rossum, керівника Python, настороженим. Частиною причини, я думаю, була підтримка call / cc, яку згодом було видалено як "надто схожу на підтримку goto, коли є кращі форми вищого рівня". Я не впевнений у цій історії, тому просто прочитайте цей параграф як "Безрезультатний, щоб вимагати занадто багато змін".
Пізніші випуски не потребували змін, і Tismer продовжував наполягати на включенні її в Python. Хоча було певне врахування, офіційна позиція (наскільки я знаю) полягає в тому, що CPython - це не лише реалізація Python, але й призначена як опорна реалізація, і вона не буде включати функцію Stackless, оскільки вона не може бути реалізована Jython або Залізний пітон.
Не існує абсолютно ніяких планів на " значні зміни в кодовій базі ". Ця цитата та посилання гіперпосилання з Arafangion's (див. Коментар) походять приблизно з 2000/2001. Структурні зміни давно зроблені, і це те, що я згадував вище. Нестабільний, як зараз, стабільний і зрілий, за останні кілька років лише незначні зміни до кодової бази.
Одне остаточне обмеження без Stackless - немає твердого прихильника Stackless. Tismer зараз глибоко пов'язаний з PyPy , що є реалізацією Python для Python. Він реалізував функцію Stackless в PyPy і вважає, що вона набагато перевершує сам Stackless, і вважає, що PyPy - це шлях майбутнього. Тью вважає, що без проблем є, але він не зацікавлений у адвокації. Я вважав, що буду в цій ролі, але не бачив, як я можу заробляти на цьому прибуток.
Хоча, якщо ви хочете тренуватися в безлічі, не соромтесь зв’язатися зі мною ! :)