使用 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()