2010-10-15 35 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。

相關問題