Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Опять про CFLAGS
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Russian
View previous topic :: View next topic  
Author Message
Alen
n00b
n00b


Joined: 22 Nov 2004
Posts: 17

PostPosted: Tue Sep 20, 2005 6:30 pm    Post subject: Опять про CFLAGS Reply with quote

Не мог бы кто нибуть из мудрых прокомментировать вот это:

runacovea -config gcc33_pentium3.acovea -bench evobench.c
run complete time: 2005 Sep 02 14:21:54

optimistic options:
-fno-merge-constants (1.173)
-fgcse (2.526)
-fforce-mem (2.043)
-fschedule-insns2 (2.284)
-fregmove (1.318)
-finline-functions (1.076)
-mieee-fp (1.221)
-mno-push-args (1.559)
-maccumulate-outgoing-args (1.221)
-fno-math-errno (1.028)
-ffinite-math-only (1.124)

pessimistic options:
-foptimize-sibling-calls (-1.486)
-frerun-cse-after-loop (-1.244)
-fschedule-insns (-1.003)
-freduce-all-givs (-1.051)
-fnew-ra (-1.486)
-funroll-all-loops (-1.341)
-mno-align-stringops (-1.293)
-mfpmath=387 (-1.776)
-mfpmath=sse,387 (-1.631)
-fomit-frame-pointer (-1.969)
-momit-leaf-frame-pointer (-1.293)

система - iP4 2,8/512/200Gb
Какие из этиз опций включать в make.conf, если оптимистичные, то почему в пессимистичных находится -fomit-frame-pointer, который ну просто везде рекомендуют, кроме того странно выглядит то что sse снижает производительность, а опции про ММХ вообще нет нигде :-\
_________________
Я даже падая - лечу!
Back to top
View user's profile Send private message
rusxakep
Guru
Guru


Joined: 09 Jul 2004
Posts: 458

PostPosted: Wed Sep 21, 2005 7:18 am    Post subject: Reply with quote

* app-benchmarks/acovea
Latest version available: 4.0.0
Latest version installed: [ Not Installed ]
Size of downloaded files: 325 kB
Homepage: http://www.coyotegulch.com/products/acovea/
Description: Analysis of Compiler Options via Evolutionary Algorithm
License: GPL-2

Ну пессимистичность и оптимистичность связанна с конкретной ТВОЕЙ системой. Нормальное распределение не гарантирует что все будут подходит под одну конфигурацию. Даже общую. Тести :)

P.S: Почему gcc 3.3? Почему P3? У тебя же P4! Какой у тебя gcc?
Back to top
View user's profile Send private message
Alen
n00b
n00b


Joined: 22 Nov 2004
Posts: 17

PostPosted: Thu Sep 22, 2005 12:40 am    Post subject: Reply with quote

rusxakep wrote:
* Ну пессимистичность и оптимистичность связанна с конкретной ТВОЕЙ системой. Нормальное распределение не гарантирует что все будут подходит под одну конфигурацию. Даже общую. Тести :)

:)
rusxakep wrote:
P.S: Почему gcc 3.3? Почему P3? У тебя же P4! Какой у тебя gcc?

gcc-config -c
i686-pc-linux-gnu-3.3.6

П3 - по тому что надо будет потом клонировать систему на пару машинок с таким камнем, а компилять там не охота ибо вся молодость пройдет ждать :)
а для П4 флаги у меня выгледят вот так:

runacovea -config gcc33_pentium4.acovea -bench evobench.c

run complete time: 2005 Sep 04 10:13:05

optimistic options:
-fno-if-conversion (1.124)
-fno-delayed-branch (1.649)
-fgcse (2.218)
-fforce-mem (1.693)
-fschedule-insns2 (1.605)
-fregmove (1.343)
-fsched-interblock (1.43)
-ffloat-store (1.343)
-maccumulate-outgoing-args (1.43)

pessimistic options:
-fexpensive-optimizations (-1.588)
-falign-labels (-1.151)
-fno-inline (-1.107)
-fnew-ra (-1.676)
-funroll-loops (-1.851)
-funroll-all-loops (-1.501)
-mfpmath=sse (-2.157)
-mfpmath=sse,387 (-2.113)
-fomit-frame-pointer (-2.07)
-ffinite-math-only (-1.282)

... ясности это не добавляет :)
_________________
Я даже падая - лечу!
Back to top
View user's profile Send private message
rusxakep
Guru
Guru


Joined: 09 Jul 2004
Posts: 458

PostPosted: Thu Sep 22, 2005 5:37 am    Post subject: Reply with quote

А сколько времени этот бенч работает - я устал ждать ;)
Back to top
View user's profile Send private message
micmic
n00b
n00b


Joined: 16 Nov 2004
Posts: 36

PostPosted: Thu Sep 22, 2005 5:47 am    Post subject: Reply with quote

сколько работает не знаю, я ставил на ночь, утром все было готово.
_________________
cat /etc/gentoo-release && uname -srm
Gentoo Base System release baselayout-2.0.0_rc6
Linux 2.6.24-gentoo- i686
Back to top
View user's profile Send private message
Laitr Keiows
Bodhisattva
Bodhisattva


Joined: 04 Jul 2005
Posts: 891
Location: Kobe, Japan

PostPosted: Thu Sep 22, 2005 10:10 am    Post subject: Reply with quote

Alen wrote:

gcc-config -c
i686-pc-linux-gnu-3.3.6

Так 3.4 есть уже.

