libev 4.27 更新 Linux AIO 支持

栏目: 软件资讯 · 发布时间: 6年前

内容简介:介绍 libev是一个C语言实现的高性能事件驱动网络库, 目前能在多个平台下提供高性能后端支持. 更新内容 这个版本主要增加了一个新的后端,"Linux AIO",它使用了新的Linux 4.18引入的事件轮询机制. 它目前在默认情...

介绍

    libev是一个 C语言 实现的高性能事件驱动网络库, 目前能在多个平台下提供高性能后端支持.

更新内容

    这个版本主要增加了一个新的后端,"Linux AIO",它使用了新的 Linux 4.18引入的事件轮询机制.

    它目前在默认情况下不会被使用. 除非您明确向标志添加EVBACKEND_LINUXAIO或通过设置LIBEV_FLAGS环境变量。

    Linux AIO后端可能会在后期添加到推荐后端当中并且优先于epoll(可能是4.28).

    如果Linux AIO可用将会使用它,否则会自动回退到epoll和poll/select的后端实现,你可以像这样运行它:

       LIBEV_FLAGS = 127 ./myprog

    您可以这样来尝试强制使用Linux AIO:

        LIBEV_FLAGS = 64 ./myprog

4.27 更新:

  • 近乎完全重写的Linux AIO, 解决了诸多的限制.
  • 在Linux AIO的后端中还强制依赖一些epoll实现(epoll backend now mandatory for linux aio backend).
  • 对于无效的fd(文件描述符)会在事件循环中进行断言而非之前的默默丢弃.
  • 当EV_VERIFY宏定义为2或更高的时候, 会在ev_io_start/ev_io_stop中使用系统调用验证观察者fd.

4.26 更新:

  • 更新libecb至0x00010006.
  • 新的实验性Linux AIO后端(linux 4.18+).
  • 删除了ev_once中的冗余检查.
  • 更新ev_set_allocator文档.
  • 通过array_needsize_noinit替换了EMPTY2宏.
  • epoll后端在fork之后使用epoll_create1进行创建.
  • 一些次要的代码清理工作.

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

实现领域驱动设计

实现领域驱动设计

Vaughn Vernon / 滕云 / 电子工业出版社 / 2014-3 / 99.00元

领域驱动设计(DDD)是教我们如何做好软件的,同时也是教我们如何更好地使用面向对象技术的。它为我们提供了设计软件的全新视角,同时也给开发者留下了一大难题:如何将领域驱动设计付诸实践?Vaughn Vernon 的这本《实现领域驱动设计》为我们给出了全面的解答。 《实现领域驱动设计》分别从战略和战术层面详尽地讨论了如何实现DDD,其中包含了大量的最佳实践、设计准则和对一些问题的折中性讨论。《实......一起来看看 《实现领域驱动设计》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具