目前使用 requests 库去进行一些 api 的访问,惊讶的发现 requests 库速度相较于 urllib3 慢非常多
$ url = "https://httpbin.org"
$ %timeit r = requests.get(url)
119 ms ± 42.5 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
$ %timeit r = httpx.get(url)
%117 ms ± 17.6 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
$ http = urllib3.PoolManager()
$ %timeit response = http.request("GET", url)
The slowest run took 6.87 times longer than the fastest. This could mean that an intermediate result is being cached.
10.6 ms ± 6.91 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
其中还尝试了 session 等方法,貌似也没有变快,上面的是多次的测试,我还做了一次请求的测试,看上去也是很慢
看了看源码和原理,想象不出来这个速度差来自哪里?
需求就是请求网址需要快,但不一定需要多次请求
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.