CFLAG="?"

Fórumok

CFLAG="?"

Hozzászólások

Szerintem ez a nyero paros: ( centrino / gcc-3.4.x

-Os -march=pentium-m -pipe -fomit-frame-pointer

hogy miert:

Igazabol nem ertem hogy mit lehetne optimalizalni pl. egy firefoxon, vagy kde-n. Ezert semmi ertelmet nem latom a -O3-nak, mivel az Os az O2 + me'g me'rt optimizacio ezert en erre szavazok. A masik meg pl. a lame/mplayer stb ami tenyleg lehet optimalizalni azt ugyis megteszik asm-ben ( mmx/sse meg ilyenekre gondolok ) egy csomot jatszottam pl a lame-el es lenyegesen nem lett gyorsabb) :

A nagyon szam gyorsabb. A veget erdemes megnezni a -Os fel akora kodot csinal es semmivel nem lassabb.

LAME
-------
default:
-O3 -ffast-math -funroll-loops -maccumulate-outgoing-args -Wall -pipe
9.9006x

-O3 -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer
10.373x

-O3 -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math
10.422x

-O3 -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math -mmmx -msse2 -mfpmath=sse,387
9.5173x

-O3 -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math -mmmx -msse2
10.768x

-O3 -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math -mmmx -msse2 -mfpmath=sse
9.5434x

-O3 -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math -funroll-loops -maccumulate-outgoing-args
10.650x

-O3 -march=pentium-m -pipe -fomit-frame-pointer -ffast-math
10.490x

-Os -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math
10.816x
size:270377 bytes

-Os -march=pentium-m -pipe -fomit-frame-pointer -ffast-math
10.821
code size:270377 bytes

Os -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math
10.821
code size:270377 bytes

-O2 -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math"
10.850x
code size:311698

-O3 -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math
10.864x
code size:323327

Szerintem ez a nyero paros: ( centrino / gcc-3.4.x

-Os -march=pentium-m -pipe -fomit-frame-pointer

hogy miert:

Igazabol nem ertem hogy mit lehetne optimalizalni pl. egy firefoxon, vagy kde-n. Ezert semmi ertelmet nem latom a -O3-nak, mivel az Os az O2 + me'g me'rt optimizacio ezert en erre szavazok. A masik meg pl. a lame/mplayer stb ami tenyleg lehet optimalizalni azt ugyis megteszik asm-ben ( mmx/sse meg ilyenekre gondolok ) egy csomot jatszottam pl a lame-el es lenyegesen nem lett gyorsabb) :

A nagyon szam gyorsabb. A veget erdemes megnezni a -Os fel akora kodot csinal es semmivel nem lassabb.

LAME
-------
default:
-O3 -ffast-math -funroll-loops -maccumulate-outgoing-args -Wall -pipe
9.9006x

-O3 -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer
10.373x

-O3 -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math
10.422x

-O3 -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math -mmmx -msse2 -mfpmath=sse,387
9.5173x

-O3 -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math -mmmx -msse2
10.768x

-O3 -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math -mmmx -msse2 -mfpmath=sse
9.5434x

-O3 -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math -funroll-loops -maccumulate-outgoing-args
10.650x

-O3 -march=pentium-m -pipe -fomit-frame-pointer -ffast-math
10.490x

-Os -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math
10.816x
size:270377 bytes

-Os -march=pentium-m -pipe -fomit-frame-pointer -ffast-math
10.821
code size:270377 bytes

Os -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math
10.821
code size:270377 bytes

-O2 -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math"
10.850x
code size:311698

-O3 -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer -ffast-math
10.864x
code size:323327

1.7-es Athlon XP-vel: (szinten a freehackers.org-rol)

CFLAGS="-O3 -march=athlon-xp -m3dnow -msse -mfpath=sse -mmmx -fomit-frame-pointer -pipe -fforce-addr funroll-loops -frerun-cse-after-loop frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays"
CHOST="i686-pc-linux-gnu"

