01
内存带宽基础
什么是内存带宽 · 计算公式 · 与延迟的区别
核心概念带宽公式
02
硬件架构探秘
CPU与内存通信路径 · 内存控制器 · NUMA vs UMA
CPU架构NUMA
03
内存层级结构
寄存器 · L1/L2/L3 · 主存 · 虚拟内存层级
缓存层级速度差异
04
缓存行与预取
64字节缓存行 · 硬件预取 · 软件prefetch
缓存行预取
05
伪共享问题
多线程伪共享原理 · 缓存行填充(Padding)解决
多线程缓存行填充
06
内存对齐
数据对齐规则 · 性能影响 · alignas指令
对齐编译器
07
大页内存
4KB标准页 vs 2MB/1GB大页 · 透明大页(THP)
大页THP
08
内存分配器
malloc/free底层 · jemalloc vs tcmalloc · 内存池
分配器内存池
09
内存拷贝优化
memcpy瓶颈 · SIMD加速 · 零拷贝
SIMD零拷贝
10
循环展开与向量化
手动展开 · 自动向量化 · Intel Intrinsics
向量化Intrinsics
11
数据结构布局
结构体重排 · AoS vs SoA
布局SoA
12
链表与数组
链表随机访问劣势 · 数组缓存友好 · 预分配数组
数组缓存友好
13
树结构的优化
B-Tree/B+Tree缓存友好 · 红黑树局部性改进
B+Tree局部性
14
哈希表设计
开放寻址 vs 链地址 · 负载因子 · flat_hash_map
哈希flat_hash_map
15
图算法的内存优化
邻接矩阵 vs 邻接表 · 压缩稀疏行(CSR)
图算法CSR
16
多线程内存访问
线程绑定(affinity) · 避免锁竞争 · 读写锁
多线程affinity
17
NUMA感知编程
local allocation · 线程与内存亲和性
NUMA亲和性
18
异步IO与DMA
同步IO阻塞 · 异步IO(AIO) · 直接内存访问
AIODMA
19
内存映射文件
mmap原理 · 与read/write对比 · 大文件策略
mmap大文件
20
内存池设计
固定/可变大小内存池 · 无锁内存池
内存池无锁
21
引用局部性
时间/空间局部性 · 代码优化提升局部性
局部性优化
22
编译器优化选项
-O2/-O3/-Ofast · -march=native · LTO
编译器LTO
23
性能分析工具
perf stat · cachegrind · Intel VTune
perfVTune
24
内存带宽基准测试
STREAM · lmbench · 自定义微基准
STREAM微基准
25
内存带宽瓶颈识别
Roofline模型 · 计算密度 · 瓶颈定位
Roofline瓶颈
26
GPU内存带宽
显存带宽 · Unified Memory · CPU-GPU传输
GPU统一内存
27
FPGA与内存
DDR控制器 · HBM高带宽内存
FPGAHBM
28
持久内存
Intel Optane DC PMem · NVDIMM · 编程模型
持久内存PMem
29
CXL与内存扩展
CXL协议 · 内存池化 · 内存语义访问
CXL内存池化
30
未来趋势
HBM3 · DDR5 · CXL 3.0 · 存算一体 · 光互连
未来HBM3