开发者

ngen and profiling

I'm trying to use NGen to see if native images of my application run better than the .NET ones. However, I'm having a little bit of trouble figuring out what to do.

My application is called MyApp.exe and it has several dependency DLLs.

I opened up the VS 2010 Command Prompt and ran:

ngen install MyApp.exe /Profile

The command output did not suggest any issues had been encountered.

I then went to C:\Windows\assembly to try and run the EXE but I couldn't find it there (I'm on Windows 7). A little bit of digging told me to use the command prompt to browse into C:\Windows\assembly\NativeImages_v4.0.30319_32. I was eventually ably to locate my MyApp.ni.exe there but of course co开发者_运维技巧uldn't open the containing folder in explorer.

I tried to run the program and it told me:

"C:\Windows\assembly\NativeImages_v4.0.30319_32...\MyApp.ni.exe is not a valid Win32 application."

The command output said Access is denied.

I had two questions:

  1. How can I run this program so that I can execute the native version.
  2. How would I go about profiling it? Looks like I won't be able to locate that folder from within the VS2010 profiler because it cannot be seen in explorer.

Thanks.


Looks like I should have read a little more. Seems like I can just execute the EXE that was passed to NGEN and it should automatically load the native stuff from the cache.

One other issue is that I had to run ngen with both the /profile and /debug flags to make sure I could do both.

This is a nice tutorial on the issue:

http://blogs.msdn.com/b/clrcodegeneration/archive/2010/04/27/ngen-getting-started-with-ngen-in-visual-studio.aspx

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