Skip to content

docs(vol5): 修正 fence 性能结论并附基准测试 - #281

Merged
Charliechen114514 merged 1 commit into
Awesome-Embedded-Learning-Studio:mainfrom
ypj0:docs/qualify-fence-performance
Oct 7, 2026
Merged

Charliechen114514 merged 1 commit into
Awesome-Embedded-Learning-Studio:mainfrom
ypj0:docs/qualify-fence-performance

Conversation

@ypj0

@ypj0 ypj0 commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

修复说明

卷五「fence 与编译器屏障」原文把 fence 的灵活性直接解释为性能优势,例如认为多个 relaxed 操作配合一次 fence「显然更高效」。实际机器指令和耗时取决于架构、编译器与访问模式,不能从内存序写法直接推出。

本 PR 改写邮箱扫描、批量发布和平台屏障部分的性能表述,补充 fence-fence 同步的适用条件及多个标志不构成原子快照的说明。新增可复现的双线程 benchmark,并报告本机一次运行的 7 次中位数:逐字段 release/acquire 为 124.8 ns/轮,fence + relaxed 为 117.4 ns/轮。该测量包含轮询、缓存通信与确认操作,单次结果有波动,不能证明 fence 稳定更快。

修复类型

  • 内容勘误
  • 示例代码问题

影响范围

  • documents/vol5-concurrency/ch03-atomic-memory-model/03-fence-and-barrier.md
  • code/volumn_codes/vol5/ch03-atomic-memory-model/ 中的 benchmark、CMake 目标和 README
  • 未新增文章,无需更新导航或索引

验证方式

  • Markdown 本地预览和全站生产构建通过:pnpm build
  • 链接检查、frontmatter 校验、pre-commit 全部通过
  • CMake 3.20.5 与 GCC 16.2 编译、运行 benchmark,结果校验通过
  • 已确认现有导航与索引无需更新

测试环境:WSL2、Intel Core i5-12400、Linux x86-64;生产者固定 CPU 0,消费者固定 CPU 2;GCC 16.2,-O3 -march=native。每种写法执行 7 次,每次 200 万轮。

@Charliechen114514

Copy link
Copy Markdown
Member

111这个我明天看下,感谢大佬🐈

@Charliechen114514

Copy link
Copy Markdown
Member

ok的,非常感谢大佬的勘误❀!

@Charliechen114514
Charliechen114514 merged commit b1fcf16 into Awesome-Embedded-Learning-Studio:main Oct 7, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants