2009-08-21 33 views
1

任何人都可以提出一種查看由NETCF JIT編譯器編譯的本機代碼字節的方法(支持或不支持)。我碰巧在ARM平臺上的WinCE6.0上。如何從.NETCF JIT編譯器中查看本機代碼字節

我猜,這可以用本機調試完成,但我想弄清楚(本質上)我將如何得到我的軸承知道我在看。也許可以在P/Invoke調用中設置一個斷點,然後退回到JITted託管代碼 - 這是知道何時返回到您感興趣的特定例程的技巧。

我的目的是確定爲什麼(在我的情況下),JITted的數學代碼性能比同等的C++(本地)代碼差很多。是的,我知道.NETCF沒有本地浮點支持。

+0

是的。我確信C#和C++版本都是帶有優化的Release版本。另外,它們不在調試器下運行。在我的簡單測試用例中,性能差異約爲10倍,基本上相當於做了+ b + c + d一堆次(對於+ - *和/)。我沒有看到任何方式來控制.NETCF C#項目的調試符號輸出。 – 2009-08-27 21:12:05

回答

1

只是出於好奇,你確定你編譯發佈模式下你的代碼,以優化開啓和調試符號輸出關閉?當我忘記在釋放模式下編譯性能關鍵的代碼時,曾經有過很多次,只是爲了讓我的腦袋在幾小時之後因爲我的遺漏而忽略不計。 ;)