小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI

在批评libco的上下文切换代码时,我认为协程只需恢复非易失性寄存器,而用户协程调度无需恢复易失性寄存器。为验证这一点,我编写了zcontext,发现其与boost.context的fcontext实现相似,均只恢复非易失性寄存器,从而显示出更快的上下文切换性能。

boost.fcontext 为何快?

菜菜博士
菜菜博士 · 2024-12-18T00:00:00Z

libco是腾讯开源的协程库,但存在设计缺陷,如干扰程序结构、强依赖调度器、使用过时的M:N模型及不支持标准C++用法。此外,上下文切换处理不当导致性能问题,整体上更像是“玩票”性质的库,受到不实崇拜。

点评 腾讯 的 协程库 libco

菜菜博士
菜菜博士 · 2024-12-17T00:00:00Z
libco 的定时器实现:时间轮

libco 的定时器实现采用单级时间轮,支持高效的超时事件管理,操作时间复杂度为 O(1),可处理最多 60 秒的超时事件。经过优化,libco 现已支持无限超时时间,允许灵活管理超时事件。时间轮使用环形数组结构,确保高效存取。

libco 的定时器实现:时间轮

编程沉思录
编程沉思录 · 2019-12-15T13:17:26Z

定时器是网络框架中非常重要的组成部分,往往可以利用定时器做一些超时事件的判断或者定时清理任务等。 定时器有许多经典高效的实现。例如,libevent 采用了最小堆实现定时器,redis 则结合自己场景直接使用了简单粗暴的双向链表。 时间轮也是一种非常经典的定时器实现方法。Linux 2.6 内核之前就采用了多级时间轮作为其低精度定时器的实现。而在微信的协程库 libco...

libco 的定时器实现:时间轮

编程沉思录
编程沉思录 · 2019-12-15T05:17:26Z
微信 libco 协程库源码分析

libco是微信开发的高效协程库,支持千万级协程调度。它通过hook技术实现阻塞IO的自动切换,优化上下文切换性能,并支持协程嵌套创建。libco的栈空间管理灵活,默认128k,不使用ucontext,从而提升性能。尽管开源维护不活跃,但其设计理念和功能在异步编程中具有重要价值。

微信 libco 协程库源码分析

编程沉思录
编程沉思录 · 2019-10-08T17:58:26Z

libco 是微信后台开发和使用的协程库,同时也是极少数的直接将 C/C++ 协程运用到如此大规模的生产环境中的案例。 在 《云风 coroutine 协程库源码分析》 中,介绍了有栈协程的实现原理。相比云风的 coroutine,libco 在性能上号称可以调度千万级协程。 从使用上来说,libco 不仅提供了一套类 pthread 的协程通信机制,同时可以零改造地将三方库的阻塞 IO...

微信 libco 协程库源码分析

编程沉思录
编程沉思录 · 2019-10-08T09:58:26Z

前言 之前写了 《协程框架(libcopp)v2优化、自适应栈池和同类库的Benchmark对比》 和 《C++20 Coroutine》 ,但是一直没写 C++20 Coroutine 的测试报告。 现在的草案版本比我当时写 《C++20 Coroutine》 的时候有了一点点更新,cppreference...

C++20 Coroutine 性能测试 (附带和libcopp/libco/libgo/goroutine/linux ucontext对比)

I'm OWenT
I'm OWenT · 2019-10-05T14:52:00Z
云风 coroutine 协程库源码分析

云风的协程库是一个轻量级的C语言实现,基于ucontext和共享栈模型,支持有栈协程。协程相比线程更轻量,能有效处理异步流程,提升后端开发效率。库的核心在于上下文切换,通过保存和恢复协程的上下文实现切换与管理。尽管代码简约,但在实际开发中可能不够完善,微信的libco库提供了更强大的工业级支持。

云风 coroutine 协程库源码分析

编程沉思录
编程沉思录 · 2019-09-19T14:26:19Z
  • <<
  • <
  • 1 (current)
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码