以下代码向twitter发出http请求:
Version1(非异步): http://pastebin.com/whiufBCF
版本2(异步): http://pastebin.com/qYYw5CVu
使用SIEGE进行测试,非同步版本的事务率为3.20trans /秒,而异步版本为12.59trans /秒。异步版本只是在get方法上使用了异步装饰器,并将代码拆分为两部分但不会减少。那么为什么交易率会大大提高呢?
答案 0 :(得分:1)
异步版本可以同时向“飞行中”发送多个Twitter请求,而同步版本必须等待每个请求在开始下一个请求之前完成。
因此,异步版本可以更有效地利用其时间,而不仅仅是在等待单个HTTP请求完成时无所事事。