C++ 协程调度: 为什么等待密集型任务不必各占一个线程
以 State Threads 和 ISP 流水线为例,解释协程如何接管等待、为何单核等待任务不必各占一个线程,以及如何验证调度收益。
以 State Threads 和 ISP 流水线为例,解释协程如何接管等待、为何单核等待任务不必各占一个线程,以及如何验证调度收益。
在优化无锁消息总线的过程中,我们发现五个违反直觉的性能原则: 状态机提升 100% 吞吐、上下文切换减少 99.8%、队列容量无法解决速率失衡、批处理提升 76 倍吞吐、单核自旋性能下降 91%。每个原则附带 ARM 实测数据、数学推导和适用条件分析。