質問

BeautifulSoup (3.1.0.1) を Jython (2.5.1) で実行しようとしたところ、CPython よりもはるかに遅いことに驚きました。ページを解析しています (http://www.fixprotocol.org/specations/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
役に立ちましたか?

解決

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

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 かかりました。

現時点では、この質問をすることを検討すること以外に提案はありません。 jython ユーザー リスト;リード開発者を含むそこのコミュニティは迅速に対応してくれ、役に立つことがわかりました。

幸運を!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top