uvloop —— 超级快的 Python 异步网络框架
uvloop —— 超级快的 Python 异步网络框架
可译网 发表于8个月前
uvloop —— 超级快的 Python 异步网络框架
  • 发表于 8个月前
  • 阅读 62
  • 收藏 1
  • 点赞 0
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

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

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

共有 人打赏支持
粉丝 4
博文 11
码字总数 3671
×
可译网
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: