您的位置:首页 > 理论基础 > 计算机网络

[原创] pycurl简单用法与urllib2性能对比

2011-02-28 18:52 351 查看
#coding: utf-8
import pycurl
import StringIO
import urllib2
def f(url):
c = pycurl.Curl()
c.setopt(pycurl.URL, url)
b = StringIO.StringIO()
c.setopt(pycurl.WRITEFUNCTION, b.write)
c.setopt(pycurl.FOLLOWLOCATION, 1)
c.setopt(pycurl.MAXREDIRS, 5)
c.perform()
return b.getvalue()
def l(url):
return urllib2.urlopen(url).read()
def t(func):
import time
n = time.time()
for i in xrange(10000):
func('http://10.20.187.231/')
return time.time() - n
print 'pycurl',  t(f)
print 'urllib2', t(l)


最简单的测试: 一个for循环; 使用一个内网IP,减少网络问题。

 

结果输出 :

pycurl 9.5188128948

urllib2 15.1496920586

 

最主要是cpu占用问题。pycurl时,占cpu只有urllib2的 1/3= 20% : 60% , 差别还是比较大!

pycurl网络接收速度是 urllib2的两倍。

 

pycurl文档:
http://pycurl.sourceforge.net/doc/pycurl.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  import url 网络 文档 测试 c