`
titanfoot
  • 浏览: 261281 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

基准测试:libev vs libevent

阅读更多
原文:http://libev.schmorp.de/bench.html
关于libev的介绍请见:
http://titanfoot.iteye.com/blog/183364

本文主要描述基于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



分享到:
评论
2 楼 titanfoot 2008-06-03  
没有对libev的实际性能和稳定性做过测试!
1 楼 vdgame 2008-06-03  
libev 的稳定性如何?毕竟libevent有很多成功案例

相关推荐

    libevent-devel-1.4.13-4.el6.x86_64.rpm

    libevent-devel-1.4.13-4.el6.x86_64.rpm需要的人可以拿去

    libev-libevent-devel-4.15-3.el7.x86_64.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    libev 手册 libev 分析

    它和 libevent 很像,可以作为 libevent 的替代者,能够提供更高的性能,不需要复杂的配置。 Libev 的主要特点是: * 高性能:Libev 的设计目标是提供高性能的事件循环,能够满足高性能网络应用的需求。 * 多功能...

    libev 中文手册(只有一小部分是中文,酌情下载)

    libev中文手册 libev是一个高性能事件循环/事件模型的网络库,包含大量新特性。它是继lievent和Event perl module之后的一套全新网络库。libev的目标是速度更快,bug更少,特性更多,体积更小。 libev事件循环库的...

    libev-libevent-devel-4.15-7.el7.x86_64.rpm

    离线安装包,亲测可用

    libhv libev libuv libevent 2020-08-28 最新源代码

    这里提到的"libhv libev libuv libevent 2020-08-28 最新源代码"是一组用于跨平台网络开发的重要库,它们在2020年8月28日更新到了最新版本。这四个库各具特色,都在解决异步事件驱动编程的问题上提供了高效且灵活的...

    事件库libev3.7

    **事件库libev3.7详解** libev是一个开源、跨平台的事件库,它提供了一个高度优化的事件循环机制,适用于处理大量的并发网络连接。libev的主要目标是实现一个高性能、灵活且易于使用的事件库,它在设计时充分考虑了...

    libev开源库源码

    这个开源库源码的分析将深入探讨libev的设计理念、核心功能、与libevent的区别,以及如何在Linux环境下利用epoll机制实现高效事件驱动编程。 1. **libev的基本概念** - **事件循环(Event Loop)**:libev的核心...

    libev-libevent-devel-4.24-6.el8.x86_64.rpm

    官方离线安装包,亲测可用

    libev源码和文档

    - **性能**: libev通常在性能上优于libevent,尤其是在处理大量事件时。 - **事件源处理**: libev的事件源处理更加灵活,支持更多类型的事件源。 - **社区支持**: 两者都有活跃的社区,但libev的文档可能更为详尽...

    libev4.25.zip

    《深入理解libev:事件驱动库的高效实现》 libev是一个开源的、跨平台的事件循环库,它被设计成高性能且易于使用的工具,用于处理异步事件。标题中的"libev4.25.zip"表明这是一个包含了libev 4.25版本的压缩包文件...

    libev-libevent-devel-4.24-6.el8.i686.rpm

    官方离线安装包,亲测可用

    libev-4.24.tar.gz

    **libev库详解** libev是一个高性能的事件库,它为C语言提供了异步事件处理的能力,被广泛用于网络编程和系统监控等领域。版本4.24是libev的一个稳定版本,提供了许多改进和修复,确保了在各种操作系统上的可靠性和...

    使用 libevent 和 libev 提高网络应用性能

    ### 使用 libevent 和 libev 提高网络应用性能 #### 简介 在现代服务器应用程序开发过程中,如何高效地管理大量的网络连接成为了一个至关重要的课题。随着互联网技术的发展,特别是移动互联网和物联网技术的兴起,...

    libev-libevent-devel-4.24-6.el8.aarch64.rpm

    离线安装包,亲测可用

    libev-libevent-devel-4.24-6.el8.ppc64le.rpm

    离线安装包,亲测可用

    为Qt添加libevent的高性能事件循环qt_eventdispatcher_libevent.zip

    qt_eventdispatcher_libevent 是基于 Libevent 的 Qt 事件调度器 特点 非常快速 支持Qt4和Qt5 不需要Qt的私有头文件 通过Qt4 和 Qt5 的事件调度,事件循环,...

    libev4.22库

    虽然libevent也是一个知名的事件库,但libev在某些方面表现出更高的效率。libev的性能优势主要体现在以下几个方面: - **更底层的API**:libev的API设计更为简洁,使得程序员可以更直接地控制事件循环,从而实现更...

    libevent2.0.4 for linux

    9. **替代品:**libevent的竞争对手包括libev和libuv,它们各有优缺点,选择哪个取决于具体项目需求。 10. **调试与优化:**在开发过程中,可以利用libevent的调试标志和性能分析工具,优化代码性能和调试问题。 ...

    libev_libevio_Vc_

    《深入理解libev与libevio在Vc环境下的应用》 libev是一个高效、功能丰富的事件库,它被设计用来处理各种类型的I/O事件,包括文件描述符、信号、定时器以及自定义事件。libev是用C语言编写的,因此具有良好的跨平台...

Global site tag (gtag.js) - Google Analytics