Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[risolto] CFLAG in make.conf
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
alexbgl
Apprentice
Apprentice


Joined: 05 Jul 2006
Posts: 240
Location: Verona

PostPosted: Fri May 25, 2007 6:04 pm    Post subject: [risolto] CFLAG in make.conf Reply with quote

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
View user's profile Send private message
dark_knight
Tux's lil' helper
Tux's lil' helper


Joined: 22 Apr 2006
Posts: 112

PostPosted: Fri May 25, 2007 6:20 pm    Post subject: Reply with quote

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
View user's profile Send private message
alexbgl
Apprentice
Apprentice


Joined: 05 Jul 2006
Posts: 240
Location: Verona

PostPosted: Fri May 25, 2007 7:22 pm    Post subject: Reply with quote

perfetto
Back to top
View user's profile Send private message
riccardo
n00b
n00b


Joined: 18 May 2007
Posts: 25
Location: Italy

PostPosted: Sat May 26, 2007 10:30 am    Post subject: Reply with quote

Confermo quanto dice dark_knight, ho messo anch'io -march=pentium4

Riccardo
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4486
Location: Somewere around the world

PostPosted: Sat May 26, 2007 5:59 pm    Post subject: Reply with quote

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 man's death diminishes me, because I am involved in mankind, and therefore never send to know for whom the bell tolls; it tolls for thee
-John Donne
Back to top
View user's profile Send private message
alexbgl
Apprentice
Apprentice


Joined: 05 Jul 2006
Posts: 240
Location: Verona

PostPosted: Mon May 28, 2007 3:34 pm    Post subject: Reply with quote

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
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4486
Location: Somewere around the world

PostPosted: Mon May 28, 2007 3:49 pm    Post subject: Reply with quote

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 man's death diminishes me, because I am involved in mankind, and therefore never send to know for whom the bell tolls; it tolls for thee
-John Donne
Back to top
View user's profile Send private message
xveilsidex
Guru
Guru


Joined: 27 Dec 2005
Posts: 370
Location: Bari

PostPosted: Mon May 28, 2007 4:11 pm    Post subject: Reply with quote

ma se non sbaglio queste istruzioni 3dnow 3dnowext sono dei processori athlon e non pentium!
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4486
Location: Somewere around the world

PostPosted: Mon May 28, 2007 4:24 pm    Post subject: Reply with quote

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 man's death diminishes me, because I am involved in mankind, and therefore never send to know for whom the bell tolls; it tolls for thee
-John Donne
Back to top
View user's profile Send private message
xveilsidex
Guru
Guru


Joined: 27 Dec 2005
Posts: 370
Location: Bari

PostPosted: Mon May 28, 2007 4:48 pm    Post subject: Reply with quote

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
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4486
Location: Somewere around the world

PostPosted: Mon May 28, 2007 4:58 pm    Post subject: Reply with quote

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 man's death diminishes me, because I am involved in mankind, and therefore never send to know for whom the bell tolls; it tolls for thee
-John Donne
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Mon May 28, 2007 5:25 pm    Post subject: Reply with quote

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:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4486
Location: Somewere around the world

PostPosted: Wed May 30, 2007 8:19 am    Post subject: Reply with quote

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à :wink: ). 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 :roll:
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 :wink: ).

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 man's death diminishes me, because I am involved in mankind, and therefore never send to know for whom the bell tolls; it tolls for thee
-John Donne
Back to top
View user's profile Send private message
alexbgl
Apprentice
Apprentice


Joined: 05 Jul 2006
Posts: 240
Location: Verona

PostPosted: Wed May 30, 2007 4:44 pm    Post subject: Reply with quote

Sono pienamente d'accordo con te!
Ma oltre a march ci saranno pure dei miglioramenti con altre flag, o no?
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Wed May 30, 2007 7:40 pm    Post subject: Reply with quote

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:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum