Moderator: SlashBeast
Code: Select all
./cflags -nasze flagiCode: Select all
LDFLAGS="-Wl,--as-needed -Wl,-enable-new-dtagsNie zglaszaj nic na bugs.gentoo.org z tymi flagami, prosze.Arfrever wrote:Proponuję:Code: Select all
CFLAGS="-march=athlon-xp -pipe -O3 (-s) -fforce-addr -finline-limit=1200 -fivopts -floop-optimize2 -fno-ident -fomit-frame-pointer -fpeel-loops -fprefetch-loop-arrays -frename-registers -ftracer -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-linear -ftree-vectorize -funroll-loops (-fvisibility=hidden) -fweb -m3dnow -msse -mmmx -DG_DISABLE_ASSERT -DNDEBUG" CXXFLAGS="${CFLAGS} (-fvisibility-inlines-hidden)"

Code: Select all
CFLAGS="-O2 -march=pentium-m -pipe"
CXXFLAGS="-O2 -march=pentium-m -pipe"
To był żart. Ja tych flag nie używam.nelchael wrote:Nie zglaszaj nic na bugs.gentoo.org z tymi flagami, prosze.Arfrever wrote:Proponuję:Code: Select all
CFLAGS="-march=athlon-xp -pipe -O3 (-s) -fforce-addr -finline-limit=1200 -fivopts -floop-optimize2 -fno-ident -fomit-frame-pointer -fpeel-loops -fprefetch-loop-arrays -frename-registers -ftracer -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-linear -ftree-vectorize -funroll-loops (-fvisibility=hidden) -fweb -m3dnow -msse -mmmx -DG_DISABLE_ASSERT -DNDEBUG" CXXFLAGS="${CFLAGS} (-fvisibility-inlines-hidden)"
Obyś się nie mylił.no4b wrote:--enable-new-dtags jest w gentoo afaik domyślnie włączane
Czy przykładowo samo gtk+ lub glib też się nie zbuduje?no4b wrote:--as-needed działa dobrze jeżeli nie używasz aplikacji gtk/gtk2 (zwykle się z nią po prostu nie kompilują).
Code: Select all
CFLAGS="-floop-optimize2 -fpeel-loops -funswitch-loops"info gcc wrote:`-floop-optimize'
Perform loop optimizations: move constant expressions out of
loops, simplify exit test conditions and optionally do
strength-reduction as well.
Enabled at levels `-O', `-O2', `-O3', `-Os'.
`-floop-optimize2'
Perform loop optimizations using the new loop optimizer. The
optimizations (loop unrolling, peeling and unswitching, loop
invariant motion) are enabled by separate flags.
(...)
`-fpeel-loops'
Peels the loops for that there is enough information that they do
not roll much (from profile feedback). It also turns on complete
loop peeling (i.e. complete removal of loops with small constant
number of iterations).
Enabled with `-fprofile-use'.
`-fmove-loop-invariants'
Enables the loop invariant motion pass in the new loop optimizer.
Enabled at level `-O1'
`-funswitch-loops'
Move branches with loop invariant conditions out of the loop, with
duplicates of the loop on both branches (modified according to
result of the condition).
Code: Select all
kurak ~ # ./cflags -O2 -march=athlon-xp -pipe -fomit-frame-pointer
KIDNet Software Ltd
Flags efficiency check
* Script will check efficiency of:
* "-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
* We will use "test.c" as benchmark.
* Compiling "test.c" benchmark file ... ... [ ok ]
* Checking flags efficiency - DO NOT TOUCH ANYTHING :) ... [ ok ]
* Process finished successfully.
Current code execution time : 0m59.917s
Current size of executable : 6485 bytes
Code: Select all
kurak ~ # ./cflags -s -O2 -march=athlon-xp -pipe -fomit-frame-pointer -m3dnow -fno-align-jumps -fno-align-labels -funroll-all-loops -mfpmath=sse -msse -mmmx
KIDNet Software Ltd
Flags efficiency check
* Script will check efficiency of:
* "-s -O2 -march=athlon-xp -pipe -fomit-frame-pointer -m3dnow -fno-align-jumps -fno-align-labels -funroll-all-loops -mfpmath=sse -msse -mmmx"
* We will use "test.c" as benchmark.
* Compiling "test.c" benchmark file ... ... [ ok ]
* Checking flags efficiency - DO NOT TOUCH ANYTHING :) ... [ ok ]
* Process finished successfully.
Current code execution time : 0m7.527s
Current size of executable : 3588 bytes
Proponuję usunąć flagę "-funroll-all-loops". Oprócz tego, jeśli się nie mylę, to ten skrypt z plikiem test.c napisane przez twojego kolegę nie sprawdzają w ogóle flag m. in. "-ftree-*".kurak wrote:(...)(...)Code: Select all
(...) "-s -O2 -march=athlon-xp -pipe -fomit-frame-pointer -m3dnow -fno-align-jumps -fno-align-labels -funroll-all-loops -mfpmath=sse -msse -mmmx" (...)
kurak wrote:A dlaczego usunac ta flage "-funroll-all-loops" powoduje jakies odchylenia w dzialaniu systemu?
Sveikinuinfo gcc wrote:`-funroll-loops'
Unroll loops whose number of iterations can be determined at
compile time or upon entry to the loop. `-funroll-loops' implies
both `-fstrength-reduce' and `-frerun-cse-after-loop'. This
option makes code larger, and may or may not make it run faster.
`-funroll-all-loops'
Unroll all loops, even if their number of iterations is uncertain
when the loop is entered. This usually makes programs run more
slowly. `-funroll-all-loops' implies the same options as
`-funroll-loops',
Przebudowałem GLib 2.10.3, GTK+ 2.8.20-r1 i GIMP 2.3.10 i nie było żadnych błędów. Użyłem takie stabilne flagi:no4b wrote:--as-needed działa dobrze jeżeli nie używasz aplikacji gtk/gtk2 (zwykle się z nią po prostu nie kompilują).
Code: Select all
CFLAGS="-march=(...) -pipe -O2 -finline-functions -finline-limit=800 -floop-optimize2 -fno-ident -fomit-frame-pointer -fpeel-loops -fprefetch-loop-arrays -frename-registers -funswitch-loops -DG_DISABLE_ASSERT -DNDEBUG"
CXXFLAGS="-march=(...) -pipe -O2 -finline-functions -finline-limit=800 -floop-optimize2 -fno-ident -fomit-frame-pointer -fpeel-loops -fprefetch-loop-arrays -frename-registers -funswitch-loops -DG_DISABLE_ASSERT -DNDEBUG"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common"Code: Select all
cat /proc/cpuinfo
......
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 t tm pbe up cid xtpr
.......
Gdzie byles jak nabijales te swoje posty? NIE, NIE i jeszcze raz NIE!mirek wrote:Polecenie cpuinfo pokazuje mi nastepujace flagiCzy to znaczy, ze wszystkie te flagi mam miec zapisane w make.conf?Code: Select all
cat /proc/cpuinfo ...... flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 t tm pbe up cid xtpr .......
Code: Select all
CHOST="i686-pc-linux-gnu"
EMERGE_DEFAULT_OPTS="-b"
CFLAGS="-s -O2 -march=pentium-m -pipe -fomit-frame-pointer -mmmx -finline-functions -funroll-loops -msse -fno-align-jumps -fno-align-labels -mfpmath=sse"
CXXFLAGS="${CFLAGS}"Code: Select all
kurak ~ # cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz
stepping : 6
cpu MHz : 2445.952
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
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 nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
bogomips : 4896.02
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz
stepping : 6
cpu MHz : 2445.952
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
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 nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
bogomips : 4891.48Nie powinieneś przekraczać flag zalecanych na gentoo wikikurak wrote: CFLAGS="-s -O2 -march=pentium-m -pipe -fomit-frame-pointer -mmmx "
Eee, chodzi o to, żeAnyway you should check /proc/cpuinfo for pni (SSE3) string before using -msse3
Code: Select all
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up pni lahf_lm ts ttp tm stc
Code: Select all
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium-m -msse3 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"nomkurak wrote:Hmm, teraz to ja juz sam nie wiem, tzn ze najlepiej ustawic cflags z gentoo-wiki? bo jak sie bawilem na athlonie to sporo przyspieszalo z roznymi flagami.. ale nie wiem jak sie ma sprawa z tym core 2 duo.. z waszych wykladow wnioskuje, ze najlepiej uzycCode: Select all
CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium-m -msse3 -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"