基准测试:libev vs libevent

libev与libevent性能对比
本文通过基准测试对比了libev与libevent的性能。libevent发布于2000年,支持简单的API和两种事件类型。libev发布于2007年,支持更多事件类型,并使用优先队列管理计数器。测试结果显示,在相同条件下libev的消耗更低,表现更优。
原文:[url]http://libev.schmorp.de/bench.html[/url]
关于libev的介绍请见:
[url]http://titanfoot.iteye.com/blog/183364[/url]

本文主要描述基于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的活动客户端
[img]http://libev.schmorp.de/dat.t0.png[/img]
基准测试二,空闲超时,100和1000个活动客户端
[img]http://libev.schmorp.de/dat.t1.png[/img]

概要:
基准测试说明基于libev具有更低的消耗,因此要快于libevent,在api设计问题也在结果中扮演重要的角色,当采用计时器的时候native api比emulation API更有效。尽管这使得libev处于劣势,但它仍然要快于libevent
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值