4

Jython (2.5.1) で BeautifulSoup (3.1.0.1) を実行しようとしたところ、CPython よりもはるかに遅いことに驚きました。ページ ( http://www.fixprotocol.org/specifications/fields/5000-5999 ) を CPython で解析すると、1 秒弱 (正確には 0.844 秒) かかりました。Jython では 564 秒かかりました。これはほぼ 700 倍です。

誰でもこの結果を確認できますか? Jython が CPython より 700 倍遅く実行されるのは合理的ではないようです。おそらく、私の設定に何か問題があります。

[編集]これをテストするために使用したコードは次のとおりです(当然、上記のHTMLファイルをダウンロードしました):

import time
from BeautifulSoup import BeautifulSoup
data = open("fix-5000-5999.html").read()
start = time.time()
soup = BeautifulSoup(data)
print time.time() - start
4

1 に答える 1

6

同様の調査結果を確認できます。

Intel Mac、OS X 10.6.1、Java 1.6.0_15 64 ビット、Jython 2.5.1。

コードを CPython 2.6.1 で実行すると 0.1 ~ 0.2 秒かかりますが、Jython で実行すると少なくとも数十秒かかります。30 時間以上待ちませんでした。CPU も大量に使用します。

Beautiful Soup 3.0.7a は別のパーサーを使用しているため、試してみましたが、結果は同じでした。

興味深いことに、あなたのコードを別の HTML ファイルで実行してみましたが、うまくいきました。しかし、それでも CPython よりもかなり遅いように見えました。Jython は 1.02 ~ 1.3 秒かかりました。CPython は 0.019 ~ 0.020 かかりました。

現時点では、 jthon-usersリストでこの質問をすることを検討することを除いて、提案はありません。主任開発者を含むコミュニティは、反応がよく、役立つものであることがわかりました。

幸運を!

于 2009-11-03T06:11:54.553 に答える