Skip to content

libgo - 2.0

Compare
Choose a tag to compare
@yyzybb537 yyzybb537 released this 23 Jan 11:31
· 532 commits to master since this release

1.完全支持Windows平台

支持Win7、Win8、Win10的x86和x64版本

2.提供更多的CMake编译选项

ENABLE_BOOST_COROUTINE
    libgo在Linux系统上默认使用ucontext做协程上下文切换,开启此选项将使用boost.coroutine来替代ucontext.
    使用方式:
        $ cmake .. -DENABLE_BOOST_COROUTINE=1

ENABLE_SHARED_STACK
    使用ucontext做协程上下文切换时可以开启此选项,开启后多个协程将共享使用同一个栈,
    这个选项可以大概节约4倍的内存.
    但是会有一定的副作用,参见下面的WARNNING第四条.
    在使用ENABLE_BOOST_COROUTINE选项时, 此选项不可开启
    使用方式:
        $ cmake .. -DENABLE_SHARED_STACK=1

DISABLE_HOOK
    禁止hook syscall,开启此选项后,网络io相关的syscall将恢复系统默认的行为,
    协程中使用阻塞式网络io将可能真正阻塞线程,如无特殊需求请勿开启此选项.
    使用方式:
        $ cmake .. -DDISABLE_HOOK=1

3.减轻用户负担

默认编译参数下不再有协程栈上对象访问权限的限制

4.构建

libgo的源码、单元测试代码、性能测试代码全部使用CMake来构建

使用travis做持续集成、自动测试,保障代码可用性