摘要:
此文主要分析libev 的设计架构与算法实现,阅读这篇文章之前,你需要对libev 的使用有大致的了解;libev 提供了很多watcher 供开发者使用 ,以下仅对最重要最常用的几个watcher 机制进行分析,从中我们可掌握整个libev的设计思想,如果你想了解更多,可查阅libev的相关代码或文档。 ev_io_watcher如我们所知,新的fd总是系统可用的最小fd ,所以这个长度可以进行大小限制的,我们用一个连续的数组来存储fd/watch 信息,如下图所示,我们用anfd[fd] 就可以找到对应的fd/watcher 信息,当然可能遇到anfd超出我们的buffer长度情形,这是我 阅读全文
摘要:
基准测试一,无超时,100和1000的活动客户端基准测试二,空闲超时,100和1000个活动客户端概要:基准测试说明基于libev具有更低的消耗,因此要快于libevent,在api设计问题也在结果中扮演重要的角色,当采用计时器的时候native api比emulation API更有效。尽管这使得libev处于劣势,但它仍然要快于libevent。第一版fapws(wsgi服务器)是基于pyevent的,第二版是用c写的,使用了libevent,当前的第3版也是用c写的,使用了libev。Libev官网:http://software.schmorp.de/pkg/libev.html 阅读全文
摘要:
1. libcurl2. openssl3. zlib4. c-ares5. libevent6. libevA full-featured and high-performance (see benchmark) event loop that is loosely modelled after libevent, but without its limitations and bugs. It is used in GNU Virtual Private Ethernet, rxvt-unicode, auditd, the Deliantra MORPG Server and Clien 阅读全文