"-o3" Он вообще для чего-нибудь нужен?
Q.S. 16 сентября, 2009 - 22:45
Прочитал в документации gcc, что сабжевый флаг не рекомендуется использовать с gcc четвертой версии,т.к. производительность чуть ли не снижается. Сейчас пытаюсь перейти с убунту, компьютер будет в основном использоваться для gimp`а, qtCreator`а и рендеринга в блендере. Имеет ли смысл ставить с -o3 что-либо из вышеперечисленного?
»
- Для комментирования войдите или зарегистрируйтесь
http://www.gentoo.org/doc/en/
http://www.gentoo.org/doc/en/gcc-optimization.xml
вроде gcc-4.4.1 собирает с
вроде gcc-4.4.1 собирает с -О3 нерабочие приложения, которые валятся с Segmentation failed.у меня у самого -O2 потому точно не скажу. в остальном читайте мануал. и в Интернете можно найти много статей по флагам оптимизации gcc и что они делают. скажу просто что безопасными флагами в большинстве считаются -02, и -03 использовать не рекомендуют, если не знаете зачем это нужно. ключевые слова я выделил, думаю поймете ;)
Хочешь меньше багов ставь -O2
Хочешь меньше багов ставь -O2 :)
Хочешь по-эксперементировать ставть -O3, тем более в генту флаги можно выставить и для конкретного ебилда :)
Working on Gentoo Linux for Asus P535 and Qtopia :-)
Тема
можно про флаги для отдельного пакета подробней?
Засовываем в
Засовываем в /etc/portage/bashrc примерно следующее:
======================================================
Далее chmod +x /etc/portage/bashrc и в /etc/portage/package.cflags забиваем необходимые пакеты\флаги компиляции, примерно так:
Радуемся!
Совет хороший, но несколько
Совет хороший, но несколько устаревший.
man portage
применительно к/etc/portage/env
пояснит почему =),т.к. производительность чуть
,т.к. производительность чуть ли не снижается.
Сильно зависит от кода. Из за разворота циклов код может не влезать в кеш, вот и потеря производительности.
если же все линейно, то вполне ускоряет
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
У меня gcc-4.4.1 с -O3,
У меня gcc-4.4.1 с -O3, графитом и "ручными" LDFLAGS. Ну и флагами
custom-cflags
в make.conf. Зачем? Для красноглазия - новые впечатления там, ну и далее по тексту =).Серьезных проблем встретил две:
mplayer
иwine
(последний вообще 4.4.* не любит сильно-сильно). Они легко решаются при помощи/etc/portage/env
.Производительность мерял разве что пальцем по ветру, результат не однозначный
Можете скинуть свои флаги -
Можете скинуть свои флаги - интересно, хоть я все же и не очень большой поклонник постоянно пересборки.
CFLAGS="-O3 -pipe
CXXFLAGS="${CFLAGS}" проще
CXXFLAGS="${CFLAGS}" проще сделать в таком случае :)
К сожалению не могу использовать у себя native - так как собираю бинарные пакеты на сервере и потом ставлю везде, так как архитектуры везде разные (amd64, i686) то ничего не будет работать если его ставить.
А с LDFLAGS почитаю чего они делают, спасибо.
Угу, просто на одном из рц
Угу, просто на одном из рц портажа 2.2 наблюдались странные глюки и я поставил так как щас, а уже менять лень =)
Про лдфлагс: да понятно, что они делают, либо все ломают, либо игнорируются/фильтруются =) (шутко)
нужен, но не тебе. Флаг О3
нужен, но не тебе.
Флаг О3 оптимизирует, но не всегда оптимально. Т.е. Не каждая програма будет с ним работать быстрее. Проще всего скомпилить с ним то чем пользуешься и посмотреть стало ли быстрее. Если нет, или нет разницы, то лучше пользуй О2.
Если хочешь углубляться, то думаю, что man gcc тебе на все ответит (удачи в понимании :) )