-
Notifications
You must be signed in to change notification settings - Fork 0
Home
dgliu edited this page Feb 14, 2026
·
2 revisions
MCCC 是一个面向安全关键嵌入式系统的无锁 MPSC 消息总线。纯 C++17 实现,header-only(仅 3 个头文件:mccc.hpp、component.hpp、static_component.hpp),零外部依赖。
| 特性 | 说明 |
|---|---|
| 无锁 MPSC | CAS 原子操作,多生产者单消费者 |
| 优先级准入控制 | HIGH 优先级在过载条件下零丢失 |
| 背压监控 | 四级状态:NORMAL / WARNING / CRITICAL / FULL |
| 零堆分配 | Envelope 内嵌 Ring Buffer,热路径无动态内存 |
| 类型安全 |
std::variant 编译期类型检查 |
| MISRA C++ 合规 | 符合安全关键系统编码规范 |
| 深度嵌入式优化 | SPSC wait-free、索引缓存、signal fence、BARE_METAL 模式 |
| 零开销分发 |
ProcessBatchWith + CRTP StaticComponent 编译期多态 |
| 模式 | 配置 | 吞吐量 | 单消息耗时 |
|---|---|---|---|
| MPSC | FULL_FEATURED | 26.27 M/s | 38 ns |
| MPSC | BARE_METAL | 33.65 M/s | 30 ns |
| SPSC | FULL_FEATURED | 29.92 M/s | 33 ns |
| SPSC | BARE_METAL | 38.49 M/s | 26 ns |
| 模式 | P50 | P99 |
|---|---|---|
| MPSC | 372 ns | 525 ns |
| SPSC | 317 ns | 392 ns |
| 模式 | 单消息耗时 | 相比常规提升 |
|---|---|---|
| MPSC | 129 ns/msg | 19% |
| SPSC | 93 ns/msg | 42% |
- HIGH 优先级:150K 突发过载下 0% 丢失
- 171 个测试用例,全部通过
- Quick-Start -- 快速开始,5 分钟上手
- Architecture -- 架构设计与核心机制
- API-Reference -- 完整 API 参考
- Benchmark -- 性能基准测试详情
- Compile-Configuration -- 编译期配置矩阵
- FAQ -- 常见问题与解答
- 语言标准: C++17
-
编译选项:
-fno-exceptions -fno-rtti(可选) - 目标平台: ARM-Linux 嵌入式 / x86-64 / 裸机 MCU
- 许可证: MIT