性能
uvloop使异步速度提高2-4倍
上图显示了具有不同消息大小的回应服务器的性能。这个插座基准使用loop.sock_recv()
和loop.sock_sendall()
方法;溪流Benchmark使用异步高级流,由asyncio.start_server()
函数;以及协议基准使用loop.create_server()
使用简单的回声协议。阅读有关uvloop的更多信息,请参阅blog post关于这件事
安装
uvloop需要Python 3.7或更高版本,并且在PyPI上可用。使用pip安装它:
$ pip install uvloop
请注意,强烈建议您升级pip之前使用以下命令安装uvloop:
$ pip install -U pip
使用uvloop
打电话uvloop.install()
在打电话之前asyncio.run()
或手动创建异步事件循环:
import asyncio
import uvloop
async def main():
# Main entry-point.
...
uvloop.install()
asyncio.run(main())
从源构建
要构建uvloop,您需要Python 3.7或更高版本:
- 克隆存储库:
$ git clone --recursive git@github.com:MagicStack/uvloop.git $ cd uvloop
- 创建虚拟环境并将其激活:
$ python3.7 -m venv uvloop-dev $ source uvloop-dev/bin/activate
- 安装开发依赖项:
$ pip install -e .[dev]
- 构建和运行测试:
$ make $ make test
许可证
uvloop在MIT和Apache 2.0许可下双重许可