高性能网络库 libGod-2.0.2-testing 发布

p34f 10年前

简介

    libGod是一个全异步+协程机制实现的网络库,适用于windows、linux、bsd等多种平台。内部使用IOCP、epoll、 kqueue等系统调用管理事件机制,同时巧妙的利用协程,将复杂的异步逻辑转换为同步,使用起来非常简单。libGod致力于为游戏、云计算等高并发服 务器提供一个高性能而且简单易用的底层,封装了多线程,IO,内存缓冲区等复杂逻辑,上层应用只要专注写逻辑,使用libGod很容易就可以开发出一个高 性能高并发的服务器。

从2.0版本开始,有两个大的变化:

  1. 为了加快开发进度,暂时去除了linux以外平台的支持,专注于linux平台的开发。
  2. 分 出了单线程和多线程版本。我们专门针对单线程进行了特殊优化,调度性能比多线程版本高。单线程版还有一个很大的优势就是逻辑更简单了。现在很多系统的线程 是抢占式的调度,访问共享资源就免不了加锁。协程是协作式调度,大部分情况下是不需要加锁的。而了解我们项目的应该都知道,libGod整个框架是基于协 程驱动的。libGod多线程版虽然也是基于协程,但因为夹杂着多线程的抢占式调度,所以处处还是需要加锁。而单线程版就是单纯的协作式调度,所以绝大部 分情况可以不用加锁。

经过几天的忙乎,2.0.2-testing版闪亮登场。

内容更新:

  1. 修复io_scheduler的概率性宕机问题。

  2. 统一定时器时间类型。

  3. 增加.zip、.sh两种打包方式。

以后大概每周出一个测试版,遇法定节假日推后。

项目地址:http://www.libgod.com/