与Jython的BeautifulSoup

eli*_*ner 4 python jython beautifulsoup

我只是尝试用Jython(2.5.1)运行BeautifulSoup(3.1.0.1),我惊讶地发现它比CPython慢​​多少.使用CPython 解析页面(http://www.fixprotocol.org/specifications/fields/5000-5999)只需不到一秒钟(确切地说是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
Run Code Online (Sandbox Code Playgroud)

Avi*_*lax 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.

此时我没有任何建议,只是你应该考虑在jython-users列表中提出这个问题; 我发现那里的社区,包括首席开发人员,都具有响应性和帮助性.

祝好运!