Skip to content

libgo v2.6 released

Latest
Compare
Choose a tag to compare
@yyzybb537 yyzybb537 released this 20 Oct 09:07
· 294 commits to master since this release

v2.6是libgo的针对HTTP优化的版本,用于类似于HTTP这种半双工协议的场景下,性能相比上一个版本提升100%

主要变更

HOOK

  • 增加安全signal的功能, 可以让signal在Run中触发, 编译时需使用参数 -DWITH_SAFE_SIGNAL=ON. 以此解决linux对signal里面调用的函数必须可重入的要求.
  • Hook gethostbyname系列函数和gethostbyaddr系列函数,DNS解析阻塞也可以不阻塞线程了,具体实现依赖libcares. 编译时需使用参数 -DWITH_CARES=ON.

协程调度

  • 优化协程切换响应速度, 100个协程频繁切换, 速度可达到1100万次/s

网络IO

  • 默认使用ET模式,优化半双工协议场景的性能,提升100%

修复BUG

  • 修复使用std::fstream时无法hook到close的bug.