View previous topic :: View next topic |
Author |
Message |
alexbgl Apprentice
Joined: 05 Jul 2006 Posts: 240 Location: Verona
|
Posted: Fri May 25, 2007 6:04 pm Post subject: [risolto] CFLAG in make.conf |
|
|
Vorrei sapere cosa mi conviene mettere in -march=
lascio i686 o metto pentium4 o prescott?
Vi posto l'output di /proc/cpuinfo:
Code: |
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.66GHz
stepping : 9
cpu MHz : 2333.275
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid xtpr
bogomips : 5322.97
|
Last edited by alexbgl on Mon May 28, 2007 3:55 pm; edited 1 time in total |
|
Back to top |
|
|
dark_knight Tux's lil' helper
Joined: 22 Apr 2006 Posts: 112
|
Posted: Fri May 25, 2007 6:20 pm Post subject: |
|
|
Questa pagina dice -march=pentium4 . _________________ You can say that you are a true Gentoo-addicted when you type emerge --update --deep --newuse happiness. |
|
Back to top |
|
|
alexbgl Apprentice
Joined: 05 Jul 2006 Posts: 240 Location: Verona
|
Posted: Fri May 25, 2007 7:22 pm Post subject: |
|
|
perfetto |
|
Back to top |
|
|
riccardo n00b
Joined: 18 May 2007 Posts: 25 Location: Italy
|
Posted: Sat May 26, 2007 10:30 am Post subject: |
|
|
Confermo quanto dice dark_knight, ho messo anch'io -march=pentium4
Riccardo |
|
Back to top |
|
|
Cazzantonio Bodhisattva
Joined: 20 Mar 2004 Posts: 4514 Location: Somewere around the world
|
Posted: Sat May 26, 2007 5:59 pm Post subject: |
|
|
Io ormai uso march=i686 dovunque e non ho mai notato cali prestazionali rispetto a prima. Il vantaggio è che puoi spostare il sistema operativo su qualsiasi macchina senza dover ricompilare.
Per esempio:
Code: | CFLAGS="-O2 -march=i686 -mmmx -msse -fomit-frame-pointer -pipe" |
viene accettata su praticamente tutti i processori dal pentium 3 in su _________________ Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne |
|
Back to top |
|
|
alexbgl Apprentice
Joined: 05 Jul 2006 Posts: 240 Location: Verona
|
Posted: Mon May 28, 2007 3:34 pm Post subject: |
|
|
Cazzantonio wrote: |
Per esempio:
Code: | CFLAGS="-O2 -march=i686 -mmmx -msse -fomit-frame-pointer -pipe" |
viene accettata su praticamente tutti i processori dal pentium 3 in su |
Scusa l'ingnoranza: cosa vuol dire -mmmx e -msse? |
|
Back to top |
|
|
Cazzantonio Bodhisattva
Joined: 20 Mar 2004 Posts: 4514 Location: Somewere around the world
|
Posted: Mon May 28, 2007 3:49 pm Post subject: |
|
|
Per abilitare le istruzioni mmx e sse (presenti in tutti i pc dal pentium 3 in su). Vengono automaticamente selezionate se imposti march=pentium3 o superiore.
Effettivamente anche la loro utilità è dubbia per cui potresti omettere -msse e lasciare solo -mmmx (compatibilità dal pentium mmx in su) oppure rimuoverle entrambe... dubito servano davvero a qualcosa.
I programmi che usano tali estensioni (tipo mplayer mi pare) dovrebbero avere delle use flag apposite per abilitarle (USE="mmx sse etc...") mentre per gli altri sono probabilmente inutili (se un programma non è scritto specificatamente per tali estensioni può il gcc farci qualcosa? dubito...).
Nello specifico esistono le seguenti use:
Code: | mmx mmxext sse sse2 3dnow 3dnowext |
selezionabili a seconda delle estensioni che vuoi abilitare nei programmi che le supportano (sono per la maggior parte programmi legati all'editing audio/video).
Per vedere le estensioni supprotate dalla tua cpu prova
Code: | cat /proc/cpuinfo |grep flags | e guarda quali delle precedenti sono presenti.
Non c'entra nulla ma io ho avuto un po' di problemi con -mfpmath=sse (che un tempo abilitavo) perché cambia la precisione numerica a cui vengono eseguiti i conti... forse sono più veloci ma penso abbiano meno bit di precisione rispetto all'fpu standard (387) e le mie simulazioni di calcolo numerico (programmi scritti da me... quindi potrebbe essere anche un bug del codice) sputavano fuori risultati leggermente diversi e meno precisi... _________________ Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne |
|
Back to top |
|
|
xveilsidex Guru
Joined: 27 Dec 2005 Posts: 370 Location: Bari
|
Posted: Mon May 28, 2007 4:11 pm Post subject: |
|
|
ma se non sbaglio queste istruzioni 3dnow 3dnowext sono dei processori athlon e non pentium! |
|
Back to top |
|
|
Cazzantonio Bodhisattva
Joined: 20 Mar 2004 Posts: 4514 Location: Somewere around the world
|
Posted: Mon May 28, 2007 4:24 pm Post subject: |
|
|
xveilsidex wrote: | ma se non sbaglio queste istruzioni 3dnow 3dnowext sono dei processori athlon e non pentium! |
Si certo... per questo gli ho detto di guardare in /proc/cpuinfo prima di abilitare a caso delle istruzioni... mi pare tuttavia che i pentium più recenti abbiano le 3dnow (può essere anche una cazzata) così come gli athlon64 mi pare abbiano le sse3...
Comunque se usi march=tuoprocessore vengono già abilitate di default quindi non hai bisogno di scomodarti... sono utili solo se usi march=i686 ma vuoi abilitare delle istruzioni ulteriori (anche se l'utilità è dubbia come dicevo prima). _________________ Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne |
|
Back to top |
|
|
xveilsidex Guru
Joined: 27 Dec 2005 Posts: 370 Location: Bari
|
Posted: Mon May 28, 2007 4:48 pm Post subject: |
|
|
Cazzantonio wrote: | xveilsidex wrote: | ma se non sbaglio queste istruzioni 3dnow 3dnowext sono dei processori athlon e non pentium! |
Si certo... per questo gli ho detto di guardare in /proc/cpuinfo prima di abilitare a caso delle istruzioni... mi pare tuttavia che i pentium più recenti abbiano le 3dnow (può essere anche una cazzata) così come gli athlon64 mi pare abbiano le sse3...
Comunque se usi march=tuoprocessore vengono già abilitate di default quindi non hai bisogno di scomodarti... sono utili solo se usi march=i686 ma vuoi abilitare delle istruzioni ulteriori (anche se l'utilità è dubbia come dicevo prima). |
spesso anch'io mi sono chiesto se abilitando più flag ci fossero dei miglioramenti. qualcuno ha mai fatto qualche benchmark per testare effettivamente le reali prestazioni con flag attive oppure no? |
|
Back to top |
|
|
Cazzantonio Bodhisattva
Joined: 20 Mar 2004 Posts: 4514 Location: Somewere around the world
|
Posted: Mon May 28, 2007 4:58 pm Post subject: |
|
|
Si ma dipendono tutti dall'applicazione che stai testando... ovvero le ottimizzazioni dipendono dal codice che stai ottimizzando ed è difficile stabilire delle opzioni generiche che vadano bene per tutti (per questo esistono i vari -O[1,2,3]).
La cosa migliore è provare... io l'ho fatto e sinceramente non vedo la differenza tra march=ilmioprocessore e march=i686 a parte il fatto che posso esportare i binari su un'altra macchina...
Puoi passare una vita a guardare i benchmark e poi scoprire che non è servito assolutamente a nulla. _________________ Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne |
|
Back to top |
|
|
djinnZ Advocate
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Mon May 28, 2007 5:25 pm Post subject: |
|
|
per mesa, X, mplayer, beryl, kdelibs e roba del genere serve a qualcosa, per il resto non tanto. Usare -march=i686 -mmsse etc. o -march=pentium4 è la stessa cosa solo che l'attivazione dell'ottimizzaione usando le sse, sse2 etc è decisa dal compilatore e non la specifichi a mano. Cosi come ogni -Ox corrsponde ad una serie di -fvattelappesca. _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist |
|
Back to top |
|
|
Cazzantonio Bodhisattva
Joined: 20 Mar 2004 Posts: 4514 Location: Somewere around the world
|
Posted: Wed May 30, 2007 8:19 am Post subject: |
|
|
La verifica sperimentale dell'importanza di -march è presto fatta:
Vi siete mai accorti di una differenza sostanziale (e intendo "apprezzabile a occhio nudo") tra altre distro precompilate e gentoo? (in termini di prestazioni... non di configurabilità ). Io no! Anzi! Slackware in particolar modo, ma anche ubuntu su molte applicazioni vanno più veloci! Ok è solo una mia impressione... tuttavia non so perché ma ho la netta senzasione che il sistema sia più "agile" con i pacchetti precompilati di altre distro
Imho le ottimizzazioni importanti non sono i vari -march, inoltre bisognerebbe scegliere le opzioni giuste pacchetto per pacchetto (cosa chiaramente impossibile a meno di non essere il mantainer di quel pacchetto ).
Sono dell'idea che la vera forza di gentoo non siano le cflags (semmai una seccatura) ma le use flags! Dove veramente puoi configurare a piacimento ogni aspetto dei tuoi programmi. _________________ Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne |
|
Back to top |
|
|
alexbgl Apprentice
Joined: 05 Jul 2006 Posts: 240 Location: Verona
|
Posted: Wed May 30, 2007 4:44 pm Post subject: |
|
|
Sono pienamente d'accordo con te!
Ma oltre a march ci saranno pure dei miglioramenti con altre flag, o no? |
|
Back to top |
|
|
djinnZ Advocate
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Wed May 30, 2007 7:40 pm Post subject: |
|
|
Non guardo con attenzione slack da un poco ma non credere che usino compilare -O1. In genere nelle distribuzioni binarie ti puoi permettere di usare delle ottimizzazioni abbastanza spinte visto che basta che compili una volta mentre su gentoo deve compilare dappertutto e con o senza alcune librerie etc.
Visto poi che il grosso delle istruzioni "specializzate" sono dedicate alla grafica e non mi sembri il tipo che passa il tempo a giocare non te ne accorgerai mai. _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist |
|
Back to top |
|
|
|