libaco轻量级 C 非对称协程库
libaco - 一个极速的轻量级 C 非对称协程库。
(10 ns/ctxsw + 一千万协程并发仅耗内存 2.8GB + Github Trending)
下面是这个项目的简要介绍:
除了一个生产级别的 C 协程库实现,还包含了一个详细的文档描述了如何实现一个 最快且正确 的协程库以及其严格的数学证明;
核心实现不超过 700 行代码,包含了一个协程库应该有的全部功能;
在 AWS c5d.large 机器上的性能测试结果指出,一次协程间上下文切换仅耗时 10 ns (独立执行栈);
用户在创建新的协程时,可以选择其拥有一个独占的执行栈,或者是与其它任意数量的协程一起共享一个执行栈;
拥有极致的内存使用效率:一千万个协程并发执行仅消耗 2.8GB 的物理内存( tcmalloc, 每一个协程使用 120B 的复制栈)。
上文中的"最快"指的是在满足 Sys V ABI Intel386 或者 AMD64 约束下最快的上下文切换实现。
原理示意图:
评论
stdex.coroutineC++11 非对称协程库
C++11 非对称协程库(只需要单独一个.h文件)支持几个必备的协程原语(命名空间coroutine
stdex.coroutineC++11 非对称协程库
0
stdex.coroutineC++11 非对称协程库
C++11非对称协程库(只需要单独一个.h文件)支持几个必备的协程原语(命名空间coroutine):创建协程:routine_t create(std::function<void()>
stdex.coroutineC++11 非对称协程库
0
orchidC++ 协程库
orchid是一个构建于强大的boost库基础上的C++库,类似于python下的gevent/eventlet,为用户提供基于协程的并发模型。协程,顾名思义,协作式程序,其思想是,一系列互相依赖的协
orchidC++ 协程库
0
CurioPython 协程库
Curio是Python第三方实现的协程库。Python的并发编程async/await是一套接口,允许第三方实现,官方的实现是标准库asyncio。Curio 相比官方的asyncio使用起来更简单
CurioPython 协程库
0
libgoStackful 协程库
libgo是一个使用C++编写的协作式调度的stackful协程库, 同时也是一个强大的并行编程库。设计之初是为高并发分布式Linux服务端程序开发提供底层框架支持,可以让链接进程序的同步的第三方库变
libgoStackful 协程库
0