从 C++14 到 C++17: mccc-bus 的四项零堆分配改造

MCCC 系列第三篇。以 C++14 消息总线的四大堆分配瓶颈为出发点,逐项展示 C++17 的替代方案: std::function -> FixedFunction (SBO + static_assert)、unordered_map -> VariantIndex 固定数组、shared_ptr -> Envelope 内嵌 Ring Buffer、std::string/vector -> FixedString/FixedVector。每项改造附带代码对比、编译期保障机制和性能实测数据。

February 17, 2026 · 6 min · 1249 words · map[name:DeguiLiu]

MCCC 消息总线零堆分配优化与性能实测

从 MCCC 消息总线优化实践中提炼 5 个零堆分配模式 (Envelope 内嵌、编译期类型索引、函数指针 RAII、FixedFunction/FixedVector/FixedString、编译期配置矩阵),并附完整性能数据: BARE_METAL 18.7 M/s (54 ns/msg),FULL_FEATURED 5.8 M/s (172 ns/msg),HIGH 优先级零丢失,E2E P99 仅 449 ns。

February 17, 2026 · 8 min · 1673 words · map[name:DeguiLiu]

嵌入式线程间消息传递重构: 用 MCCC 无锁消息总线替代 mutex + priority_queue

本文基于一个实际的线程间消息传递需求(Windows 风格的 SendMessage/PostMessage),分析传统 mutex + priority_queue + promise/future 方案的工程缺陷,然后用 MCCC 无锁消息总线重新实现,并通过完整的测试和 Sanitizer 验证。

February 16, 2026 · 7 min · 1422 words · map[name:DeguiLiu]

C++14 消息总线的工程优化与性能瓶颈分析

基于 C++14 实现一个带超时管理的线程安全消息总线,解决回调内重入死锁、线程安全订阅管理等工程问题。通过压力测试暴露 mutex + std::function + std::map 方案在多线程高频场景下的性能瓶颈,为后续引入 Lock-free MPSC 方案提供数据支撑。

February 16, 2026 · 7 min · 1326 words · map[name:DeguiLiu]

MCCC 消息总线 API 全参考: 类型、接口与配置

MCCC (Message-Centric Component Communication) 消息总线的完整 API 参考,涵盖 FixedString/FixedVector 容器、MessageEnvelope 消息封装、AsyncBus 总线接口、StaticComponent 编译期组件、优先级与背压配置,每个接口附带签名、参数说明和使用示例。

February 15, 2026 · 8 min · 1571 words · map[name:DeguiLiu]

C++ 消息总线性能实测: 6 个开源方案的吞吐量与延迟对比

在同一硬件上统一测试 MCCC、eventpp、EnTT、sigslot、ZeroMQ、QP/C++ 六个消息总线方案,从吞吐量、延迟、内存安全、嵌入式适配性四个维度给出选型建议

February 15, 2026 · 5 min · 994 words · map[name:DeguiLiu]

Lock-free MPSC 消息总线的设计与实现: 从 Ring Buffer 到零堆分配

在嵌入式系统中,消息总线是组件间通信的核心基础设施。本文剖析 MCCC 消息总线的设计决策与工程权衡:为什么选择 Lock-free MPSC 而非互斥锁?Envelope 内嵌如何消除热路径堆分配?编译期类型索引如何替代 unordered_map?从问题出发,逐层展开一个面向安全关键嵌入式系统的消息总线的诞生过程。

February 15, 2026 · 5 min · 1016 words · map[name:DeguiLiu]

C++11 线程安全消息总线: 从零实现 Pub/Sub 模型

消息总线(Message Bus)作为一种重要的通信模式,被应用于解耦系统中的组件,实现异步通信和事件驱动架构。本文介绍如何使用 C++11 实现一个基于 mutex 保护的消息总线。

February 15, 2026 · 1 min · 206 words · map[name:DeguiLiu]