测试了一下 requests 的效率

2015-02-07 19:16:20 +08:00
 josephok
欢迎讨论。

http://josephok.github.io/2015/02/07/requests-test/
3054 次点击
所在节点    Python
9 条回复
invite
2015-02-07 19:48:12 +08:00
单线程的时候,没有对比的?

比如用wget单个单个的下,看看耗时多少。

而且,测一次很明显不能排除耗时是否由网络引起或者对方服务器引起。
leyle
2015-02-07 19:49:15 +08:00
看了你的文章了,你的结论是什么?
leyle
2015-02-07 19:51:13 +08:00
@leyle 可以得出的一个结论是,在 python 编写的程序中,I/O bound 型应用,使用多线程能大大提高效率。
lincanbin
2015-02-07 19:54:09 +08:00
干扰变量没有控制,测试准确性存疑。
我觉得你可以通过有线网络访问内网一台Web服务器进行抓取,这样的结果所受干扰变量较少。
a2z
2015-02-07 20:17:58 +08:00
我自己的测试是multiprocessing最快,gevent其次,threading有时候还不如单线程快……
VYSE
2015-02-08 10:05:38 +08:00
gevent改成grequest再测
ffffwh
2015-02-08 15:19:03 +08:00
这gevent靠谱么。。有试过手写回调的方案么。

可能单线程异步会稍微慢一点,弄2~3个应该差不多(线程数=c)。但I/O Bound用同步多线程(线程数=n)绝对是不好的。
josephok
2015-02-10 10:03:46 +08:00
@leyle 嗯 看了你的文章: http://www.leyle.com/archives/threading_and_queue.html 改天研究一下你的代码。
leyle
2015-02-10 10:27:38 +08:00
@josephok 哈哈,互相交流哈。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/169097

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX