У меня есть следующий фрагмент кода, который я написал на C. Это довольно просто, поскольку он просто сдвигает биты x
для каждого цикла for.
int main() {
int x = 1;
for (int i = 0; i > -2; i++) {
x >> 2;
}
}
Теперь происходит странная вещь: когда я просто компилирую его без какой-либо оптимизации или с оптимизацией первого уровня ( -O
), он работает нормально ( Я синхронизирую исполняемый файл и его около 1,4 с
с -O
и 5,4 с
без каких-либо оптимизаций.
Теперь, когда я добавляю -O2
или -O3
переключатель для компиляции и времени для результирующего исполняемого файла, он не останавливается (я тестировал до 60 секунд
).
Любые идеи о том, что может вызывает это?