2011-06-24 77 views
6

我试图使用NGen来查看我的应用程序的本机图像是否比.NET的运行得更好。但是,我在确定要做什么时遇到了一些麻烦。ngen和剖析

我的应用程序被称为MyApp.exe它有几个依赖DLL。

我打开了VS 2010命令提示符,运行:遇到了

ngen install MyApp.exe /Profile 

命令输出没有提出任何问题。

然后我去C:\ Windows \ assembly尝试运行EXE,但是我找不到它(我在Windows 7上)。有点挖掘告诉我使用命令提示符浏览到C:\ Windows \ assembly \ NativeImages_v4.0.30319_32。我最终巧妙地找到MyApp.ni.exe,但当然无法在资源管理器中打开包含文件夹。

我试图运行程序,它告诉我:

“C:\ WINDOWS \装配\ NativeImages_v4.0.30319_32 ... \ MyApp.ni.exe不是有效的Win32应用程序”

命令输出说访问被拒绝。

我有两个问题:

  1. 我怎样才能运行这个程序,这样我可以执行原生版本。
  2. 我将如何去分析它?看起来我无法从VS2010探查器中找到该文件夹​​,因为它无法在资源管理器中看到。

谢谢。

+1

注NGEN只是取代了JIT一步 - 它仍然是一个管理应用程序等。如果您有冷启动性能问题,这可能帮助,但在大多数情况下,NGEN不会提供帮助。它不会让你的循环等更快。 –

+0

应用程序本身非常大,所以我只是想弄清楚如何使它更具性能。在NGEN实际上没有帮助的情况下,这非常好,但我只是想尽我所能去做。首先配置文件 – sohum

+0

(你的应用程序,现在,没有NGEN)。 *然后*(并且只有这样)行动。否则,你正在浪费时间,可以更快地使它更快。我真的不希望NGEN会在这里帮助很多。 –

回答