私は比較的新しいPythonです。私はいつも標準のcpython(v2.5)実装を使用しています。さまざまなPython実装の長所と短所は何ですか?
私は他の実装、特にJythonとIronPythonについて疑問に思っています。それをより良くするには?何が悪化するのでしょうか?それ以外の実装は何ですか?
私が探しているのは、各実装の賛否両論の要約とリストです。
私は比較的新しいPythonです。私はいつも標準のcpython(v2.5)実装を使用しています。さまざまなPython実装の長所と短所は何ですか?
私は他の実装、特にJythonとIronPythonについて疑問に思っています。それをより良くするには?何が悪化するのでしょうか?それ以外の実装は何ですか?
私が探しているのは、各実装の賛否両論の要約とリストです。
長所:JVMまたはCLRで使用可能なライブラリへのアクセス。
短所:両方とも、CPythonの特徴の点では自然に遅れています。
JythonのとIronPythonのあなたが別のプラットフォームで書かれた既存のライブラリとインターフェースをオーバーライドする必要がある場合は、Javaの100,000行を持っていて、わずか20行のPythonスクリプトを記述する場合のように、便利です。私の意見では、コミュニティ慣性のためにCPythonの背後にいくつかのバージョンが永久に存在するため、他の何ものにも特に有用ではありません。
スタックレスは緑色のスレッド、継続などをサポートしているので興味深いです。Erlang-liteの並べ替え。
PyPyは、ある日、CPythonに取って代わるかもしれない実験的なインタプリタ/コンパイラですが、今は新しいアイデアのためのテストベッドです。
実装のすべてがここに記載されている:
https://wiki.python.org/moin/PythonImplementations
CPythonのは、「リファレンス実装」であり、グイドとコア開発者によって開発されました。
リンクは現在404(2012年8月)です。 – FooF
IronPythonとJythonは.NETまたはJavaのランタイム環境を使用し、Just In Timeコンパイルと元のCPythonとは異なるガベージコレクタを使用します。彼らはJITのおかげでCPythonよりも速いかもしれませんが、確かに分かりません。
JythonまたはIronPythonを使用することの欠点は、ネイティブCモジュールを使用できないことです.CPythonでのみ使用できます。
PyPyは、PythonサブセットであるRPythonで書かれたPython実装です。
RPythonは、VMで実行するように変換することも、標準のPythonとは異なり、RPythonを静的にコンパイルすることもできます。
少なくともいくつかはJythonのもう一つの利点はit lacks the GIL(グローバルインタープリタロック)であり、Javaのネイティブスレッドを使用しています。これは、純粋なPythonコードを並列で実行できることを意味し、GILでは不可能です。
IronPythonと同じです! –
Stackless(緑色のスレッドなど)用の魔法のいくつかは、Pythonで開発されたpy.magicライブラリのCPython実装で利用できます。 私が知る限り、スタックレス開発はやや静かですが、Erlang-liteの機能のほとんどはPyPyに移行しています。 – Ryan