2010-12-08 6 views
15

PyPyはNLTKで動作しますか?そうであれば、Bayesianクラシファイアのようにかなりの性能改善がありますか?PyPyはNLTKで動作しますか?

私たちがいる間、他のpython環境(shedskinなど)はcpythonよりも優れたnlktパフォーマンスを提供しますか?

+0

私はpypyについて知りません(と私はそれが動作するように働く必要があると思うpypy FAQを読んで)。私はIronPythonとほぼ同じだが疑問に思っている。 – winwaed

+0

質問に対する回答を削除して答えとして挿入する必要があります。 –

答えて

4

私が言ったこと(ソが、ここにご返信ください)電子メールで回答を得た:

主な問題点は以下のとおりです。

PyPyはPythonの2.5を実装しています。これは、 "with future import with_statement"をここに追加し、property.setterの使用法を書き直し、os.walkのような2.6のライブラリ呼び出しを修正することを意味します。

NLTKにはPyYAMLが必要です。 pypy-1.4/site-packagesの作業にsymlink(またはコピー)するだけです。

そして:

あなたはNLTKはPyPyで実行されていますか、もしそうなら、あなたはパフォーマンスの改善を見ていますか?

はい、はいです。

明らかに、NLTKはPyPyで動作し、パフォーマンスが向上しています。

5

NLTKの少なくともいくつかはPyPyで動作し、#pypy on freenodeの人によると、パフォーマンスが向上しています。何かテストをしましたか? pypy.org/download.htmlからPyPyをダウンロードし、 "time python yourscript.py data.txt"の代わりに "time pypy yourscript.py data.txt"と入力してください。

+0

PyPy 1.4.0でnltkを試してみました。Pythonライブラリのパスとインポートの問題のいくつかを実行し、それらを修正し、さらに実行し、動作させる前にあきらめました。私はおそらくそれにもう一度試してみましょうが、誰かがすでに成功していたかどうかを見たいと思っていました。 – Parand

+1

コメント電子メールで受け取りました:主な問題は次のとおりです。 1. PyPyはPython 2.5を実装しています。これは、 "__future__ import with_statement"をここに追加し、property.setterの使用法を書き直し、os.walkのような2.6のライブラリ呼び出しを新しく修正することを意味します。 2. NLTKにはPyYAMLが必要です。 pypy-1.4/site-packagesがsymlink(またはコピー)されます。 – Parand

+2

2.7のサポートが進行中ですが、おそらく1月に着陸しますが、あなたは次の方法で2.7サポートの現在の状態を取得できます(自分で翻訳/コンパイルできます): "hg clone https://bitbucket.org/pypy/pypy && hg 「早送り早送り」を意味する。 – TryPyPy

3

plpでnltkを実行できます。 a benchmark under pypy 1.8がありますが、それ以降のリリース(現在はpypy 2.0が最新です)でもパフォーマンスは向上します。最近nltk runs its unit tests under pypy、nltkの開発者はそれが動作するようにしています。

関連する問題