[quote:a27059d9f5="Beanie"]Ja, még annyi, hogy a fomit-frame-pointer szerintem nem kell, mert a -O3 elvileg tartalmazza az összes optimizációt. De a -Os néha jobb, mert bizonyos esetekben jelentősen csökkenti a méretet, de a program mégsem lesz érezhetően lassabb.

nem tartalmazza se a -O2 se a -O3.

Ha i686 ala akarok forditani, es amin futni fog abban elkepzelheto hogy nem lesz sse vagy 3dnow, mmx2, sse2 stb, viszont amin forditok abban a prociban meg van, akkor erre ki kell terjek a USE flag-ban vagy a CFLAGS-ben?

jelenlegi make.conf:
CFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"

Sziasztok!

Nekem egy Celeron 2.2GHz-en:
[code:1:04d2b29073]CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
[/code:1:04d2b29073]

Korábban használtam a http://www.freehackers.org/gentoo/gccflags oldalon lévő big optimisation flageket, de érezhetően lassabb volt, mint ezekkel.
Igazából az O-t nem tudom, minek válasszam, mert hallottam már mindenfélét.
O2, mert kisebb lesz (ugyanez az érv az Os mellett). Az O3 meg _elvileg _ gyorsabb kéne, hogy legyen.

Egyébként van ingyenes fordító (otthoni használatra) a gcc-n kívül? Érdemes mással próbálkozni? Hozhat annyi gyorsulást, hogy érdemes legyen mindent újrafordítani?

[quote:aaef647bf3="Beanie"]A Sempron athlon64 is lehet? Ez biztos?

Ugy ertettem, hogy Socket 754 foglalatba is megy. A 64bites kiterjesztes tenyleg le van tiltva benne.

[quote:aaef647bf3="Beanie"]Szóval én ezt írnám a helyedben: -O3 -pipe -march=athlon-xp

Egyetertek :)

ujabban ezzel probalkozom:

CFLAGS="-O3 -march=pentium-m -pipe -fomit-frame-pointer -funroll-loops -ftracer"
CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"

( a CXXFLAGS lehet erdekes, pl kde-nal)

[quote:3c9b2a2c9e="testerlnx"]Ha i686 ala akarok forditani, es amin futni fog abban elkepzelheto hogy nem lesz sse vagy 3dnow, mmx2, sse2 stb, viszont amin forditok abban a prociban meg van, akkor erre ki kell terjek a USE flag-ban vagy a CFLAGS-ben?

jelenlegi make.conf:
CFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"

Az mcpu elavult, viszont tudtommal, ha a march-al pontosan(!) megadod a proci típusát, mint pl athlon64, meg nem tudom milyenek vannak, akkor azt hiszem használni fogja ezeket az utasításkészleteket, amit a proci tud. Nézd meg a doksiban, hogy a Te procidat milyen opcióval kell megadni.

[quote:c6ddcd6d34="Beanie"][quote:c6ddcd6d34="testerlnx"]Ha i686 ala akarok forditani, es amin futni fog abban elkepzelheto hogy nem lesz sse vagy 3dnow, mmx2, sse2 stb, viszont amin forditok abban a prociban meg van, akkor erre ki kell terjek a USE flag-ban vagy a CFLAGS-ben?

jelenlegi make.conf:
CFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"

Az mcpu elavult, viszont tudtommal, ha a march-al pontosan(!) megadod a proci típusát, mint pl athlon64, meg nem tudom milyenek vannak, akkor azt hiszem használni fogja ezeket az utasításkészleteket, amit a proci tud. Nézd meg a doksiban, hogy a Te procidat milyen opcióval kell megadni.

