Python - uvloop
Python標准庫中提供了asyncio
模塊,用於支持基於協程的異步編程。
uvloop是 asyncio 中的事件循環的替代方案,替換后可以使得asyncio性能提高。事實上,uvloop要比nodejs、gevent等其他python異步框架至少要快2倍,性能可以比肩Go語言。
安裝
pip3 install uvloop
在項目中想要使用uvloop替換asyncio的事件循環也非常簡單,只要在代碼中這么做就行。
import asyncio
import uvloop
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
# 編寫asyncio的代碼,與之前寫的代碼一致。
# 內部的事件循環自動化會變為uvloop
asyncio.run(...)
注意:知名的asgi uvicorn內部就是使用的uvloop的事件循環。