80 年代后的 CPU 变化与编程影响
副标题 / 摘要 CPU 不再靠单核频率无限提升,而是通过多核、缓存层级与指令并行提升性能。本文解释编程影响。 目标读者 关注性能优化的工程师 学习系统与硬件基础的开发者 需要理解并发趋势的人 背景 / 动机 “频率增长带来的免费午餐”已经结束。 现代 CPU 的性能提升更多来自并行与缓存,这改变了编程方式。 核心概念 缓存层级:L1/L2/L3 影响访问延迟 多核与并行:性能来自并发执行 分支预测与流水线:影响指令效率 实践指南 / 步骤 关注内存访问局部性 优化缓存友好数据结构 利用并行,但避免过度同步 关注分支与热点路径 可运行示例 # 简单示意:顺序访问 vs 随机访问 import random def sequential(n): data = list(range(n)) s = 0 for x in data: s += x return s def random_access(n): data = list(range(n)) idx = list(range(n)) random.shuffle(idx) s = 0 for i in idx: s += data[i] return s if __name__ == "__main__": print(sequential(10000)) print(random_access(10000)) 解释与原理 现代 CPU 更依赖缓存与并行。 顺序访问通常比随机访问更快,因为缓存命中率更高。 ...