Ezt jól elnéztem... Amúgy a célom az lett volna, hogy Athlon, AthlonXP, PII, Celeron arch-okra ugyan azt a rendszert klónozzam, ezért szerettem volna i686-ra fordítani a rendszert, amelyet egy Prescott-al fordítottam... Azt tudtam, hogy az mcpu elavult, de sajnos nem néztem meg a stage1-ben lévő CFLAGS-et jól és így nem tűnt fel, hogy mcpu-t használ :(

en eppen ezt hasznalom ( gcc 3.4.3 ) es azon gondolkodom hogy kell e az mtune vagy sem:

"-O3 -march=pentium-m -mtune=pentium-m -pipe -fomit-frame-pointer"

vagy az march az "erosebb" es tartalmazza az mtune-t is?

[quote:ecaa837a15="testerlnx"][quote:ecaa837a15="Beanie"][quote:ecaa837a15="testerlnx"]Ha i686 ala akarok forditani, es amin futni fog abban elkepzelheto hogy nem lesz sse vagy 3dnow, mmx2, sse2 stb, viszont amin forditok abban a prociban meg van, akkor erre ki kell terjek a USE flag-ban vagy a CFLAGS-ben?

jelenlegi make.conf:
CFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"

Az mcpu elavult, viszont tudtommal, ha a march-al pontosan(!) megadod a proci típusát, mint pl athlon64, meg nem tudom milyenek vannak, akkor azt hiszem használni fogja ezeket az utasításkészleteket, amit a proci tud. Nézd meg a doksiban, hogy a Te procidat milyen opcióval kell megadni.

Ezt jól elnéztem... Amúgy a célom az lett volna, hogy Athlon, AthlonXP, PII, Celeron arch-okra ugyan azt a rendszert klónozzam, ezért szerettem volna i686-ra fordítani a rendszert, amelyet egy Prescott-al fordítottam... Azt tudtam, hogy az mcpu elavult, de sajnos nem néztem meg a stage1-ben lévő CFLAGS-et jól és így nem tűnt fel, hogy mcpu-t használ :(

:) Hát akkor tényleg marad ez kézi megadás. Ja amúgy, ha már -O2 akkor mért nem -O3 vagy -Os? Én spec -O3-at preferálom, de néha az -Os jobban megtérül, mert sokkal kisebb lesz, mint amilyen gyors lenne az -O3-mal.

Szerintem deprecated, de nem vagyok benne biztos. Én csak march-ot használok. (amd64-el)

Ez volt alapból a stage1-ben :)

Gondoltam a stage1-et úgy állították össze hogy a legtöbb gépen elmenjen...

A -O3-mal is elmegy minden gépen, ez nem befolyásolja a hordozhatóságát, csak a march, mert azzal ha olyat adsz meg, akkor az adott processzor specifikus kódjai is kerülhetnek bele.

Meg lehet az adni valahogy hogy egy bizonyos progihoz milyen CFLAGS-et hasznaljon?

pl a lame-hez akkorom hogy hasznalja a -ffast-math-ot, de csak ehhez

Szerkeszd meg a Makefilet a ./configure futtatása után, de még a make parancs kiadása előtt. Ott vhol megtalálod benne a flageket.

Hi!

Egyébként van ingyenes fordító (otthoni használatra) a gcc-n kívül? Érdemes mással próbálkozni? Hozhat annyi gyorsulást, hogy érdemes legyen mindent újrafordítani?

Az Intel C Compiler (ICC) personal use-ra ingyenes, csak nem tudom, hogy hany progi fordulna le vele...

Ezen kivul van meg CCC (Compaq), errol nincsenek informacioim.

By(t)e
TBS::Antiemes

[quote:3290aa0aeb="Beanie"]Szerkeszd meg a Makefilet a ./configure futtatása után, de még a make parancs kiadása előtt. Ott vhol megtalálod benne a flageket.

hmm. ennel ugyesebb megoldas nincs? mint pl a package.use?

[quote:f43b35a625="selli"][quote:f43b35a625="Beanie"]Szerkeszd meg a Makefilet a ./configure futtatása után, de még a make parancs kiadása előtt. Ott vhol megtalálod benne a flageket.

hmm. ennel ugyesebb megoldas nincs? mint pl a package.use?

Nem tudom, de ez mindig, minden esetben működik.

én nem komplikátam túl
elolvastam a make.conf.examples-t és onnan megtetszett az:
-mtune=k8 -O2 -pipe
nekem bejött és mivel a fejlesztők javasolták gondoltam jó
tudom hogy nem a leggyorsabb de +2% tempóért nem rizikózok.
Nekem bejőtt.

