libev:libevent的挑战者

 
libev 是高性能事件循环/事件模型的网络库,并且包含大量新特性。
它是继lievent和Event perl module之后的一套全新网络库。它追求的目标:速度更快,bug更少,特性更多,体积更小。
它和libevent很像,按照作者的介绍,可以作为libevent的替代者,能够提供更高的性能。并不需要复杂的配置。
希望它的出现,能为高性能网络应用注入新鲜血液。
它的出现真是应了那句:很快,很强大。
 
新版的 lighttpd 2.0 是 计划使用 libev 来代替 libevent 的,从这个角度看来,这个产品是将有成熟应用的。
 
下面看看基于libevent和libev的程序的结果比较数据:

libevent首个版本发布于2000-11-14.是高性能事件循环,支持简单的API,两种事件类型( I/O+timeout,signal+timeout),支持select,poll,epoll,kqueue等。

libev第一个版本发布于2007-11-12,也是高性能事件循环,支持八种事件类型(I/O,real time timers,wall clock timers,signals,child status changes, idle,check and prepare handlers)
它使用一种优先队列的方式管理计数器以及使用数组作为基础数据结构。对于相同事件监视器数没有人为的限制。它为libevent提供一个竞争层。
测试:
基准测试是一个很简单的示例。
libevent采用的1.3e版本,libev采用2007-11-12的beta版本,测试用例采用gcc version 4.1.3进行编译。
编译采用-O3 -fno-guess-branch-probability -g 参数优化,运行平台amd64(2G dul Opteron),Debian GNU/Linux(Linux version 2.6.21-2),都采用epoll 工作模式。
基准测试一,无超时,100和1000的活动客户端

基准测试二,空闲超时,100和1000个活动客户端


概要:
基准测试说明基于libev具有更低的消耗,因此要快于libevent,在api设计问题也在结果中扮演重要的角色,当采用计时器的时候native api比emulation API更有效。尽管这使得libev处于劣势,但它仍然要快于libevent
 
 
至于是否选择 libev 来开始你的下一个应用,自己决定吧。
 
 
 
 
 
 
 
 
 
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值