Цитата(Porty @ Apr 4 2012, 12:28)

при -Os всё норм,
это только в -О3 постоянно творится и в -О2 нередко помню было, но тогда ещё не предавал значения.
Но всё бы ничего, но фильтры не успевают в режиме реального времени на -Оs, на -О2 только если с бубном поплясать а на -О3 вообще всё отлично, можно алгоритмы не подвергать даже рефакторингу по скорости, тем самым сохраняя читаемость и понятность.
Надо понимать какие оптимизации входят в соответствующие "O"
0) O0 - без оптимизаций. Имеет смысл только для упрощения отладки (более очевидным образом в отладчике происходит переход от одной строчки кода к другой).
1) O1 - оптимизации, которые не сказываются ни на увеличении времени компиляции, ни на размере получаемого бинарного кода.
2) O2 - оптимизации, которые приводят к увеличению времени компиляции, но не на размере получаемого бинарного кода.
3) O3 - оптимизации, которые вдобавок приводят к увеличению размера получаемого кода.
4) Os - оптимизация по размеру кода.
P.S. Если какую-нибудь оптимизацию из O2 разработчики компилятора ускорят (уменьшат время компиляции с данной оптимизацией), то это оптимизацию перенесут в O1.