gpt4 book ai didi

python - 为什么 python gevent 比 serial 慢?

转载 作者:太空宇宙 更新时间:2023-11-03 11:56:17 24 4
gpt4 key购买 nike

我正在使用 gevent执行并发下载。
基于 this例如这是代码:

import gevent
from gevent import monkey

urls = ['https://www.djangoproject.com/','http://www.nytimes.com/','http://www.microsoft.com']
monkey.patch_all()

import urllib2
from datetime import datetime

def print_head(url):
print ('Starting %s' % url)
data = urllib2.urlopen(url).read()
print ('%s: %s bytes: %r' % (url, len(data), data[:50]))

startTime = datetime.now()
jobs = [gevent.spawn(print_head, url) for url in urls]
gevent.joinall(jobs)
totalTime = datetime.now() - startTime
print "Total time: %s" % totalTime

我的问题是上面的代码比串行版本花费的时间长得多,而且在大多数情况下它会超时。这是更快的串行版本:

import urllib2
from datetime import datetime

urls = ['https://www.djangoproject.com/','http://www.nytimes.com/','http://www.microsoft.com']

def print_head(url):
print ('Starting %s' % url)
data = urllib2.urlopen(url).read()
print ('%s: %s bytes: %r' % (url, len(data), data[:50]))

startTime = datetime.now()
for url in urls:
try:
print_head(url)
except:
print 'ops EXCEPTION :('

totalTime = datetime.now() - startTime
print "Total time: %s" % totalTime

最佳答案

好的
问题是一个旧的 gevent 包。
我刚刚卸载了旧的并从 here 安装了新的正如@reclosedev 指出的那样。
现在一切正常。

关于python - 为什么 python gevent 比 serial 慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9149196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com