2010-10-15 32 views
0

退回的指令,我希望从C#应用程序的英特尔芯片采样的硬件事件“引退指令”或“退役独家指令”。怎么样从C#应用程序

具体来说,我需要在函数调用的开始和结束时采样这个数字,所以在Visual Studio 2010中使用的CPU计数器运行分析运行根据这篇文章:

http://msdn.microsoft.com/en-us/library/bb385772.aspx

不帮帮我。使用CPU计数器并运行采样配置文件,您可以获得整个应用程序的总指令数量。我不能重新组装这个应用程序,只调用这个函数,所以我需要更详细地说明这个指令退休示例的“开始”和“结束”。

有谁知道一些汇编指令将读取退休硬件事件的说明吗?据推测,如果这是可用的,我可以以某种方式直接从我的C#方法的开头和结尾调用该汇编指令。

+0

可能重复的[我如何访问英特尔CPU计数器](http://stackoverflow.com/questions/1266183/how-can-i-access-the-intel-cpu-counter) – 2010-10-15 13:41:51

回答

0

PAPI是一个非常有前途的领先优势,不过,我相信他们好几年以前的Windows(因此.NET C#)不再支持。

在前面的窗户,Visual Studio 2010的高级版自带性能探险。如果在仪表模式下运行任何项目或二进制文件,则可以访问硬件事件,例如退休的指令。

的结果有一定的混合和不一致取决于外部因素,但它与Visual Studio完美集成在一起,你会得到每方法/模块级详细数(平均,最高,总计)上。

英特尔V-调整性能分析器本身也暴露出这些。我还没有玩过这个工具,但它可能是一个比Visual Studio 2010公开的更灵活的API。

相关问题