python異步庫asyncio、uvloop
asyncio 是Python 標準庫裏的一個異步 I/O 框架。
uvloop : 是 asyncio 默認事件循環的一個代替品,實現的功能完整,且即插即用。uvloop 是用 Cython 寫的,建於 libuv 之上。
uvloop 可以使 asyncio 更快。事實上,它至少比 nodejs、gevent 和其他 Python 異步框架要快 兩倍 。基於 uvloop 的 asyncio 的速度幾乎接近了 Go 程序的速度。
在你的 asyncio 代碼中使用 uvloop 非常簡單:
import asyncio
import uvloop
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
上面的代碼片段讓 asyncio.get_event_loop()
返回一個 uvloop 的實例。
你還可以顯式的創建一個uvloop實例,通過調用uvloop.new_event_loop()。
綜上,asyncio 是python3標準庫中的一個異步I/O庫;uvloop是用Cython寫的,基於libuv(Unix實現epoll io模型的系統庫)的,實現了事件循環的功能,是asyncio 默認事件循環的一個代替品; uvloop 可以使 asyncio 更快。