2008-09-17 18 views
9

私は比較的新しいPythonです。私はいつも標準のcpython(v2.5)実装を使用しています。さまざまなPython実装の長所と短所は何ですか?

私は他の実装、特にJythonとIronPythonについて疑問に思っています。それをより良くするには?何が悪化するのでしょうか?それ以外の実装は何ですか?

私が探しているのは、各実装の賛否両論の要約とリストです。

答えて

1

長所:JVMまたはCLRで使用可能なライブラリへのアクセス。

短所:両方とも、CPythonの特徴の点では自然に遅れています。

15

JythonのIronPythonのあなたが別のプラットフォームで書かれた既存のライブラリとインターフェースをオーバーライドする必要がある場合は、Javaの100,000行を持っていて、わずか20行のPythonスクリプトを記述する場合のように、便利です。私の意見では、コミュニティ慣性のためにCPythonの背後にいくつかのバージョンが永久に存在するため、他の何ものにも特に有用ではありません。

スタックレスは緑色のスレッド、継続などをサポートしているので興味深いです。Erlang-liteの並べ替え。

PyPyは、ある日、CPythonに取って代わるかもしれない実験的なインタプリタ/コンパイラですが、今は新しいアイデアのためのテストベッドです。

+1

Stackless(緑色のスレッドなど)用の魔法のいくつかは、Pythonで開発されたpy.magicライブラリのCPython実装で利用できます。 私が知る限り、スタックレス開発はやや静かですが、Erlang-liteの機能のほとんどはPyPyに移行しています。 – Ryan

3

実装のすべてがここに記載されている:

https://wiki.python.org/moin/PythonImplementations

CPythonのは、「リファレンス実装」であり、グイドとコア開発者によって開発されました。

+1

リンクは現在404(2012年8月)です。 – FooF

1

IronPythonとJythonは.NETまたはJavaのランタイム環境を使用し、Just In Timeコンパイルと元のCPythonとは異なるガベージコレクタを使用します。彼らはJITのおかげでCPythonよりも速いかもしれませんが、確かに分かりません。

JythonまたはIronPythonを使用することの欠点は、ネイティブCモジュールを使用できないことです.CPythonでのみ使用できます。

1

PyPyは、PythonサブセットであるRPythonで書かれたPython実装です。

RPythonは、VMで実行するように変換することも、標準のPythonとは異なり、RPythonを静的にコンパイルすることもできます。

6

少なくともいくつかはJythonのもう一つの利点はit lacks the GIL(グローバルインタープリタロック)であり、Javaのネイティブスレッドを使用しています。これは、純粋なPythonコードを並列で実行できることを意味し、GILでは不可能です。

+0

IronPythonと同じです! –

関連する問題