性能
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许可下双重许可
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。