Имхо тестировать надо там же где и будет использоваться система.
Кроме того многие предположительно «полезные» флаги могут отрицательно сказаться на стабильности системы.
Ну, кроме ядра: там все по-своему компилируется.
Back to top
View user's profile Send private message
rusxakep
Guru
Guru


Joined: 09 Jul 2004
Posts: 458

PostPosted: Thu Sep 22, 2005 2:00 pm    Post subject: Reply with quote

3.4 есть - но еще в ~x86 :roll:
Back to top
View user's profile Send private message
Alen
n00b
n00b


Joined: 22 Nov 2004
Posts: 17

PostPosted: Thu Sep 22, 2005 6:45 pm    Post subject: Reply with quote

Люди, кидайте в топик спецификации ваших систем и что бенчмарк выдал (после ночи работы ;))
а там глядишь по накопившейся статистике выводы какие нибуть сделаем полезные!
_________________
Я даже падая - лечу!
Back to top
View user's profile Send private message
Alex_5252
n00b
n00b


Joined: 15 Jun 2004
Posts: 4
Location: Nizhny Novgorod

PostPosted: Sun Oct 16, 2005 5:33 am    Post subject: Reply with quote

test application: /usr/share/acovea/benchmarks/evobench.c
config description: GCC 3.3 Pentium 3 (ia32)
test configuration: gcc33_pentium3.acovea
acovea version: 4.0.0
evocosm version: 2.5.2
test start time: 2005 Oct 15 17:37:31

# of populations: 5
population size: 40
survival rate: 10% (4)
migration rate: 5% (2)
mutation rate: 1%
crossover rate: 100%
fitness scaling: windowed
generations to run: 20
random number seed: 2228856555

optimistic options:
-fgcse (2.339)
-fexpensive-optimizations (1.377)
-fstrength-reduce (1.42)
-fschedule-insns2 (1.858)
-fsched-interblock (1.114)
-fsched-spec (1.508)
-falign-loops (1.158)
-finline-functions (1.333)
-freduce-all-givs (1.202)
-mno-align-stringops (1.027)
-funsafe-math-optimizations (1.464)
-fno-signaling-nans (1.114)

pessimistic options:
-fno-if-conversion (-1.248)
-fno-crossjumping (-1.598)
-foptimize-sibling-calls (-1.292)
-fforce-mem (-1.117)
-fschedule-insns (-1.992)
-fregmove (-1.117)
-fprefetch-loop-arrays (-1.161)
-funroll-all-loops (-1.336)
-mfpmath=sse (-2.036)
-mfpmath=sse,387 (-1.336)
-fomit-frame-pointer (-1.817)
-ffinite-math-only (-1.3

Сейчас стоят опции в make.conf
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
MAKEOPTS="-j2"

Так что получается стоит нехорошая опция...
Теперь, интересно, какие опции - безопасные...
Система Celeron 800, ОЗУ - 128.
Back to top
View user's profile Send private message
spijon
Tux's lil' helper
Tux's lil' helper


Joined: 22 Dec 2003
Posts: 148
Location: Ukraine, Kiev

PostPosted: Wed Oct 19, 2005 7:36 am    Post subject: Reply with quote

А чё означают эти циферки справа от названия флага?
-fgcse (2.339)
Например 2.339 - это на сколько процентов оно может оптимизировать код?
_________________
òÁÓÓÙÌËÁ ÌÕÞÛÉÈ ÁÎÅËÄÏÔÏ× http://subscribe.ru/archive/rest.funny.time4gonivo/
Back to top
View user's profile Send private message
Behivor
n00b
n00b


Joined: 20 Oct 2005
Posts: 23
Location: Ukranian, Mariupol

PostPosted: Thu Oct 20, 2005 5:03 pm    Post subject: Reply with quote

вопрос:
чтобы использовать новые флаги - это надо пересобирать весь world?
Back to top
View user's profile Send private message
pv
Tux's lil' helper
Tux's lil' helper


Joined: 25 Mar 2005
Posts: 103
Location: Russia, Yaroslavl

PostPosted: Thu Oct 27, 2005 8:10 pm    Post subject: Reply with quote

Behivor wrote:
вопрос:
чтобы использовать новые флаги - это надо пересобирать весь world?

Теоретически - да.
Практически некоторые (а может, многие) ebuildы фильтруют флаги. Некоторые из них убирают опасные по их мнению флаги, другие вообще убирают все кроме -march=..., а любую оптимизацию заменяют на -O2.
gcc, binutils, glibc, openoffice стопудово так поступают.
Идея в том, что glibc, например, в первозданном виде (с gnu.org) не собирается с сильной оптимизацией, или собирается некорректно (глючит). Документация для gcc, binutils, glibc говорит: собирайте с опциями по умолчанию. Хотя я сам собирал binutils с довольно сильной оптимизацией (-march=... -O3 -fpmath=sse ...), и - ничего, нормально. Однако ручная сборка glibc не прокатила. ДАЖЕ С -O1!
Так что, правильный ответ на твой вопрос: НЕТ. Например, openoffice собирается с -O2 -march=... при любых CFLAGS. То есть пересборка его - зря потерянные 5-6 часов (AthlonXP 2500+, 512MB) твоей жизни.
Другое дело, как узнать, фильтруются ли флаги. Я лично устанавливаю что-нибудь нетривиальное и начинаю сборку. По ходу смотрю на вывод компилятора. Если флаги мои - всё нормально, если же нет, пересобирать бессмысленно.
Использованные при сборке уже установленного пакета флаги сохраняются в /var/db/pkg/<группа>/<пакет>/CFLAGS.

Не знаю, но ещё, может, существует аналог 'emerge --newuse'.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Russian All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum