2012-04-04 38 views
5

Tôi đã đọc Eric Lippert 's article về tùy chọn dòng lệnh/tối ưu hóa của trình biên dịch C#. Bài viết mô tả loại trình tối ưu hóa nào mà trình biên dịch thực hiện. Tuy nhiên nó vẫn không rõ ràng với tôi nếu tùy chọn này ảnh hưởng đến tối ưu hóa JIT là tốt. Nó không phải là không thể tưởng tượng, rằng tùy chọn này sẽ làm cho trình biên dịch phát ra một số siêu dữ liệu, mà jitter có thể hiểu để thay đổi "chế độ tối ưu hóa". Có bất kỳ tham chiếu nào có thể xác nhận hay không nếu tùy chọn này thực sự ảnh hưởng đến JITter?Tùy chọn dòng lệnh C# biên dịch/tối ưu hóa có ảnh hưởng đến JITter không?

+0

[Trình biên dịch JIT không tối ưu hóa khi bạn đang gỡ lỗi.] (Http://msdn.microsoft.com/en-us/library/ms241594.aspx) Tôi không chắc chắn liệu/tối ưu hóa có ảnh hưởng đến nó hay không. – svick

Trả lời

5

Có tham chiếu nào có thể xác nhận hay không nếu tùy chọn này thực sự ảnh hưởng đến JITter?

Theo Jeffrey Richter trong CLR của anh ấy qua cuốn sách C#, ấn bản lần 3 (chương 1, trang 13), nó thực hiện. Việc chuyển đổi /optimize+ sẽ dẫn đến tối ưu hóa cho mã C# IL, cũng như mã gốc được tạo bởi trình biên dịch JIT. Là cách nó thực sự làm điều đó, tôi không chắc chắn. Đoán ngẫu nhiên của tôi là nó có thể có một cái gì đó để làm với điều tra CorDebugJITCompilerFlags.

+3

Đoán của bạn là tốt nhất. –

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