CPU操作Windows Profiler工具

时间:2012-02-29 22:39:43

标签: c optimization profiler

您是否知道任何分析器工具可以告诉您C / C ++程序的CPU操作总数?我需要像linux上的valgrind callgrind ...

1 个答案:

答案 0 :(得分:2)

Intel has some tools,例如VTune。它们还提供performance counter library,您可以通过在一段代码之前和之后读取硬件性能计数寄存器来手动检测代码。

Visual Studio has an instrumented profiler但我不知道它是否归结为“退役指令”的详细程度。

你应该问问自己你真正想要的信息:你想计算一个功能所花费的周期数,还是你真的想知道你的应用在每个功能上花费多少挂钟时间?后者在大多数情况下更有用,您可以通过sampling更轻松地获得它。 (另请参阅适用于大热点的Mike Dunlavey's simple do-it-by-hand method。)

如果您真正了解CPU管道的详细信息以及如何围绕它进行优化,那么计算已退役的实际指令和分支错误预测等等。每个函数的微秒数通常是您真正想要优化的。