AWK wrote:
>       Li no book Securing and Optimizing Linux que para melhorar a
>performance de programas C teria que adicionar algumas op��es na vari�vel

Otimiz�-los.

>CFLAGS antes de compil�-los.  O que na verdade realmente melhora o

Isso s� vale se voc� estiver usando o make com um Makefile bem feito. Se n�o, 
basta passar essas op��es para o gcc diretamente.

> desempenho. Mas, e os programas em C++? Que par�metros tenho que passar ao
> gcc e em qual vari�vel?

g++, na vari�vel CXXFLAGS. Mas s�o basicamente os mesmos.

>       Como meu micro � um Celerom 500MHz, os par�metros que passei � vari�vel
>CFLAGS no /etc/profile:
>
>       CFLAGS='-g -O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro
> -march=pentiumpro -fomit-frame-pointer -fno-exceptions'

Note que -Ox com x >= 3 � a mesma coisa. Em outras palavras, n�o existe -O4, 
-O5, -O6, etc.

-funroll-loops acho que est� incluso j� no -O2 ou -O3. Mas posso estar 
enganado.

-march=pentiumpro implica -mcpu=pentiumpro. Aqui eu uso -march=athlon-tbird 
-mmmx -m3dnow quando compilo o KDE.

-fomit-frame-pointer faz isso que est� dizendo: omite o frame pointer. Se voc� 
tentar depurar um programa compilado assim ou gerar um backtrace, n�o 
conseguir�.

-fno-exceptions s� vale para C++, j� que C n�o tem exce��es. N�o preciso dizer 
que programas C++ que usem exce��es n�o funcionar�o -- nem compilar�o 
provavelmente.

Por fim note que compilar com otimiza��es fortes significa que o arquivo 
provavelmente ser� maior e que a compila��o vai levar bem mais tempo.
-- 
  Thiago Macieira  -  Registered Linux user #65028
   [EMAIL PROTECTED]           
    ICQ UIN: 1967141   PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
---------------------------------------------------------------------------
Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utiliza��o da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a