Wikiの「Stackless is 10%faster」がどこから来たのか分かりませんが、私は決してこれらのパフォーマンス番号を測定しようとはしませんでした。私はStacklessがそれほど大きな違いを生み出すことは考えられません。
スタックレスは、いくつかの組織的/政治的問題を抱えた素晴らしいツールです。
最初のものは過去のものです。 Christian Tismerは、約10年前に最終的にStacklessになったことについて話を始めました。彼は自分が望んでいたことを知っていましたが、彼が何をしているのか、そして人々がそれを使うべき理由を説明するのは苦労しました。これは部分的には、コルーチンのようなアイデアに関するCSトレーニングをバックグラウンドに持たなかったことと、プレゼンテーションとディスカッションが非常にインプリメンテーション指向であるため、コンティニュイションのヒントを深く理解していない人にとっては、彼らの問題。
そのため、最初の文書は貧弱でした。サードパーティの貢献者から最高のものを使って、それを使う方法についていくつかの説明がありました。 PyCon 2007では、PyConの調査番号によれば、私は "Using Stackless"という話をしました。 Richard Tewはこれらを収集し、stackless.comを更新し、新しいPythonリリースが登場したときに配布を維持するという素晴らしい仕事をしています。彼はCCP Gamesの従業員であり、ゲームシステムの不可欠な部分としてStacklessを使用するEVE Onlineの開発者です。
CCPゲームは、Stacklessについて話したときに人々が使用する最大の実例です。 Stacklessの主なチュートリアルはGrant Olsonの "Introduction to Concurrent Programming with Stackless Python"です。これはゲーム向けです。私はこれが、Stacklessがゲーム指向であるという歪んだ考えを人々に与えると思う。
もう一つの難点はソースコードです。元の形では、Pythonの多くの部分を変更する必要がありました.Gio van RossumはPythonの主導者でした。その理由の一部は、コール/ ccのサポートであり、後で「より高いレベルのフォームがある場合には、サポートをあまりにも多くするようなもの」として削除されたと考えられます。私はこの歴史についてはっきりしていないので、この段落を「あまりにも多くの変更を必要とするスタックレス」と読んでください。
リリースは変更を必要とせず、Tismerは引き続きPythonへの組み込みを推し進めました。いくつかの考察がありましたが、公式の姿勢(私が知る限り)は、CPythonはPythonの実装ではなく、リファレンス実装の意味であり、Jythonでは実装できないため、スタックレス機能は含まれませんまたはIron Python。
"コードベースの重要な変更"の計画はまったくありません。 Arafangionの引用と参照のハイパーリンク(コメント参照)は、およそ2000/2001のものです。構造の変更はずっと前から行われていますが、これは私が上で述べたことです。 Stacklessは今や安定して成熟しており、ここ数年でコードベースのわずかな調整が行われています。
Stacklessの最終的な制限は、Stacklessの強力な支持者はいません。 Tismerは現在、Python for Pythonの実装であるPyPyに深く関わっています。彼はPyPyでStackless機能を実装しており、Stackless自体よりも優れていると考えており、PyPyが未来の道だと感じています。テューはスタックレスを維持しているが、彼はアドボカシーには興味がない。私はその役割を果たしていると考えましたが、どうやって収入を得られるのか分かりませんでした。
スタックレスでトレーニングをしたい場合は、contact meにお気軽にお問い合わせください。 :)
PEP 219は、9歳と真剣に古くなっています。 「CコードからPythonコードを呼び出す」の難しさは、PEPで説明した実装だけであり、Stacklessではありません。 PEPの名前(「Stackless Python」)は、ちょっとした誤解です。それはStacklessからのインスピレーションを引いた、それだけです。 –