How to Slow Down a Program? and Why It Can Be Useful
9 months ago
- #programming
- #debugging
- #performance
- 程序减速有助于检测竞态条件、模拟加速效果并评估性能分析工具的准确性。
- CHESS、WAFFLE和NACD等方法通过减速来探索不同的指令交错与调度方案。
- Coz性能分析器利用减速模拟加速效果,可在实施优化前预估收益。
- 现有减速方法较为粗粒度,通常采用Thread.sleep()或暂停执行的方式。
- 在基本块中插入NOP或MOV指令等细粒度减速方法能提高精度。
- 在Intel Core i5-10600处理器上的实验表明,NOP和MOV指令能有效实现可控减速。
- 通过插入NOP指令使基本块减速,可使执行时间翻倍同时保持分析结果准确性。
- 论文评估了六种x86指令候选方案,确定NOP和MOV最适合细粒度减速场景。
- 未来研究将探索利用细粒度减速技术开发更先进的开发者工具链。