术语介绍
- 翻转次数(普通64位系统下)
+
或-
消耗一个翻转- 开方 或 / 消耗4个翻转
- Log操作消耗8个翻转
- 比较操作消耗一个翻转
- 翻转和周期(cycle)不同!
- 理论的巅峰性能
- 执行时间
- CPU 时间
- wallclock 时间
- wallclock时间使用更加广泛
- 现在一般硬件都有硬件性能计时器
单处理器
提高性能的方式:
- Caching
- 延迟取决于缓存的级别
- Parallelism
- 性能取决于指令序列和顺序
- Pipelining
- 并行执行不同步骤
Cache的邻近性
- 空间邻近性
- 访问上一次访问的空间的旁边存储单元的可能性大
- 时间邻近性
- 访问前几次访问的存储单元的可能性大
Cache的优化点
- 保证邻近性
- 避免缓存抖动
- Loop blocking when out of cache
- Software pipelining