为什么下面的下载操作在Jython中的运行速度是Python的1/10?

2024-09-30 10:41:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python和jython中运行了以下代码:

import urllib2
import time
clock = time.clock()

def dlTest():
    global clock
    url = "http://##.##.##.##/EXACTADDRESSREDACTED/file.extension"
    print 'downloading update from: ' + url
    _ = urllib2.urlopen(url).read()
    print 'finished in ' + str(time.clock() - clock)
    clock = time.clock()

dlTest()

我惊讶地发现,尽管有许多重复的测试,jython执行这个下载几乎需要10秒,而Python只需要1/2秒。有什么想法吗?你知道吗

我使用的是python2.7和jython2.5.3,我下载的文件是40MB,在两次下载中都完好无损。我只是不把它保存在上面代码中的磁盘上,因为我试图保持示例的整洁。当写入磁盘时,测试执行相同的操作。下载是通过本地连接进行的,而不是通过internet连接,用python实现的速度是预期的速度。你知道吗

进一步的测试表明,Jython在执行开始后开始下载似乎需要更长的时间(4秒,而不是.06),同时执行实际下载的速度也更慢(5秒,而不是.5秒)。你知道吗


Tags: 代码importhttpurltimedefjythonurllib2

热门问题