2009-08-21 34 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

只是出于好奇,你确定你编译发布模式下你的代码,以优化开启和调试符号输出关闭?当我忘记在释放模式下编译性能关键的代码时,曾经有过很多次,只是为了让我的脑袋在几小时之后因为我的遗漏而忽略不计。 ;)