c-CPU操作windows探查器工具



您知道有什么探查器工具可以告诉您C/C++程序执行的CPU操作总数吗?我需要一些类似linux上的valgrind callgrind的东西。。。

英特尔有一些工具,如VTune。它们还提供了一个性能计数器库,您可以通过在代码前后读取硬件性能计数器寄存器来手动检测代码。

Visual Studio有一个插入指令的探查器,但我不知道它是否达到了"失效指令"的详细级别。

你应该问问自己,你真正想要的信息是什么:你是想统计一个功能的周期数,还是真的想知道你的应用程序在每个功能上通常花费了多少挂钟时间?后者在大多数情况下更有用,您可以通过采样更容易地获得它。(另见Mike Dunlavey的简单手工方法,适用于大热点。)

只有当你真正了解CPU流水线的细节以及如何围绕它进行优化时,计算失效的实际指令和分支预测失误等才有用。通常,你真正想优化的是每个函数的微秒。

最新更新