2011-06-24 23 views
6

Tôi đang cố gắng sử dụng NGen để xem liệu hình ảnh gốc của ứng dụng của tôi có chạy tốt hơn các ứng dụng .NET không. Tuy nhiên, tôi đang gặp một chút khó khăn trong việc tìm ra điều cần làm.ngen và profiling

Ứng dụng của tôi được gọi là MyApp.exe và nó có một số DLL phụ thuộc.

Tôi mở lên Command Prompt VS 2010 và chạy:

ngen install MyApp.exe /Profile 

Lệnh đầu ra không đề nghị bất kỳ vấn đề đã gặp phải.

Tôi sau đó đã đi đến C: \ Windows \ lắp ráp để thử và chạy EXE nhưng tôi không thể tìm thấy nó ở đó (Tôi đang trên Windows 7). Một chút về đào nói với tôi để sử dụng dấu nhắc lệnh để duyệt vào C: \ Windows \ assembly \ NativeImages_v4.0.30319_32. Tôi cuối cùng đã ably để xác định vị trí MyApp.ni.exe của tôi có nhưng tất nhiên không thể mở thư mục chứa trong thám hiểm.

Tôi cố gắng để chạy chương trình và nó nói với tôi:

"C: \ Windows \ lắp ráp \ NativeImages_v4.0.30319_32 ... \ MyApp.ni.exe không phải là một ứng dụng Win32 hợp lệ."

Đầu ra lệnh cho biết Quyền truy cập bị từ chối.

Tôi có hai câu hỏi:

  1. Làm thế nào tôi có thể chạy chương trình này để tôi có thể thực hiện các phiên bản bản địa.
  2. Tôi sẽ làm cách nào để lược tả nó? Hình như tôi sẽ không thể xác định vị trí thư mục đó từ bên trong hồ sơ VS2010 vì nó không thể được nhìn thấy trong thám hiểm.

Cảm ơn.

+1

Note NGEN chỉ thay thế các bước JIT - nó vẫn là một ứng dụng quản lý vv Nếu bạn đang gặp vấn đề hiệu suất lạnh bắt đầu điều này có thể giúp đỡ, nhưng trong hầu hết các trường hợp, NGEN sẽ không giúp đỡ. Nó sẽ không làm cho vòng của bạn vv nhanh hơn. –

+0

Bản thân ứng dụng là khá lớn, vì vậy tôi chỉ cố gắng tìm ra cách làm cho nó hoạt động hiệu quả hơn. Trong trường hợp NGEN không thực sự giúp đỡ, điều đó hoàn toàn ổn, nhưng tôi chỉ muốn làm sự tích cực của tôi. – sohum

+0

hồ sơ đầu tiên (ứng dụng của bạn, bây giờ, không có NGEN). * Sau đó * (và chỉ sau đó) hành động. Nếu không, bạn đang lãng phí thời gian mà có thể được chi tiêu tốt hơn làm cho nó nhanh hơn. Tôi thành thật không mong đợi NGEN sẽ giúp đỡ nhiều ở đây. –

Trả lời

1

Có vẻ như tôi nên đọc thêm một chút. Có vẻ như tôi chỉ có thể thực hiện EXE đã được chuyển đến NGEN và nó sẽ tự động tải các nội dung gốc từ bộ nhớ cache.

Một vấn đề khác là tôi phải chạy ngen với cả cờ/profile và/debug để đảm bảo tôi có thể làm cả hai.

Đây là một hướng dẫn tốt đẹp về vấn đề này:

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

Các vấn đề liên quan