1 |
Até onde sei, só pode haver um mtune. |
2 |
Nesse caso, eu recomendo, por experiência pessoal, o -mtune=athlon-xp. |
3 |
Tenho um Athlon XP e um Pentium 4 e, por incrível que pareça, *ambos* |
4 |
rodam mais rápido os binários compilados com -march=athlon-xp. |
5 |
|
6 |
Não estou me confundindo. O -march=athlon-xp supostamente quebraria a |
7 |
compatibilidade com um pentium4, mas os poucos aplicativos onde eu |
8 |
testei isso rodaram mais rápido (ou tão rápido quanto) os mesmos |
9 |
compilados com -march=pentium4. |
10 |
|
11 |
De resto, eu tenho um pouco de receio de fazer o -march e o -mtune |
12 |
discordarem. Ainda não entendi se isso é: |
13 |
1) permitido, |
14 |
2) recomendável, ou |
15 |
3) contraditório (e portanto, ruim para o desempenho) |
16 |
|
17 |
Alguém já ouviu falar do Acovea? Ele faz uma análise de desempenho das |
18 |
flags de compilação, usando algoritmos genéticos, e no final mostra |
19 |
tabelas com as flags e seus efeitos na velocidade do binário. |
20 |
|
21 |
Concluindo, eu usaria o Acovea pra cada uma das máquinas, modificando a |
22 |
configuração das flags a serem testadas (o arquivo de configuração do |
23 |
Acovea é XML, bem fácil de editar). No final, eu usaria as flags mais |
24 |
genéricas que demonstrassem o melhor desempenho. |
25 |
(Detalhe: o Acovea tem o hábito de mostrar que as flags já escolhidas |
26 |
são as melhores possíveis) |
27 |
(Outro detalhe: O Acovea faz isso porque ele é a ferramenta usada pelos |
28 |
desenvolvedores do GCC justamente pra definir quais flags serão |
29 |
incluídas nos diferentes níveis de otimização: -O, -O1, -O2, -O3 e -Os). |
30 |
|
31 |
Se você não quiser gastar esse tempo todo com o Acovea (ele demora mais |
32 |
de 24h pra rodar), eu sugiro ainda assim que você use as flags mais |
33 |
genéricas possíveis. |
34 |
|
35 |
*Se fosse eu*, eu usaria em todas as máquinas: |
36 |
CFLAGS='-O2 -mtune=athlon-xp -msse -msse2 -mmmx -pipe -fomit-frame-pointer' |
37 |
|
38 |
Alguém aí conhece bem o Acovea? Quer escrever um artigo sobre ele? Pra |
39 |
Linux Magazine? |
40 |
Se ninguém escrever, eu vou acabar escrevendo, hein. :) |
41 |
|
42 |
Abraços, |
43 |
Pablo |
44 |
|
45 |
|
46 |
André Luis Tibola escreveu: |
47 |
> Olá, |
48 |
> |
49 |
> Temos aqui uma rede de, atualmente, +-220 computadores dentre os quais |
50 |
> os processadores são: Pentium4, Celeron, Semprom e Atlon XP. Estamos |
51 |
> migrando +-100 deles para gentoo e aí surgiu a dúvida de quais flags do |
52 |
> gcc seriam as mais apropriadas.Chegamos a um 'CFLAGS="-O2 -march=i686 |
53 |
> -mtune=pentium4 -mmmx -msse -fomit-frame-pointer -pipe -w"'; mas |
54 |
> restaram algumas duvidas: |
55 |
> |
56 |
> 1- Adicionar um "-mtune=athlon-xp" "cancelará" o "-mtune=pentium4" ou |
57 |
> ficará melhor? |
58 |
> 2- Funcionará e é melhor, usar um "-march intermediário" como |
59 |
> "-march=pentium3"? |
60 |
> |
61 |
> Além disso, gostaria de outras sugestões. |
62 |
> |
63 |
> Valeu! |
64 |
-- |
65 |
gentoo-user-br@g.o mailing list |