GCC Graphite - оптимизация 4.8 циклов
Я работаю над фреймворком C++. В текущей версии я обнаружил два узких места. Первый - генерация случайных чисел, а второй (который мотивирует этот вопрос) - использование сильно повторяющихся процессов (тяжелые for loops
).
Могут ли некоторые из вас дать мне отзыв о gcc 4.8 относительно оптимизации циклов.
Я прочитал некоторые из немногих доступных материалов по этому вопросу, но, может быть, вы можете сделать для меня более ясным (с более простыми словами), что я могу ожидать от этой ранней версии.
Что один звонок loop normalization
Например,... Или какое это имеет отношение к многоядерной архитектуре...
Также, что стоит за опциями оптимизации:
-ftree-loop-optimize Выполнить оптимизацию цикла на деревьях. Этот флаг включен по умолчанию при -O и выше.
-ftree-loop-linear Выполнить преобразования обмена циклами на дереве. То же, что -floop-interchange. Чтобы использовать это преобразование кода, GCC должен быть настроен с --with-ppl и --with-cloog, чтобы включить инфраструктуру преобразования цикла Графита.
-floop-interchange Выполнение преобразований обмена циклами в циклах. Чередование двух вложенных циклов переключает внутренний и внешний цикл.
Какие-нибудь эксперты по оптимизации кода и / или компилятора там? Большое спасибо.
NB: я сейчас работаю под Debian 4.7.2, gcc 4.7