[quote:90ded27c9c="antiemes"]Hi!

Egyébként van ingyenes fordító (otthoni használatra) a gcc-n kívül? Érdemes mással próbálkozni? Hozhat annyi gyorsulást, hogy érdemes legyen mindent újrafordítani?

Az Intel C Compiler (ICC) personal use-ra ingyenes, csak nem tudom, hogy hany progi fordulna le vele...

Ezen kivul van meg CCC (Compaq), errol nincsenek informacioim.

By(t)e
TBS::Antiemes

Én windows alatt használtam icl-t, az msvc-vel viszonylag elég jól kompatibilis, gcc terén nem tudom mi a helyzet vele. Szerintem egy próbát megér, de azt nem tudtam, hogy ingyenes, viszont gondolom FreeBSD-re nincs, ugyhogy én nem nagyon fogom használni.

[quote:437c257d01="emberk"]én nem komplikátam túl
elolvastam a make.conf.examples-t és onnan megtetszett az:
-mtune=k8 -O2 -pipe
nekem bejött és mivel a fejlesztők javasolták gondoltam jó
tudom hogy nem a leggyorsabb de +2% tempóért nem rizikózok.
Nekem bejőtt.

-ftrace megsem jott be, lasabb lett tole a lame.
de a -falign-functions=4 dobott rajta par 1%ot.

[quote:645ad9156d="emberk"]én nem komplikátam túl
elolvastam a make.conf.examples-t és onnan megtetszett az:
-mtune=k8 -O2 -pipe
nekem bejött és mivel a fejlesztők javasolták gondoltam jó
tudom hogy nem a leggyorsabb de +2% tempóért nem rizikózok.
Nekem bejőtt.

-mtune helyett -march-ot meg erdemes, a tobbi telleg igy van

mérhető a külömbség az mtune és az march között.

Ja és azért döntöttem a mtune mellet mert az állítólag nincs annyira kihegyezve a hardverhez, és mostanában valószínüleg alaplapcserém lesz.

[quote:171849318b="emberk"]mérhető a külömbség az mtune és az march között.

Ja és azért döntöttem a mtune mellet mert az állítólag nincs annyira kihegyezve a hardverhez, és mostanában valószínüleg alaplapcserém lesz.

De ha processzort nem cserélsz, akkor teljesen mindegy....

Az enyém:
CFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe"
A legtöbb helyen azt írják, hogy ennél több nem kell. A minap láttam egy oldalt, ahol egy agyonoptimalizált rendszer a tesztek (tudom szubjektív...) nagy részében lassabb volt.

CFLAGS="-O3 -march=pentium4 -fomit-frame-pointer -pipe"

Erdekelne, hogy milyen CFLAG-eket hasznaltok Gentoo installalaskor - olyanokat, amelyek a leheto legnagyobb sebesseget biztositjak, de azert nem teszik instabilla a rendszert.

[quote:a906990d36="mikebela777"]Erdekelne, hogy milyen CFLAG-eket hasznaltok Gentoo installalaskor - olyanokat, amelyek a leheto legnagyobb sebesseget biztositjak, de azert nem teszik instabilla a rendszert.

Check this out:

http://www.freehackers.org/gentoo/gccflags/flag_gcc3.html

Remelem, hasznos lesz :)
Udv, SuperPityu

[quote:cbe33597e9="mikebela777"]Erdekelne, hogy milyen CFLAG-eket hasznaltok Gentoo installalaskor - olyanokat, amelyek a leheto legnagyobb sebesseget biztositjak, de azert nem teszik instabilla a rendszert.

gondolom x86-rol beszelunk. ezesetben en ezeket szoktam:
-O3 -march=<arch> -fomit-frame-pointer -funroll-loops -pipe

de mostanaban ezeket is probalgattam (a fentiek mellett): -fforce-addr -fprefetch-loop-arrays
(-march mindenkepp ajanlott -mcpu helyett)

bizonyos esetekben -Os jobb, mint akar az O3 (talan via edennel ez a helyzet)

depersze tudjuk, hogy mindez folosleges, hiszen "gentoo is rice", es teljesen mindegy, hogy i386-ra van-e optimalizalva a kod vagy pedig a valos architekturara.

