您可能想看看英特尔的PMU即性能监控单元.有些处理器有一个.它是一组专用寄存器(英特尔称之为模型特定寄存器或MSR),您可以使用RDMSR和WRMSR指令对其进行编程以计算事件,如缓存未命中.
这是关于i7和Xeon 5500的性能分析的文档.
您可能需要查看英特尔的性能计数器监视器,它基本上是一些抽象PMU的例程,您可以在C++应用程序中使用它来实时测量多个性能指标,包括缓存未命中.它还有一些用于独立使用的GUI/Commandline工具.
还有其他实用程序/ API也使用PMU:perf,PAPI.
缓存性能通常用命中率和未命中率来衡量。
有很多工具可以帮助您完成此操作。检查Valgrind 如何进行缓存分析。
此外,缓存性能通常是按每个程序来测量的。编写得好的程序将导致更少的缓存未命中和更好的缓存性能,反之亦然。
测量实际缓存速度是硬件制造商头疼的问题,您可以参考他们的手册来了解这个值。
Callgrind / Cachegrind组合可以帮助您跟踪缓存命中/未命中
| 归档时间: |
|
| 查看次数: |
5823 次 |
| 最近记录: |