groutine协程库

本文从WordPress迁移而来, 查看全部WordPress迁移文章

项目地址:https://github.com/scaugrated/groutine

groutine是一个基于ucontext实现的协程库,实现的协程原语包括CoCreate, CoResume, CoYield

使用共享栈来优化了协程的栈空间分配。

目前共享栈的实现还比较简单,每次协程切换都会发生memcpy。

实际分配给每个协程的栈空间不需要1024 1024 8这么大。下一步的优化是将共享栈切分成更小的内存块,减少共享冲突的次数。

参考了云风的协程库实现

update: 2017-05-21

已完成共享栈的优化,并且修复了不少bug,同时添加了一个简单的测试用例