[原创] 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
相关文章推荐
- Jackson和fastjson简单用法及性能对比
- C#调用 F# 及简单性能对比(转)
- 【原创】构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化措施
- Android UDP通信的简单实例和用法归纳,以及与TCP对比、常见问题
- flask、tornado、BaseHTTPServer性能简单对比
- freebsd下apache的worker/prefork模式性能的简单对比
- java.io和java.nio性能简单对比
- [原创]简单讲一下类成员函数指针的用法
- Java 遍历文件夹的几种方式及简单性能对比
- C#调用F#及简单性能对比
- nuc972平台qt+dfb+2d简单性能对比测试
- Provider,ORMLite,GreenDao的实现,并且简单性能对比
- JRuby和Ruby性能简单对比
- 【原创】构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化措施
- Linux系统下主机性能分析工具nmon的简单用法
- 原创:关于UIButton嵌入到UIView点击无反应问题的解决方法和delegate的简单用法示例
- myconnpy, myconnpy + psyco与MySQLdb简单性能测试对比
- Java读写文件API的用法指南,性能分析与对比。
- [原创]PHP4和PHP5性能测试和对比
- Impala、Hive性能简单对比测试