高性能网络库 libGod-2.0.2-testing 发布
p34f 10年前
简介
libGod是一个全异步+协程机制实现的网络库,适用于windows、linux、bsd等多种平台。内部使用IOCP、epoll、 kqueue等系统调用管理事件机制,同时巧妙的利用协程,将复杂的异步逻辑转换为同步,使用起来非常简单。libGod致力于为游戏、云计算等高并发服 务器提供一个高性能而且简单易用的底层,封装了多线程,IO,内存缓冲区等复杂逻辑,上层应用只要专注写逻辑,使用libGod很容易就可以开发出一个高 性能高并发的服务器。
从2.0版本开始,有两个大的变化:
- 为了加快开发进度,暂时去除了linux以外平台的支持,专注于linux平台的开发。
- 分 出了单线程和多线程版本。我们专门针对单线程进行了特殊优化,调度性能比多线程版本高。单线程版还有一个很大的优势就是逻辑更简单了。现在很多系统的线程 是抢占式的调度,访问共享资源就免不了加锁。协程是协作式调度,大部分情况下是不需要加锁的。而了解我们项目的应该都知道,libGod整个框架是基于协 程驱动的。libGod多线程版虽然也是基于协程,但因为夹杂着多线程的抢占式调度,所以处处还是需要加锁。而单线程版就是单纯的协作式调度,所以绝大部 分情况可以不用加锁。
经过几天的忙乎,2.0.2-testing版闪亮登场。
内容更新:
-
修复io_scheduler的概率性宕机问题。
-
统一定时器时间类型。
-
增加.zip、.sh两种打包方式。
以后大概每周出一个测试版,遇法定节假日推后。
项目地址:http://www.libgod.com/