gcc optimalizacios flagek: http://gcc.gnu.org/onlinedocs/gcc-3.4.2/gcc/Optimize-Options.html#Optimize-Options

Igaz, hogy nem Gentoo-ban, hanem FreeBSD-ben, de én ezt használom:

CFLAGS=-O3 -pipe -march=athlon64
COPTFLAGS=-O -pipe -march=athlon64
CXXFLAGS=-O3 -pipe -march=athlon64

a saját itthoni gentoomon:
-O2 march=pentium3 -fomit-frame-pointer -pipe -fforce-addr -falign-functions=4 -fprefetch-loop-arrays
Ennek egy része lehet, hogy hülyeség, de már régóta így van..... :D
Egy via gépre most telepítek, azon:
-Os march=c3-2 -mmmx -msse -mfpmath=sse -pipe -fomit-frame-pointer
(asszem legalábbis) azért lett Os (tehát méretre optimalizálva) mert az a via nehemiah proci elég gyík. Az msse meg mmmx az nem biztos, hogy kell, a gcc manual nem nagyon mondott (nekem :D) semmit.

Sziasztok,

Lenne harom kerdesem:
1. Duron (1.2G) procihoz milyen beallitasokat javasoltok?
2. A -march -nak mehet a "k8"?
3. Mi a kulonbseg az Athlon es Duron kozt, csak a cache meretebe ter el, vagy van mas is?

Koszi a valaszokat :wink:

[quote:6f211836f1="rigidus"]Sziasztok,

Lenne harom kerdesem:
1. Duron (1.2G) procihoz milyen beallitasokat javasoltok?
2. A -march -nak mehet a "k8"?
3. Mi a kulonbseg az Athlon es Duron kozt, csak a cache meretebe ter el, vagy van mas is?

Koszi a valaszokat :wink:

Én úgy tudom, hogy Duron 3 féle maggal készült: Spitfire, Morgan és Applebred. Ezek a Thunderbird, Palomino és Thoroughbred B kisebb cache-el gyártott változatai voltak.
Szóval a K8 biztos nem lesz jó, az athlon és az athlon-xp közül kell választanod a procidnak megfelelően.

András

Az én make-flagjeim:
CFLAGS="-O2 -march=athlon-xp -mfpmath=sse -m3dnow -msse -mmmx -pipe"
CHOST="i686-pc-linux-gnu"

Szerintem éppen hogy csak annyi extra, hogy lehetőleg használjon minden extra utasításkészletet a prociban... :-)

[quote:bcb0b53f0e="andrash"]Én úgy tudom, hogy Duron 3 féle maggal készült: Spitfire, Morgan és Applebred. Ezek a Thunderbird, Palomino és Thoroughbred B kisebb cache-el gyártott változatai voltak.
Szóval a K8 biztos nem lesz jó, az athlon és az athlon-xp közül kell választanod a procidnak megfelelően.

András

Ez melyik lehet a 3 kozul?
[code:1:bcb0b53f0e]# cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 7
model name : AMD Duron(tm) processor
stepping : 1
cpu MHz : 1195.180
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mp mmxext 3dnowext 3dnow
bogomips : 2390.63
[/code:1:bcb0b53f0e]

[quote:71993757a5="rigidus"]Ez melyik lehet a 3 kozul?

Morgan magos, elvileg az march=athlon-xp lesz jó.
http://en.wikipedia.org/wiki/Duron
http://en.wikipedia.org/wiki/List_of_AMD_Duron_microprocessors

Tudtommal az -march=athlon-xp miatt automatikusan hasznalja az -mfpmath=sse -m3dnow -msse -mmmx -ket is. Bar ha odairod nem art, de a gentoo-dev IRC-n azt mondtak felesleges.
Nekem csak ennyi van: CFLAGS="-O3 -march=athlon-xp -pipe"

nálam:

CFLAGS="-march=athlon-xp -mfpmath=sse -m3dnow -mmmx -msse -O3 -pipe"

[quote:ec6018832f="andrash"][quote:ec6018832f="rigidus"]Ez melyik lehet a 3 kozul?

Morgan magos, elvileg az march=athlon-xp lesz jó.
http://en.wikipedia.org/wiki/Duron
http://en.wikipedia.org/wiki/List_of_AMD_Duron_microprocessors

Koszi :wink:

[quote:635591468d="sztomi"]nálam:

CFLAGS="-march=athlon-xp -mfpmath=sse -m3dnow -mmmx -msse -O3 -pipe"

A -march=athlon-xp tudtommal bekapcsolja az sse, 3dnow, mmx támogatást, tehát ezekre nincs szükség külön.

[quote:979a2bb357="simca"][quote:979a2bb357="sztomi"]nálam:

CFLAGS="-march=athlon-xp -mfpmath=sse -m3dnow -mmmx -msse -O3 -pipe"

A -march=athlon-xp tudtommal bekapcsolja az sse, 3dnow, mmx támogatást, tehát ezekre nincs szükség külön.

Mindenesetre itt nem irjak:

http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options

ugyhogy inkabb bekapcsoltam oket...

-Os -march=i586 -fomit-frame-pointer -pipe :)

Cyrix 6x86 PR166

A rendes gepemen:
-O3 -march=athlon-xp -fomit-frame-pointer -funroll-loops -fprefetch-loop-arrays -pipe

Szerintem ez egy kicsit sok. Lehet, hogy kiszedem a -funroll-loops -fprefetch-loop-arrays flageket.

Az -msse/mmx es hasonlok feleslegesek.

Az -mfpmath=sse opciorol nem sok jot hallottam. Bar az mar tobb mint egy eve volt, azota valtozhatott a dolog...

Az en beallitasaim a kovetkezok:
Otthon:
CFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -pipe"

Munkahelyen:
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe"

Otthoni server:
CHOST="i586-pc-linux-gnu"
CFLAGS="-Os -march=i586 -fomit-frame-pointer -pipe"

Elég sokat kutattam és sok fórumot olvastam, mielőtt újrafordítottam mindent a gépemen. Kísérletezni viszont egyáltalán nem akartam, csak biztosra menni.
Ezért innen választottam amit ajánlottak, meggyőztek:
CFLAGS - Gentoo Linux Wiki
Most gcc-3.4.4 van, -O2 a -O3-as helyett, ck-sources és sokkal gyorsabbnak érzem a P3-as gépemet. Mellesleg így egy év helyett csak fél évig tart egy program fordítása és kevesebb tárhelyet foglal.

Még egypár érdekes oldal, ahová könyvjelzőt tettem anno:
Safe compiler flags to use for gcc 3.x (Linux Reviews)
HOWTO Install Gentoo Linux: Configuring (-O3/-O2)
Gentoo Forums: CFLAGS Central (Part 1) (PentiumIII)
Gentoo Forums: CFLAGS Central (Part 1) (L2 cache is less than 512KB)
freshmeat.net: Editorials - GCC Myths and Facts (The truth about -O*)
DWN - November 4th, 2003 (Debian faster than Gentoo?)
GWN: Acovea analysis results against real world programs

[quote:0a3f632405="mindegy"]Elég sokat kutattam és sok fórumot olvastam, mielőtt újrafordítottam mindent a gépemen. Kísérletezni viszont egyáltalán nem akartam, csak biztosra menni.
Ezért innen választottam amit ajánlottak, meggyőztek:
CFLAGS - Gentoo Linux Wiki
Most gcc-3.4.4 van, -O2 a -O3-as helyett, ck-sources és sokkal gyorsabbnak érzem a P3-as gépemet. Mellesleg így egy év helyett csak fél évig tart egy program fordítása és kevesebb tárhelyet foglal.

Még egypár érdekes oldal, ahová könyvjelzőt tettem anno:
Safe compiler flags to use for gcc 3.x (Linux Reviews)
HOWTO Install Gentoo Linux: Configuring (-O3/-O2)
Gentoo Forums: CFLAGS Central (Part 1) (PentiumIII)
Gentoo Forums: CFLAGS Central (Part 1) (L2 cache is less than 512KB)
freshmeat.net: Editorials - GCC Myths and Facts (The truth about -O*)
DWN - November 4th, 2003 (Debian faster than Gentoo?)
GWN: Acovea analysis results against real world programs

