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