flags -03 vs -02 [RESOLVIDO]

1. flags -03 vs -02 [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 09/01/2014 - 21:57h

Gostaria de saber se existe algum problema em compilar programas com a flag -O3 em vez da geralmente padrão -O2. Eu li no wiki.gentoo.org que a flag -O3 pode retardar o sistema devido a bínarios muito grandes e alto uso da memória! Mas isso vale somente se o sistema for praticamente todo compilado como no caso da distribuição gentoo (eu acho ) ou também vale para qualquer programa que seja compilado com a flag -O3 ? Estou pensando em compilar o kernel com essa flag mas não tenho certesa se isso é uma boa ideia!

Só para complementar:Eu estou usando debian, e defini as CFLAGS e CXXFLAGS no /etc/profile com as flags -O3 e -march=native.




  


2. Re: flags -03 vs -02 [RESOLVIDO]

Fernando
phoemur

(usa Debian)

Enviado em 10/01/2014 - 16:15h

Se você quiser saber o que estas flags significam veja aqui:

http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html

Eu já tive alguns pacotes que só compilavam com -O2 e não com -O3 de forma que o mais usado é -O2, mas nada te impede de usar -O3 se funcionar...

Com -O3 a compilação vai usar mais recursos e os binários tendem a ser maiores, porém a execução do programa tende a ser mais eficiente...


3. Re: flags -03 vs -02 [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/01/2014 - 17:48h

Estou compilando o kernel aqui com as flags -O3 -march=native -mtune=native definidas nas variaveis da seguinte maneira:

CFLAGS= -O3 -march=native -mtune=native
HOSTCFLAGS= ...( ... = oque estava antes ou depois) $(CFLAGS) ...
HOSTCXXFLAGS= ... $(CFLAGS) ...
CFLAGS_MODULE= ... $(CFLAGS) ...
CFLAGS_KERNEL= ... $(CFLAGS) ...
KBUILD_CFLAGS= ... $(CFLAGS) ...
KBUILD_CFLAGS_KERNEL= ... $(CFLAGS) ...
detalhe eu adicionei o -march=native -mtune=native e dei o espaço do -O2 para o -O3

Uma dúvida que me apareceu , é que no processo de compilação deu erro na hora de compilar um modulo(não tenho certeza se era um ) aí eu editei o Makefile comentando a variável CFLAGS, voutei a compilar e passou do módulo, editei novamente o Makefile e descomentei o CFLAGS para continuar com o uso das flags.
Lembro que a saída de texto do erro apontou um arquivo em um diretório chamado x86.A minha duvida é a seguinte: Por ter usado o -march=native e o -mtune=native em variaveis supostamente dedicadas aos módulos,
sera que o modulo em questão era para ser compilado para uma arquitetura pré-definida mas como eu usei o -march=native e o -mtune=native compilou para a arquitetura do meu processador gerando um erro? Ou será que o responsavel foi o -O3 ?. Essa suposição sobre a arquitetura se baseia no fato do arquivo se encontrar no diretório x86!(Não sei se isso irá fazer sentido para vocês.)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts