[python異步 第四篇 ] python3 異步庫

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 更快。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章