微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

libaco 轻量级 C 非对称协程库

程序名称:libaco

授权协议: Apache

操作系统: 跨平台

开发语言: C/C++

libaco 介绍

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 约束下最快的上下文切换实现。

原理示意图:

libaco 官网

https://github.com/hnes/libaco

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