我真的很困惑libev和libuv。
libuv 只是 POSIX 系统上 libev 的一个包装器吗?
如果不是,那有什么不同呢?
不再,因为 libuv-v0.9
这是 libuv github 问题,它跟踪从 libuv 中删除 libev。
删除的原因是,引用上述链接问题:
如果有任何项目观察者想知道,libev 为我们提供了很好的服务,但是:
它只支持电平触发的 I/O。在 Linux 上,我们希望使用边缘触发模式——它可以大幅减少系统调用的数量。
libev 的内部循环做了很多我们并不真正需要的事情。像我们在649ad50中所做的那样去除内部循环在某些基准测试中提高了 40% 的性能。
为了完整起见,截至今天,我们仍然不在 Linux 上使用边缘触发 I/O。