×

libaco轻量级C非对称协程库

消耗积分:0 | 格式:zip | 大小:1.25 MB | 2022-06-23

凤毛麟角

分享资料个

授权协议 Apache
开发语言 C/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 约束下最快的上下文切换实现。

原理示意图:

poYBAGKn5giAYdxKAAIShMd9YT8388.jpg

pYYBAGKn5gqAH5ywAAHL0L7Frhw518.jpg

pYYBAGKn5gyAYvxeAAHkoIVIqAo976.jpg

poYBAGKn5g2AIcaNAAKxJ66tT98548.jpg

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !