Флаги оптимизации (Какие вы применяете флаги оптимизации при сборке Gentoo?)

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Prospektoro
Сообщения: 41

Флаги оптимизации

Сообщение Prospektoro »

Какие вы применяете флаги оптимизации при сборке Gentoo?
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1104
ОС: ArchLinux

Re: Флаги оптимизации

Сообщение Black »

-O3 -march=amdfam10 -mtune=amdfam10 -fomit-frame-pointer -g0
/var/tmp в tmpfs, а то бы был ещё -pipe.
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Аватара пользователя
Juliette
Сообщения: 5058
Статус: ROSA Lab
ОС: Ubuntu LTS, Mandriva 2011

Re: Флаги оптимизации

Сообщение Juliette »

исключительно -O8
всегда
Спасибо сказали:
Аватара пользователя
serg_sk
Бывший модератор
Сообщения: 2749
Статус: <3 Anime
ОС: Gentoo Linux <3

Re: Флаги оптимизации

Сообщение serg_sk »

исключительно -O8
всегда

оО

А вообще можно почитать вику
http://www.gentoo-wiki.info/CFLAGS
http://www.gentoo-wiki.info/Safe_Cflags
Не ждали?! А я приперся!
Помойка Gentoo'шника
-------
Спасибо сказали:
Prospektoro
Сообщения: 41

Re: Флаги оптимизации

Сообщение Prospektoro »

Я уже читал, спасибо. Просто там столько флагов и незнаю какие лучше применять. Так как в программировании я не очень...
Какаие флаги применить при сборке с уровнем оптимизации 03? Да такие, чтобы потом проги работали :-) Процессор: Intel Core 2 Duo T7500
Спасибо сказали:
Аватара пользователя
DaemonTux
Сообщения: 1480
Статус: Юный падаван
ОС: Gentoo

Re: Флаги оптимизации

Сообщение DaemonTux »

Prospektoro писал(а):
24.02.2010 22:19
Я уже читал, спасибо. Просто там столько флагов и незнаю какие лучше применять. Так как в программировании я не очень...
Какаие флаги применить при сборке с уровнем оптимизации 03? Да такие, чтобы потом проги работали :-) Процессор: Intel Core 2 Duo T7500

Если не хотите головника, то не используйте O3.
Vladivostok Linux User Group
Спасибо сказали:
Torvinson
Сообщения: 425
ОС: Gentoo ~amd64

Re: Флаги оптимизации

Сообщение Torvinson »

Prospektoro писал(а):
24.02.2010 19:12
Какие вы применяете флаги оптимизации при сборке Gentoo?
CFLAGS="-march=native -O2 -pipe"
MAKEOPTS="-j<количество_ядер+1>"

То есть так, как рекомендуется в руководстве. Мне кажется, этого вполне достаточно, если нет глубоких знаний предмета.
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Флаги оптимизации

Сообщение deadhead »

Black Интересно как ведет себя gcc 4.4.*? багов не замечалось? ;-)
Кстати -fomit-frame-pointer можете убрать, поскольку в вашем случае (64-bit, -O1, -O2, -O3, -Os) он уже включен по умолчанию... да и процессу отладки не мешает ;-)
[x] close
Спасибо сказали:
Аватара пользователя
polovinamozga
Сообщения: 99
ОС: gentoo

Re: Флаги оптимизации

Сообщение polovinamozga »

исключительно -O8


Так толсто что даже тонко!
с версий gcc 4.3 > в марч можно и нужно выставлять native

cat /etc/make.conf
CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j20"
ACCEPT_LICENSE="*"
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3158
ОС: Gentoo

Re: Флаги оптимизации

Сообщение ormorph »

Juliette писал(а):
24.02.2010 19:51
исключительно -O8
всегда

О я тоже хочу так пропатчить gcc
интересно где можно раздобыть этот патч?
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Флаги оптимизации

Сообщение serzh-z »

ormorph писал(а):
25.02.2010 19:50
О я тоже хочу так пропатчить gcc
O >= 3 поддерживается всеми современными версиями GCC. =)
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1104
ОС: ArchLinux

Re: Флаги оптимизации

Сообщение Black »

deadhead писал(а):
25.02.2010 11:11
Black Интересно как ведет себя gcc 4.4.*? багов не замечалось? ;-)

Нет, а должны?
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1104
ОС: ArchLinux

Re: Флаги оптимизации

Сообщение Black »

serzh-z писал(а):
25.02.2010 19:53
O > 3 поддерживается всеми современными версиями GCC. =)

Раньше при указании -O>3 использовался -O3. Сейчас как-то по другому?
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86

Re: Флаги оптимизации

Сообщение megabaks »

Код: Выделить всё

CFLAGS="-O2 -march=core2 -mtune=core2 -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=3072 -floop-interchange -floop-block -floop-strip-mine -ftree-loop-distribution -pipe -g0 -Wno-all"
CXXFLAGS="${CFLAGS}"

Код: Выделить всё

MAKEOPTS="-j3 -s"
все sse до -msse4.1 можно выкинуть - ибо оно их включает :)
и да - всё что с loop это графит
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Флаги оптимизации

Сообщение deadhead »

Black писал(а):
25.02.2010 19:57
Нет, а должны?

в стабильной ветке он пока не отметился ;-)
[x] close
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Флаги оптимизации

Сообщение serzh-z »

Black писал(а):
25.02.2010 20:02
Раньше при указании -O>3 использовался -O3. Сейчас как-то по другому?
В коде GCC есть проверка ">= 3" или "> 2" (не помню деталей). Не играет роли что указать - хоть "-O99".
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3158
ОС: Gentoo

Re: Флаги оптимизации

Сообщение ormorph »

Жаль а я хотел восьмую оптимизацию (
Спасибо сказали:
Аватара пользователя
Juliette
Сообщения: 5058
Статус: ROSA Lab
ОС: Ubuntu LTS, Mandriva 2011

Re: Флаги оптимизации

Сообщение Juliette »

ormorph писал(а):
25.02.2010 20:20
Жаль а я хотел восьмую оптимизацию (

:party:
Спасибо сказали:
Аватара пользователя
serg_sk
Бывший модератор
Сообщения: 2749
Статус: <3 Anime
ОС: Gentoo Linux <3

Re: Флаги оптимизации

Сообщение serg_sk »

Труъ гентушники ставят -O100500
xD
Не ждали?! А я приперся!
Помойка Gentoo'шника
-------
Спасибо сказали:
Аватара пользователя
BSDevil
Сообщения: 112
ОС: MAC OS X

Re: Флаги оптимизации

Сообщение BSDevil »

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O3 -pipe -fomit-frame-pointer"
MAKEOPTS="-j3"
Изображение
Спасибо сказали:
Аватара пользователя
trancefer
Сообщения: 485
Статус: $>
ОС: Arch, Slackware, OpenBSD

Re: Флаги оптимизации

Сообщение trancefer »

с версий gcc 4.3 > в марч можно и нужно выставлять native

Ссылку пожалуйста.
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86

Re: Флаги оптимизации

Сообщение megabaks »

с версий gcc 4.3 > в марч можно и нужно выставлять native
ну уж нет - лучше я руками всё пропишу,ибо native не включает mmx для моего проца!
кстати вот

Код: Выделить всё

gcc -fverbose-asm -march=native -Q --help=target
сравнивать с поддерживаемыми фичами до просветления
Спасибо сказали:
Аватара пользователя
Jampire
Сообщения: 163
ОС: Gentoo Linux amd64 || x86

Re: Флаги оптимизации

Сообщение Jampire »

trancefer писал(а):
01.03.2010 00:54
Ссылку пожалуйста.

1
2

Указание native дает лишь возможность правильно определить тип вашего процессора, но не всегда правильно определяет его возможности.
Запустив

Код: Выделить всё

gcc -fverbose-asm -march=native -Q --help=target

в опциях -march и -mtune вы узнаете тип вашего процессора.
Человек, говорящий, что это невозможно сделать, не должен мешать тому, кто это делает.
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86

Re: Флаги оптимизации

Сообщение megabaks »

а то я не знаю )
а по поводу "нужно" - ересь!
Спасибо сказали:
Аватара пользователя
trancefer
Сообщения: 485
Статус: $>
ОС: Arch, Slackware, OpenBSD

Re: Флаги оптимизации

Сообщение trancefer »

Указание native дает лишь возможность правильно определить тип вашего процессора, но не всегда правильно определяет его возможности.

Тогда не очень понятен смысл данной опции, разве что указывать ее для новейших процессоров, поддержка которых еще не до конца имеется в GCC? Есть ли разница между native и прямым указанием для старых машин?
Спасибо сказали:
Аватара пользователя
dimugric
Сообщения: 385
Статус: kernel panic
ОС: debian "wheezy", fedora

Re: Флаги оптимизации

Сообщение dimugric »

Я вот тоже когда-то пытался что-то с оптимизацией сделать, но после экспериментов, то пакеты переставили собраться, то ещё какие-то глюки ловил.
Инфа о моём процессоре:

Код: Выделить всё

# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 Duo CPU     T5270  @ 1.40GHz
stepping        : 13
cpu MHz         : 1400.000
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm ida
bogomips        : 2792.81
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 Duo CPU     T5270  @ 1.40GHz
stepping        : 13
cpu MHz         : 1400.000
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm ida
bogomips        : 2792.87
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:


Параметры оптимизации в make.conf обычные совсем:

Код: Выделить всё

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O3 -pipe"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j3"


Буду рад, если кто-нибудь что-нибудь подскажет, что действительно приведёт к оптимизации работы



Asus K56CB Intel Core i5 - 3317U, 1.7ГГц/DDR - 6Gb/ SSD - 160Gb/ nvidia GeForce 740M "fedora"
Спасибо сказали:
Аватара пользователя
trancefer
Сообщения: 485
Статус: $>
ОС: Arch, Slackware, OpenBSD

Re: Флаги оптимизации

Сообщение trancefer »

dimugric
-O3

Вы задали агрессивную оптимизацию, безопасное значение O2.
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86

Re: Флаги оптимизации

Сообщение megabaks »

Параметры оптимизации в make.conf обычные совсем:

Код: Выделить всё

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O3 -pipe"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j3"


Буду рад, если кто-нибудь что-нибудь подскажет, что действительно приведёт к оптимизации работы

вот примерно так если без графита

Код: Выделить всё

CFLAGS="-O2 -march=core2 -mtune=core2 -mmmx -msse4.1 -pipe -g0 "
просто почитай выше ни nocona ни какой то другой проц не включает кучку sse и mmx - потому надо их писать руками
Спасибо сказали:
Torvinson
Сообщения: 425
ОС: Gentoo ~amd64

Re: Флаги оптимизации

Сообщение Torvinson »

megabaks писал(а):
06.03.2010 23:39
просто почитай выше ни nocona ни какой то другой проц не включает кучку sse и mmx - потому надо их писать руками
Есть ли ссылки на доказательство подобного и соответствующие рекомендации со стороны разработчиков GCC, Intel, AMD? Слишком уж голословное утверждение или основанное чисто на личном опыте, как мне кажется.

Смотрел рекомендации АМД, гентушные ВИКИ, оптимизацию от ГСС. Единственное, что говорят все и в один голос: не понимаешь, что делаешь, пользуйся -O2 и native. Остальное - на свой страх и риск.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Флаги оптимизации

Сообщение serzh-z »

Torvinson писал(а):
08.03.2010 12:44
Остальное - на свой страх и риск.
Вообще, логично выставлять максимально безопасные флаги для всей системы, и применять агрессивную кастомную оптимизацию лишь для необходимых пакетов, для тех, где применение оптимизации оправдано, и подтверждено результами.
Спасибо сказали: