0
回答
uvloop —— 超级快的 Python 异步网络框架
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

asyncio是遵循Python标准库的一个异步 I/O框架.在这篇文章里,我将介绍 uvloop: 可以完整替代asyncio事件循环.uvloop是用Cython写的,基于 libuv.

uvloop 使得 asyncio 更快. 实际上,比nodejs,gevent,以及其他任何Python异步框架至少快两倍 .uvloop asyncio 基于性能的测试接近于Go程序.

asyncio 和 uvloop

asyncio 模块, 是在 PEP 3156引入的, 是一个集合,包含网络传输, 协议, 和抽象的流, 带有可插拔的事件循环. 事件循环是asyncio的核心.它提供如下API:

  • 调用方法的调度
  • 通过网络传输数据
  • 执行 DNS 查询,
  • 处理 OS 操作系统信号
  • 对创建服务器和连接进行封装
  • 子进程异步处理

目前 uvloop 只支持 *nix 平台和 Python 3.5。

uvloop 是 Python 内建的 asyncio 事件循环的替代品,你可以通过 pip 来安装:

$ pip install uvloop

在你的 asyncio 代码中使用 uvloop 非常简单:

import asyncio
import uvloop
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())

上面的代码片段让 asyncio.get_event_loop() 返回一个 uvloop 的实例。

阅读全文:https://coyee.com/article/10773-uvloop-blazing-fast-python-networking

举报
可译网
发帖于7个月前 0回/246阅
顶部