Какой оператор switch создает наименее эффективный машинный код? - PullRequest
0 голосов
/ 14 января 2012

У меня есть вопрос в одном из моих тестов, в котором меня спрашивали, какой оператор switch создает наименее эффективный машинный код.Возможные ответы: O4, O1, O2 или O3.Я не знаю, что они означают.

1 Ответ

2 голосов
/ 14 января 2012

GCC Опции, управляющие оптимизацией

-O -O1 Оптимизация.Оптимизация компиляции занимает несколько больше времени и намного больше памяти для большой функции.

-O2 Оптимизируйте еще больше.GCC выполняет почти все поддерживаемые оптимизации, которые не включают компромисс между скоростью и пространством.По сравнению с -O этот параметр увеличивает время компиляции и производительность сгенерированного кода.

-O3 Оптимизировать еще больше

-Os Оптимизировать по размеру.

-Быстро Не соблюдать строгое соответствие стандартам.-Ofast включает все оптимизации -O3.Он также позволяет выполнять оптимизацию, которая не подходит для всех стандартных совместимых программ

...