View previous topic :: View next topic |
Author |
Message |
MetalGod Bodhisattva
Joined: 10 Mar 2003 Posts: 816 Location: Portugal
|
Posted: Wed May 28, 2003 1:01 pm Post subject: Que optimizações é k o ppl usa ? |
|
|
Por acaso gostava de saber k optimizações eh k o ppl usa... tipo façam comentarios pros e contras de usarem essas optimizações...
Bem as minhas optimizaçoes sao as seguintes...
Code: |
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
|
Eu noto que por vezes a CFLAG "-O3" por vezes eh bastante violenta e causa erros de codigo. Quando isso acontece uso "-O2" k que a optimizção aconselhada antes de submeter bugs... _________________ ex: Gentoo Linux Developer: amd64 media-optical sound gnome
ex: Portuguese Moderator
------------------------------------------------------------------------------
God Doesn't Play Dice |
|
Back to top |
|
|
RoadRunner Bodhisattva
Joined: 12 Jun 2002 Posts: 490 Location: Coimbra, Portugal
|
Posted: Wed May 28, 2003 1:50 pm Post subject: |
|
|
Eu uso precisamente isso em todas as máquinas (menos no servidor, onde não osu o -fomit-frame-pointer) e nunca tive problemas devido a flags. pelo menos problemas que mudando de -O3 para -O2 resolvessem. |
|
Back to top |
|
|
AngusYoung Retired Dev
Joined: 20 Dec 2002 Posts: 473 Location: Czech Republic
|
Posted: Wed May 28, 2003 4:19 pm Post subject: |
|
|
Code: | CFLAGS="-march=pentium3 -O3 -pipe -mmmx -msse -mfpmath=sse -fforce-addr -fforce-mem -fomit-frame-pointer -falign-functions -fprefetch-loop-arrays" |
e
Code: | CFLAGS="-march=athlon-tbird -O3 -pipe -mmmx -m3dnow -fforce-addr -fforce-mem -fomit-frame-pointer -falign-functions -fprefetch-loop-arrays" |
A propósito, nunca tive problemas com -03. Inclusive o Open Office foi compilado com essas CFLAGS.
Abraços _________________ My blog
Twitter |
|
Back to top |
|
|
MetalGod Bodhisattva
Joined: 10 Mar 2003 Posts: 816 Location: Portugal
|
Posted: Wed May 28, 2003 5:24 pm Post subject: optimizaçoes |
|
|
[quote="AngusYoung"] Code: | CFLAGS="-march=pentium3 -O3 -pipe -mmmx -msse -mfpmath=sse -fforce-addr -fforce-mem -fomit-frame-pointer -falign-functions -fprefetch-loop-arrays" |
Eu por acaso já pensei em usar as CFLAGS "-mmmx -msse" mas pelo k sei tive a ler alguns dos essas flags sao activadas directamento logo quando "-march=pentium3" _________________ ex: Gentoo Linux Developer: amd64 media-optical sound gnome
ex: Portuguese Moderator
------------------------------------------------------------------------------
God Doesn't Play Dice |
|
Back to top |
|
|
v n00b
Joined: 26 Feb 2003 Posts: 23 Location: Porto, Portugal
|
Posted: Wed May 28, 2003 5:30 pm Post subject: |
|
|
Eu usa estas:
Code: | CFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer" |
o normal excepto o -O2 |
|
Back to top |
|
|
AngusYoung Retired Dev
Joined: 20 Dec 2002 Posts: 473 Location: Czech Republic
|
Posted: Wed May 28, 2003 6:06 pm Post subject: Re: optimizaçoes |
|
|
[quote="MetalGOD"] AngusYoung wrote: | Code: | CFLAGS="-march=pentium3 -O3 -pipe -mmmx -msse -mfpmath=sse -fforce-addr -fforce-mem -fomit-frame-pointer -falign-functions -fprefetch-loop-arrays" |
Eu por acaso já pensei em usar as CFLAGS "-mmmx -msse" mas pelo k sei tive a ler alguns dos essas flags sao activadas directamento logo quando "-march=pentium3" |
Pois também já ouvi muitas discussões sobre -march=pentium3 e -mmmx -msse serem ou não redundantes. Porém até hoje não encontrei nenhum artigo técnico que tirasse a dúvida ... _________________ My blog
Twitter |
|
Back to top |
|
|
RoadRunner Bodhisattva
Joined: 12 Jun 2002 Posts: 490 Location: Coimbra, Portugal
|
Posted: Wed May 28, 2003 6:19 pm Post subject: |
|
|
Ver aqui para uma lista das opmimizações com a opção -O? e ver aqui para a lista de opções para os parametros específicos da arquitectura x86. |
|
Back to top |
|
|
DataShark n00b
Joined: 26 May 2002 Posts: 28 Location: Portugal
|
Posted: Wed May 28, 2003 8:50 pm Post subject: para quem tiver o gcc3.3 ... |
|
|
Quote: |
emerge info Portage 2.0.48 (default-x86-1.4, gcc-3.3, glibc-2.3.2-r2)
=================================================================
System uname: 2.5.69-mm7 i686 Intel(R) Pentium(R) 4 Mobile CPU 1.70GHz
GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY="/usr/local/portage"
USE="x86 oss 3dnow apm avi crypt cups encode gif imlib jpeg kde libg++ mikmod mmx mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib alsa gdbm berkdb slang readline arts tetex nas svga tcltk java guile ruby postgres X sdl gpm tcpd pam libwww ssl perl python esd oggvorbis gnome gtk qt motif opengl mozilla gphoto2 ldap cdr acl acpi apache2 canna cjk curl doc dvb dvd emacs ethereal evo freewnn gb gd gnomedb gps gtk2 gtkhtml icc imap jikes junit kerberos lcms leim libgda lirc mbox mpi mule nptl oav odbc pcmcia pda pic plotutils pnp samba sasl slp snmp sse tiff trusted usb wmf xml"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-s -march=pentium4 -mmmx -msse -msse2 -O3 -mfpmath=sse -fomit-frame-pointer -pipe -fexpensive-optimizations -fpic -foptimize-register-move -ffast-math -frename-registers -fforce-addr -fprefetch-loop-arrays -falign-functions=4 -falign-jumps=4 -falign-loops=4 -maccumulate-outgoing-args"
CXXFLAGS="-s -march=pentium4 -mmmx -msse -msse2 -O3 -mfpmath=sse -fomit-frame-pointer -pipe -fexpensive-optimizations -fpic -foptimize-register-move -ffast-math -frename-registers -fforce-addr -fprefetch-loop-arrays -falign-functions=4 -falign-jumps=4 -falign-loops=4 -maccumulate-outgoing-args"
ACCEPT_KEYWORDS="x86 ~x86"
MAKEOPTS="-j2"
AUTOCLEAN="no"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
FEATURES="ccache buildpkg -sandbox noclean"
|
juntamente com NPTL (kernel mm-sources) excepto ainda alguns problemas com algumas packages que não apreciam as optimizações SSE so far so good ...
P.S. : já sei que nas CFLAGS há algumas redundâncias ... laziness |
|
Back to top |
|
|
MetalGod Bodhisattva
Joined: 10 Mar 2003 Posts: 816 Location: Portugal
|
Posted: Thu May 29, 2003 12:44 am Post subject: UI :) |
|
|
Tanta coisa
tenho umas criticas para as CFLAGS pois ao k parece o -march=pentium4 n eh muito famoso
code]-mmmx -msse -msse2 [/code] tb parece k pelo k andei a investigar sao default no -march=pentiumxxx _________________ ex: Gentoo Linux Developer: amd64 media-optical sound gnome
ex: Portuguese Moderator
------------------------------------------------------------------------------
God Doesn't Play Dice |
|
Back to top |
|
|
meetra Tux's lil' helper
Joined: 18 Nov 2002 Posts: 135 Location: Porto, Portugal
|
Posted: Thu May 29, 2003 3:13 am Post subject: Re: optimizaçoes |
|
|
AngusYoung wrote: | MetalGOD wrote: | Code: | CFLAGS="-march=pentium3 -O3 -pipe -mmmx -msse -mfpmath=sse -fforce-addr -fforce-mem -fomit-frame-pointer -falign-functions -fprefetch-loop-arrays" |
Eu por acaso já pensei em usar as CFLAGS "-mmmx -msse" mas pelo k sei tive a ler alguns dos essas flags sao activadas directamento logo quando "-march=pentium3" |
Pois também já ouvi muitas discussões sobre -march=pentium3 e -mmmx -msse serem ou não redundantes. Porém até hoje não encontrei nenhum artigo técnico que tirasse a dúvida ... |
gcc $CFLAGS -v file.c
e jah agora
Code: | CHOST="i586-pc-linux-gnu"
CFLAGS="-march=pentium-mmx -O3 -fomit-frame-pointer -pipe"
CXXFLAGS="-march=pentium-mmx -O3 -fomit-frame-pointer -pipe"
|
|
|
Back to top |
|
|
DataShark n00b
Joined: 26 May 2002 Posts: 28 Location: Portugal
|
Posted: Thu May 29, 2003 5:25 pm Post subject: Re: UI :) |
|
|
MetalGOD wrote: | Tanta coisa
tenho umas criticas para as CFLAGS pois ao k parece o -march=pentium4 n eh muito famoso
code]-mmmx -msse -msse2 [/code] tb parece k pelo k andei a investigar sao default no -march=pentiumxxx |
o -march=mpentium4 dava problemas (nomeadamente com as funções matemáticas) na glibc ... tanto quanto se sabe esses problemas estão resolvidos... e a glibc passa *todos* os testes quando compilada com o gcc 3.3. ...
ver a propósito: http://gcc.gnu.org/gcc-3.3/changes.html ...
Em suma, ter lido o subject do post não tinha sido má ideia ... |
|
Back to top |
|
|
DataShark n00b
Joined: 26 May 2002 Posts: 28 Location: Portugal
|
Posted: Thu May 29, 2003 5:28 pm Post subject: Re: optimizaçoes |
|
|
meetra wrote: | AngusYoung wrote: | MetalGOD wrote: | Code: | CFLAGS="-march=pentium3 -O3 -pipe -mmmx -msse -mfpmath=sse -fforce-addr -fforce-mem -fomit-frame-pointer -falign-functions -fprefetch-loop-arrays" |
Eu por acaso já pensei em usar as CFLAGS "-mmmx -msse" mas pelo k sei tive a ler alguns dos essas flags sao activadas directamento logo quando "-march=pentium3" |
Pois também já ouvi muitas discussões sobre -march=pentium3 e -mmmx -msse serem ou não redundantes. Porém até hoje não encontrei nenhum artigo técnico que tirasse a dúvida ... |
gcc $CFLAGS -v file.c
e jah agora
Code: | CHOST="i586-pc-linux-gnu"
CFLAGS="-march=pentium-mmx -O3 -fomit-frame-pointer -pipe"
CXXFLAGS="-march=pentium-mmx -O3 -fomit-frame-pointer -pipe"
|
|
vê : http://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/i386-and-x86-64-Options.html#i386%20and%20x86-64%20Options e http://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/Optimize-Options.html#Optimize%20Options ...
(se estiveres a usar outra versão do gcc é só mudar a versão na URL ...)
Um abraço ... |
|
Back to top |
|
|
MetalGod Bodhisattva
Joined: 10 Mar 2003 Posts: 816 Location: Portugal
|
Posted: Thu Jun 05, 2003 11:32 am Post subject: actualização |
|
|
Bem...
Code: |
Portage 2.0.48-r1 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1)
=================================================================
System uname: 2.5.70-mm4 i686 AMD Athlon(tm) XP 2000+
GENTOO_MIRRORS="http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo http://gent
oo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share
/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY=""
USE="x86 apm arts kde libg++ libwww mikmod motif quicktime spell xml2 gdbm berkd
b readline java guile tcpd pam esd X gtk tcltk ipv6 gnome 3dnow aalib avi bonobo
cdr crypt cups curl dga directfb dvd encode flash gif gpm gtk2 imlib jpeg maild
ir mmx mozilla mpeg ncurses nls oggvorbis opengl oss pdflib perl png python qt s
dl slang sse ssl svga truetype usb xmms xv zlib"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"
ACCEPT_KEYWORDS="x86 ~x86"
MAKEOPTS="-j2"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
FEATURES="sandbox ccache"
|
_________________ ex: Gentoo Linux Developer: amd64 media-optical sound gnome
ex: Portuguese Moderator
------------------------------------------------------------------------------
God Doesn't Play Dice |
|
Back to top |
|
|
To Veteran
Joined: 12 Apr 2003 Posts: 1145 Location: Coimbra, Portugal
|
Posted: Thu Jun 05, 2003 12:15 pm Post subject: |
|
|
Quote: | CFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
#CFLAGS="-march=pentium3 -mmmx -msse -msse2 -mfpmath=sse -O3 -pipe -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -fschedule-insns2 -fforce-addr -fprefetch-loop-arrays -ffast-math"
# If you set a CFLAGS above, then this line will set your default C++ flags to
# the same settings.
CXXFLAGS="${CFLAGS}" |
Já usei a linha que tenho comentada, mas ainda esta semana tive de mudar pq tinha erros a compilar util-linux e o gettext entre outros. Btw tb vi um post a dizer que o as flags "-mmmx -msse" são redundantes para march pentiumx.
Tó _________________
------------------------------------------------
Linux Gandalf 3.2.35-grsec
Gentoo Base System version 2.2
------------------------------------------------ |
|
Back to top |
|
|
lmpinto Tux's lil' helper
Joined: 12 Feb 2003 Posts: 94 Location: somewhere near a computer and a beer.
|
Posted: Thu Jun 05, 2003 2:47 pm Post subject: |
|
|
To wrote: | Quote: | CFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
#CFLAGS="-march=pentium3 -mmmx -msse -msse2 -mfpmath=sse -O3 -pipe -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -fschedule-insns2 -fforce-addr -fprefetch-loop-arrays -ffast-math"
# If you set a CFLAGS above, then this line will set your default C++ flags to
# the same settings.
CXXFLAGS="${CFLAGS}" |
Já usei a linha que tenho comentada, mas ainda esta semana tive de mudar pq tinha erros a compilar util-linux e o gettext entre outros. Btw tb vi um post a dizer que o as flags "-mmmx -msse" são redundantes para march pentiumx.
Tó |
Também já tive uma parecida com essa (numa consola de 80 caracteres eram 3 linhas e meia), até fazer um 'man gcc', e ver que por exemplo o '-funroll-loops', o '-fprefetch-loop-arrays' e outras são automaticamente activadas quando usas -O3... De maneira que uma linha dessas impressiona, mas quando se vai a ver não faz muito mais do que a que usas agora
Neste momento tenho:
Code: | CFLAGS="-march=pentium4 -mcpu=pentium4 -O3 -pipe -fomit-frame-pointer -mmmx -msse -msse2 -mfpmath=sse,387 -fforce-addr" |
Estou com problemas a compilar o libgtk-3.0.4 e o alsa-tools-0.9.4, mas já experimentei sem nenhumas optimizações (nem mesmo o -j2) e continua a dar erros. Logo, as que tenho vão continuar, pelo menos durante mais um tempo, até ter tempo de ler a manpage do gcc...
Agora queria saber porque raio é que o xfree-4.3.0-r3 me pede para fazer o downgrade para o gcc-3.2.3-r1... |
|
Back to top |
|
|
MetalGod Bodhisattva
Joined: 10 Mar 2003 Posts: 816 Location: Portugal
|
Posted: Tue Jun 17, 2003 2:30 am Post subject: update |
|
|
well nice update
dp de muitos testes com a minha maquina fiquei por:
Code: |
Portage 2.0.48-r1 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1)
=================================================================
System uname: 2.4.20-gentoo-r5 i686 AMD Athlon(tm) XP 2000+
GENTOO_MIRRORS="http://www.ibiblio.org/pub/Linux/distributions/gentoo"
CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/confi
g /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY=""
USE="x86 apm arts kde libg++ libwww mikmod motif nls qt quicktime spell xml2 xv
gdbm berkdb readline guile tcpd pam esd X gtk gnome gtk2 3dnow sse ssl mmx aalib
usb cups truetype avi bonobo cdr crypt dga dvd encode flash gif gpm imlib maild
ir java jpeg mozilla mpeg ncurses oggvorbis opengl oss pdflib perl png python sd
l slang svga xmms zlib"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe -ffast-math -mmmx -msse -m3dnow"
CXXFLAGS="-march=athlon-xp -O2 -pipe -ffast-math -mmmx -msse -m3dnow"
ACCEPT_KEYWORDS="x86 ~x86"
MAKEOPTS="-j2"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
FEATURES="sandbox ccache"
|
_________________ ex: Gentoo Linux Developer: amd64 media-optical sound gnome
ex: Portuguese Moderator
------------------------------------------------------------------------------
God Doesn't Play Dice |
|
Back to top |
|
|
jig n00b
Joined: 15 Feb 2003 Posts: 4
|
Posted: Sun Jun 29, 2003 8:02 pm Post subject: |
|
|
lmpinto wrote: |
Também já tive uma parecida com essa (numa consola de 80 caracteres eram 3 linhas e meia), até fazer um 'man gcc', e ver que por exemplo o '-funroll-loops', o '-fprefetch-loop-arrays' e outras são automaticamente activadas quando usas -O3... |
Olá!
Podias-me indicar onde é que leste isto no manual do gcc? gcc3.3? |
|
Back to top |
|
|
lmpinto Tux's lil' helper
Joined: 12 Feb 2003 Posts: 94 Location: somewhere near a computer and a beer.
|
Posted: Sun Jun 29, 2003 8:45 pm Post subject: |
|
|
jig wrote: | lmpinto wrote: |
Também já tive uma parecida com essa (numa consola de 80 caracteres eram 3 linhas e meia), até fazer um 'man gcc', e ver que por exemplo o '-funroll-loops', o '-fprefetch-loop-arrays' e outras são automaticamente activadas quando usas -O3... |
Olá!
Podias-me indicar onde é que leste isto no manual do gcc? gcc3.3? |
Raios partam isto. Tanta flag que é activada com o -O3, e eu logo vou dar dois exemplos das poucas que não são. |
|
Back to top |
|
|
DataShark n00b
Joined: 26 May 2002 Posts: 28 Location: Portugal
|
Posted: Sun Jun 29, 2003 10:41 pm Post subject: links ... |
|
|
lmpinto wrote: | jig wrote: | lmpinto wrote: |
Também já tive uma parecida com essa (numa consola de 80 caracteres eram 3 linhas e meia), até fazer um 'man gcc', e ver que por exemplo o '-funroll-loops', o '-fprefetch-loop-arrays' e outras são automaticamente activadas quando usas -O3... |
Olá!
Podias-me indicar onde é que leste isto no manual do gcc? gcc3.3? |
Raios partam isto. Tanta flag que é activada com o -O3, e eu logo vou dar dois exemplos das poucas que não são. |
http://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/ ou para os conservadores http://gcc.gnu.org/onlinedocs/gcc-3.2.3/gcc/ |
|
Back to top |
|
|
To Veteran
Joined: 12 Apr 2003 Posts: 1145 Location: Coimbra, Portugal
|
Posted: Sun Jun 29, 2003 11:19 pm Post subject: Re: links ... |
|
|
Conservadores ou que gostam de ter as maquinas com as versões mais estáveis:)
Tó _________________
------------------------------------------------
Linux Gandalf 3.2.35-grsec
Gentoo Base System version 2.2
------------------------------------------------ |
|
Back to top |
|
|
|