libuv 与异步 (python)

libuv vs asyncio (python)

我一直在努力寻找 uvloop 和 python 内置的 asyncio 实现的区别。除了 libuv 作为 uvloop 的基础是用 c++ 编写的之外,没有其他因素在 web 中提到。我想知道影响异步的其他因素[它们之间的关系。

另外,这个 blog 由性能差异流和普通异步 io 组成,流不是从 asyncio 生成的,因此相互依赖吗?

正如你所说,uvloop 是在 libuv 之上用 Cython(相当于 c)编写的。

几乎可以保证在 Cython 中编写代码会给您带来显着的速度提升,这正是这里正在发生的事情。不需要任何其他区别。这很像 numpy 做操作比在 Python.

中正常写入更快

关于你的另一个问题:asyncio 和 asyncio-streams 之间的区别在于流是建立在基本 asyncio 之上的。

A​​syncio 使用transports and protocols,第一个负责写入套接字,第二个负责处理套接字接收到的数据。

Streams 是建立在两者之上的简单结构,并且有一个更易于使用的界面来模拟常规文件或套接字。