Tôi hiện sử dụng tiền xử lý sau định nghĩa, và các thiết lập tối ưu hóa khác nhau:C++ định nghĩa cho một 'tốt hơn' chế độ Release xây dựng trong VS
- WIN32_LEAN_AND_MEAN
- VC_EXTRALEAN
- NOMINMAX
- _CRT_SECURE_NO_WARNINGS
- _SCL_SECURE_NO_WARNINGS
- _SECURE_SCL = 0
- _HAS_ITERATOR_DEBUGGING = 0
Câu hỏi của tôi là những gì những thứ khác làm SOers đồng sử dụng, bổ sung, xác định, để có được một phát hành Chế độ xây dựng từ VS C++ (2008,2010) để được như performant càng tốt?
btw, tôi đã thử PGO vv, nó giúp một chút nhưng không có gì đến tính chẵn lẻ với GCC, tôi cũng không sử dụng luồng, C++ tôi đang nói về nó giống như C nhưng sử dụng mẫu và các thuật toán STL, vv
khi đứng tại đoạn mã rất đơn giản nhạt trong hoạt động wrt so sánh khi so sánh với những gì GCC sản xuất trên nói một máy x86 tương đương chạy linux (2.6+ kernel) sử dụng 02.
Side-Note: Tôi tin rằng rất nhiều vấn đề liên quan trực tiếp đến phiên bản STL (Dinkum) do MS cung cấp. Mọi người có thể xin vui lòng xây dựng trên kinh nghiệm sử dụng STLPort vv với VS C + +.
Bạn cũng nên liệt kê các cài đặt bạn đã chỉ định trong thuộc tính dự án của bạn theo C/C++, Tối ưu hóa và cũng có thể trong C/C++, Code Generation, vì chúng có thể ảnh hưởng lớn đến tối ưu hóa trình biên dịch sẽ thực hiện. –
Hầu hết những người không có tác động đến hiệu suất, nhưng chỉ đơn giản là loại bỏ cảnh báo hoặc tăng tốc biên dịch. Dù sao, theo kinh nghiệm của tôi, VC++ và GCC sản xuất mã hoạt động tốt như nhau. Làm thế nào lớn một sự khác biệt là bạn nhìn thấy, và chính xác như thế nào là mỗi trình biên dịch gọi? – jalf
Đây không phải là hiệu suất liên quan, nhưng bạn nên xem xét sử dụng 'bị cấm.h' từ SDL của Microsoft cho một ứng dụng Win32. – 0xC0000022L