使用 UVLoop
uvloop 是基于 libuv 的 asyncio.AbstractEventLoop 的实现(由 nodejs 使用)。它符合 99%的 asyncio 功能,比传统的 asyncio.EventLoop 快得多。uvloop 目前在 Windows 上不可用,请用 pip install uvloop 安装。
import asyncio
import uvloop
if __name__ == "__main__":
asyncio.set_event_loop(uvloop.new_event_loop())
# Do your stuff here ...
也可以通过将 EventLoopPolicy 设置为 uvloop 中的一个来更改事件循环工厂。
import asyncio
import uvloop
if __name__ == "__main__":
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
loop = asyncio.new_event_loop()