libev 4.27 更新 Linux AIO 支持

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

内容简介:介绍 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进行创建.
  • 一些次要的代码清理工作.

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

查看所有标签

猜你喜欢:

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

The Nature of Code

The Nature of Code

Daniel Shiffman / The Nature of Code / 2012-12-13 / GBP 19.95

How can we capture the unpredictable evolutionary and emergent properties of nature in software? How can understanding the mathematical principles behind our physical world help us to create digital w......一起来看看 《The Nature of Code》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器