Все хотят, чтобы компьютер работал быстрее. Все спешат, всем нужно все и сразу. Но кто спешит - тот вроде Петоросяна... Выполняя очередную работу, я заметил такую закономерность: одна и та же программа, написанная на С++, работает по-разному после компиляции на разных компиляторах. Естественно, это связано с оптимизацией кода. Если взять за единицу время исполнения программы для математических расчетов, скомпилированой на Borland C++ 5, то эфективность результата на Интеловском процессоре (при одинаковых условиях исполнения) получаеться следующей: Borland C++ - 1 MSVC++ 6 - 1.05 MSVC++ 2005 - 1.5 Intel C++ 9.0 /Od -2.24 Intel C++ 9.0 /O3 -3.14 Понятно, интел вроде рулит, так как оптимизация как раз для этого типа процессора. Однако, если сравнить полученые результаты расчетов, оказываеться, что они существенно различаються. Причем, хуже всего результат после Intel C++ 9.0 /O3. Поэтому хотелось бы узнать Ваше мнение, как лучше использовать возможности оптимизации и уберечься от связаных с нею проблем. |