5.1.2.2 指针追踪与别名 5.1.2.2 指针追踪与别名:当 和 指向同一片内存,而编译器说“它们不会”——一次因别名假设崩塌引发的生产级缓存失效事故复盘 你有没有过这样的经历? 一段看似无懈可击的 C 代码,在开发机上跑得飞快,单元测试全绿,静态分析工具点头称是;可一旦部署到某款 ARM64 服务器集群,性能骤降 40%,CPU 利用率虚高,L2 缓存未命中率从 8% 猛增至 37%。运维同事深夜发来火焰图,热点稳稳钉在 后面那个循环里——而那个循环,只做了一件事:把结构体数组中某个字段批量加一。 你盯着那行 ,百思不得其解:这不就是最朴素的顺序访存吗?怎么就打爆了缓存? 答案不在硬件,不在算法,甚至不在你的代码逻辑本身。