質問
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 ユーザー リスト;リード開発者を含むそこのコミュニティは迅速に対応してくれ、役に立つことがわかりました。
幸運を!