Koszi szepen. Pont a fenti wikis link hianyzott. Korabban en is ratalaltam, de elfelejtettem betenni a bookmarksba. Kesobb kerestem google-lel, de valahogy nem birtam rabukkanni. Kerestem a gentoo.org -on is a guglival de csak felinfok jottek a cflagekrol. Igy viszont teljes a kep ;)

Koszi megegyszer :-)

atnyalaztam mar az amd oldalait, de vagy en vagyok nagyon vak, vagy nem tudom, a sempron 2500+ az milyten march="" vagy mcpu=""?

ugyanis gyakran vegzodnek a progik Illegal Instructionnal, es szerintem a rossz make.conf az oka.

b

szerk.: a make.conf:
CFLAGS="-O2 -mcpu=athlon-xp -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"

[quote:0203798542="blau"]atnyalaztam mar az amd oldalait, de vagy en vagyok nagyon vak, vagy nem tudom, a sempron 2500+ az milyten march="" vagy mcpu=""?

ugyanis gyakran vegzodnek a progik Illegal Instructionnal, es szerintem a rossz make.conf az oka.

b

szerk.: a make.conf:
CFLAGS="-O2 -mcpu=athlon-xp -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"

A Sempron lehet AthlonXP, es Athlon64 is. Szerintem a tied AthlonXP lesz. Ha jol tudom az mcpu, helyett a march ajanlott. Illetve a -pipe -ot nyugodtan odateheted a CFLAGS vegere.

[quote:929b804c2d="ProTech"][quote:929b804c2d="blau"]atnyalaztam mar az amd oldalait, de vagy en vagyok nagyon vak, vagy nem tudom, a sempron 2500+ az milyten march="" vagy mcpu=""?

ugyanis gyakran vegzodnek a progik Illegal Instructionnal, es szerintem a rossz make.conf az oka.

b

szerk.: a make.conf:
CFLAGS="-O2 -mcpu=athlon-xp -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"

A Sempron lehet AthlonXP, es Athlon64 is. Szerintem a tied AthlonXP lesz. Ha jol tudom az mcpu, helyett a march ajanlott. Illetve a -pipe -ot nyugodtan odateheted a CFLAGS vegere.

A Sempron athlon64 is lehet? Ez biztos? Én úgy tudom, hogy Socket A vonalon megy tovább Sempron, ami az alsó kategóriát, azaz Duront helyettesíti, Socket 754-en szintén van Sempron, plusz Athlon64, ami a középkategóriás Athlon XP helyett van, Socket 939-en pedig szintén van Athlon64 és itt van a hi-end Athlon FX, ami szintén 64 bites. Socket 940-en szintén van Athlon FX, plusz a szerverekbe szánt Opteronok, ezek szintén 64 bitesek és ide ECC-s ram kell. Szóval szerintem a Sempronok még a 32 bites vonalat képviselik mind, legalábbis, amik most a polcokon vannak azok. De ha nem így van, akkor javítsatok ki.

Ami az mcpu vs. march kérdést illeti, úgy tudom az mcpu elavult, és valami nekem warningolt is, amikor kipróbáltam, minden gcc sor után nyomott egy warningot is. :) Azóta march-ot használok és nincs gond. Jah és ez gcc 3.4.2 alá értendő. Szóval én ezt írnám a helyedben: -O3 -pipe -march=athlon-xp

Ja, még annyi, hogy a fomit-frame-pointer szerintem nem kell, mert a -O3 elvileg tartalmazza az összes optimizációt. De a -Os néha jobb, mert bizonyos esetekben jelentősen csökkenti a méretet, de a program mégsem lesz érezhetően lassabb.

Hi!

Egy megjegyzes: Nem CFLAG, hanem CFLAGS. A CFLAG-ot hiaba tuningolod, nem lesz eredmenye.

By(t)e
TBS::Antiemes