libuv 只是 POSIX 系统上 libev 的包装器吗?

use*_*896 5 libev libuv

我真的很困惑 libev 和 libuv。

libuv 只是 POSIX 系统上 libev 的包装器吗?

如果不是,它的区别在哪里?

Ste*_*mer 2

不再,从 libuv-v0.9 开始

这是 libuv github 问题,跟踪 libev 从 libuv 中的删除。

引用上面链接的问题,删除的原因是:

如果有项目观察者想知道,libev 为我们提供了很好的服务,但是:

  1. 它仅支持电平触发的 I/O。在 Linux 上,我们希望使用边缘触发模式 - 它可以大幅减少系统调用的数量。

  2. libev 的内部循环做了很多我们并不真正需要的事情。像我们在649ad50中所做的那样,对内循环进行了内部循环处理,在某些基准测试中性能提高了 40%。