Re: gcc optimization
От: zaufi Земля  
Дата: 12.02.08 11:13
Оценка: 13 (4) +1
Здравствуйте, nen777w, Вы писали:

N>Хочу оптимизировать программу и либы к ней прилягающие по скорости, все компилиться под gcc 4.0 на MacOSX, проекты под XCode.

N>Есть такая опция -03 таже есть не менее чудесная Unroll loop. Стоит ли их вместе использовать?
-O3 не всегда дает хороший результат... в зависимости от проекта оно может помочь а может и наоборот сделать код более тормознытым чем под -O2...

N>Ещё вопрос есть ли у gcc аналог ms-овтовского _froceinline ?


не нада ничо форсить... gcc достаточно умен сам для этого... особена на -O2/-O3

N>Также может кто другие ключики или опиции проекта включить подскажет?

оч хороший глючик -fomit-frame-pointer -- оч заментна порой ушустряет код...
конечно же нада добавлять -march= со своей архитектурой
-ftree-vectorize -- для gcc 4.x включает автовекторизацию
ну -pipe мона добавить для слегка более шустрой компиляции

в принципе как многие те конечно же скажут, оптимайзить нада алгоритмы на основании данных профайлера
(как мне кажется ты пытаешься выжать максимум из своего проекта -- ok, идем дальше...

при определенных обстоятельствах (если ты сможешь запускать свою прогу так чтоб она прошла по как можно большему числу веток управления) можно использовать т.н. profile driven optimization. Суть в следующем компилимся со спец ключиками (типа этих: -fprofile-arcs, -fprofile-values, -ftest-coverage), запускаем свою прогу и гоняем ее как можно дольше чтоб набрать статистику (буит слита в спец файлики). потом компилим свою прогу опять с ключиком -fprofile-use и тогда оптимизатор буит использовать набранную статистику в своих оптимизационных целях

ну и наканец для маньяков есь проект Acovea -- Analysis of Compiler Options via Evolutionary Algorithm. Как видна из названия штука подбирает генетическим алгоритмом ключики генерящие в твоей именна проге наиболее оптимальный код
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.