View previous topic :: View next topic |
Author |
Message |
akiross Veteran
Joined: 02 Mar 2003 Posts: 1170 Location: Mostly on google.
|
Posted: Sun Jun 26, 2005 12:23 am Post subject: TIP: Flag -Os |
|
|
Salve
E' da un po' che manco, purtroppo la mia workstation linux e' rotta, e attualmente sono su macosx, non posto quindi su questo forum (ma i problemi ci sono anche qui...), ma vedo che c'e' un sacco di gente che non conoscevo (nuovi?) che non sanno cercare prima di postare mod non vi invidio
Comunque stavo leggendo un testo e ho trovato una cosa interessante per noi gentooniani. Arriva da kerneltrap, quindi suppongo sia affidabile e il ragionamento fila.
Quote: | Rob, one thing you may not have noticed since you haven't been following
the list for a while is that with the current generation of computers size
frequently translates directly into speed and a lot of the time honored
performance tricks that trade size for fewer commands executed end up
being losses.
this can be seen by compiling code with -O2 and with -Os and frequently
the -Os will actually be faster.
|
Che tradotto e riassunto dice: spesso la lunghezza del codice e' proporzionale alla velocita': essendoci meno codice da eseguire le performance aumentano. Difatti si noti che spesso -Os e' anche piu' veloce di -O2 (parlando di codice compilato)
Magari, anzi quasi sicuramente, si era parlato di questo, ma onestamente ricordavo che nel forum -O2 era tuttosommato la soluzione piu' diffusa.
Ecco perche' posto questo tip: magari questa considerazione dell'usare -Os sfugge a diversa gente. Io onestamente sapevo che poco codice e' spesso piu' efficiente di tanto codice, ma non avevo mai pensato di applicarlo ad Os.
Quindi posto questo tip: spero che qualcuno lo provi (io non avendo gentoo non sono utile ) e dica se effettivamente conviene.
Da una ricerca proprio veloce non mi sembrava che ci fossero post sull'argomento Os, se ce ne sono (come e' probabile) vi prego di scusarmi.
Ciauz
PS: Mi spiace di essere mancato al gentoo pub di ieri, ma dovevo uscire a cena... sara' per la prossima volta _________________ Libera scienza in libero stato.
Horizon of Events |
|
Back to top |
|
|
.:deadhead:. Advocate
Joined: 25 Nov 2003 Posts: 2963 Location: Milano, Italy
|
Posted: Sun Jun 26, 2005 9:44 am Post subject: |
|
|
Fà bene ogni tanto riproporre buoni consigli. Uno dei più frequenti flame che si possano scatenare su gentoo è quello relativo a quali siano le ottimizzazioni migliori per la propria macchina.
Lungi da me entrar in argomento, vorrei porre alla vs. attenzione pochi fatti, affinche possiate poi compiere una scelta consapevole.
1) maggiori ottimizzazione = maggior dimensione su disco = maggior tempo nel leggere tutto il binario
2) maggiori ottimizzazioni != maggiori prestazioni [certe ottimizzazioni portano dei reali benefici solo in rarissimi casi, per il resto ingrossano l'exe e ne riducono l'efficienza]
Premesso ciò andiamo a leggere sul manuale di GCC [quello fa testo , non il cuggino dell'ammico].
Scegliete la versione di GCC [di default è la 3.3.5] che usate ed andate alla sezione Optimize Options.
Leggendo le prime righe ci imbattiamo nella spiegazione dei vari -O [O di oronzo] ed in particolare Quote: | -Os
Optimize for size. -Os enables all -O2 optimizations that do not typically increase code size. It also performs further optimizations designed to reduce code size.
-Os disables the following optimization flags:
-falign-functions -falign-jumps -falign-loops
-falign-labels -freorder-blocks -fprefetch-loop-arrays
|
Quindi osserviamo come Os non sia altro che un -O2 messo a dieta. Per vostra cultura vi suggerisco di leggervi tutta la pagina e di confrontare le varie serie di cflags che magari avete trovato in giro alla ricerca della perfetta ottimizzazione. Come vedete ogni ottimizzazione è spiegata in dettaglio e viene specificato anche in quale -O[0,1,2,3,s] è già inserita. Errore comune è quello di crear cflags ridondanti, ossia scegliere ad es -O3 e poi specificare nuovamente opzioni già sottointese.
Un altro aspetto che molti scordano, nella folle ricerca dell'ottimizzazione perfetta è che cmq tutti gli exe creati andranno a finire su un FS che gioca un ruolo molto importante all'interno dello scenario prestazionale. Anche qui, l'uso di -Os associato ad un FS di tipo reiser [il 3 già offre ottime prestazioni, il 4 è un fulmine, ma non ancora inserito nel kernel ufficiale] posson dare prestazioni di riguardo.
that's all folks _________________ Proudly member of the Gentoo Documentation Project: the Italian Conspiracy ! |
|
Back to top |
|
|
!equilibrium Bodhisattva
Joined: 06 Jun 2004 Posts: 2109 Location: MI/BG/LC
|
Posted: Sun Jun 26, 2005 10:14 am Post subject: |
|
|
e infine, aggiungerei, per i più smaliziati che voglio un fine tuning estremo, consiglio caldamente acovea, i risultati sono stupefacenti _________________ Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe
all my contents are released under the Creative Commons Licence by-nc-nd 2.5 |
|
Back to top |
|
|
.:deadhead:. Advocate
Joined: 25 Nov 2003 Posts: 2963 Location: Milano, Italy
|
|
Back to top |
|
|
Dr.Dran l33t
Joined: 08 Oct 2004 Posts: 766 Location: Imola - Italy
|
Posted: Sun Jun 26, 2005 1:19 pm Post subject: |
|
|
Ragazzi leggete questo post, il dubbio sull'opzione Os mi era venuti anche a me in linea di principo può essere ottimale, però vi invito a leggere tutto questo post, è olto interessante:
https://forums.gentoo.org/viewtopic-p-2314776.html
Ciauz
P.S: Ditemi che ne pensate |
|
Back to top |
|
|
!equilibrium Bodhisattva
Joined: 06 Jun 2004 Posts: 2109 Location: MI/BG/LC
|
Posted: Sun Jun 26, 2005 2:21 pm Post subject: |
|
|
io uso la nuova versione e i nuovi tools da un po, davvero notevole come software, ovviamente quando fai un test di compilazione con acovea su pacchetti grossi e ti fa 15/30 passaggi di compilazioni non ti passa +, ma ne vale la pena credimi _________________ Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe
all my contents are released under the Creative Commons Licence by-nc-nd 2.5 |
|
Back to top |
|
|
!equilibrium Bodhisattva
Joined: 06 Jun 2004 Posts: 2109 Location: MI/BG/LC
|
Posted: Sun Jun 26, 2005 2:41 pm Post subject: |
|
|
DranXXX wrote: | Ragazzi leggete questo post, il dubbio sull'opzione Os mi era venuti anche a me in linea di principo può essere ottimale, però vi invito a leggere tutto questo post, è olto interessante:
https://forums.gentoo.org/viewtopic-p-2314776.html
Ciauz
P.S: Ditemi che ne pensate |
sulla questione dell' -Os e -O2 ne parlai parecchio tempo fa in un thread, e dissi esattamente quello che sostiene moocha, cioè che -Os è pensato principalmente per quei processori che non hanno una cache molto alta, come i vecchi P1 P2 K5/6 Cyrix VIA, e quindi tale opzione non dovrebbe essere usata con gli attuali e + moderni processori; ma venni bacchettato + volte come eretico
comunque il thread che hai linkato è molto interessante, ho scoperto una CFLAGS di cui ignoravo l'esistenza e finalmente mi ha fatto chiarezza sul -fomit-frame-pointer visto che ne ho sentite di cotte e di crude a riguardo _________________ Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe
all my contents are released under the Creative Commons Licence by-nc-nd 2.5 |
|
Back to top |
|
|
Dr.Dran l33t
Joined: 08 Oct 2004 Posts: 766 Location: Imola - Italy
|
Posted: Sun Jun 26, 2005 3:33 pm Post subject: |
|
|
Beh vedi cercavo anche io delle risposte e alla fine le ho trovate, perchè comunque la tendenza ad avere una distro a 360° come Gentoo ti porta all'esagerazione sulla ricerca di ottimizzazioni, che però magari sono troppe e inutili, il chè provoca solo un allungamento dei tempi di compilazione a scapito di performance e stabilità
Comunque io che ho un doppio athlon MP utilizzo -Os però sul desktop di mio fratello che ha un PIV utilizzo con soddisfazione -O2
Ciauz |
|
Back to top |
|
|
akiross Veteran
Joined: 02 Mar 2003 Posts: 1170 Location: Mostly on google.
|
Posted: Sun Jun 26, 2005 3:40 pm Post subject: |
|
|
DarkAngel76 wrote: |
sulla questione dell' -Os e -O2 ne parlai parecchio tempo fa in un thread, e dissi esattamente quello che sostiene moocha, cioè che -Os è pensato principalmente per quei processori che non hanno una cache molto alta, come i vecchi P1 P2 K5/6 Cyrix VIA, e quindi tale opzione non dovrebbe essere usata con gli attuali e + moderni processori; ma venni bacchettato + volte come eretico
|
A dire il vero sull'articolo che leggevo Os veniva osannato proprio perche' aiutava a sfruttare la cache nei computer, e si parlava di computer moderni.
Ciauz _________________ Libera scienza in libero stato.
Horizon of Events |
|
Back to top |
|
|
Dr.Dran l33t
Joined: 08 Oct 2004 Posts: 766 Location: Imola - Italy
|
Posted: Sun Jun 26, 2005 4:20 pm Post subject: |
|
|
Certamente, il codice ottimizzato per le dimensioni riduce i tempi di loading, ma non è detto che sia performante, infatti ho discusso molto con moocha sulla questione e alla fine in base ad esperienze personali su varie architetture abbiamo concluso che comunque le ottimizzazioni + performati sono le seguenti:
Per processori non DualCore e non SMP PIV e Athlon
Code: | CFLAGS=-O2 -march=athlon-mp -fomit-frame-pointer -momit-leaf-frame-pointer -fno-ident -pipe |
Per processori DualCore, SMP, embedded e P1 P2 K5/6 Cyrix VIA
Code: | CFLAGS=-Os -march=athlon-mp -fomit-frame-pointer -momit-leaf-frame-pointer -fno-ident -pipe |
N.B. Queste sono riferite esclusivamente alla versione stabile del gcc 3.3.5
Vi riporto velocemente cosa servono le seguenti ottimizzazioni:
Quote: | -fomit-frame-pointer = Don't keep the frame pointer in a register for functions that don't need one.
This avoids the instructions to save, set up and restore frame pointers; it also
makes an extra register available in many functions. *It also makes debugging
impossible on some machines.*
On some machines, such as the VAX, this flag has no effect, because the standard
calling sequence automatically handles the frame pointer and nothing is saved by
pretending it doesn't exist. The machine-description macro `FRAME_POINTER_REQUIRED'
controls whether a target machine supports this flag. *Note Register Usage:
(gccint)Registers. Enabled at levels `-O', `-O2', `-O3', `-Os'.
-momit-leaf-frame-pointer = Don't keep the frame pointer in a register for leaf functions. This avoids
the instructions to save, set up and restore frame pointers and makes an
extra register available in leaf functions. The option -fomit-frame-pointer
removes the frame pointer for all functions which might make debugging harder.
-fno-ident = Ignore the `#ident' directive. |
Ciauz |
|
Back to top |
|
|
!equilibrium Bodhisattva
Joined: 06 Jun 2004 Posts: 2109 Location: MI/BG/LC
|
Posted: Sun Jun 26, 2005 5:37 pm Post subject: |
|
|
DranXXX wrote: | Certamente, il codice ottimizzato per le dimensioni riduce i tempi di loading, ma non è detto che sia performante, infatti ho discusso molto con moocha sulla questione e alla fine in base ad esperienze personali su varie architetture abbiamo concluso che comunque le ottimizzazioni + performati sono le seguenti: |
esatto, quello che ho sempre sostenuto io ed è comprovato dalle mie esperienze; ovviamente per un pc ad uso esclusivamente domestico tra -Os e -O2 non si avverte nessuna differenza di performance, viversa se si adotta su una workstation per raytracing un -Os si ottengono performance a dir poco penose (mentre la differenza tra -O2 e -O3 è apprezzabile solo su raytracing molto lunghi e complessi).
Code: | CFLAGS=-O2 -march=XXX -fomit-frame-pointer -momit-leaf-frame-pointer -fno-ident -pipe |
è la stessa configurazione che uso io
comprovata e riconfermata da acovea in numerosi test (con qualche piccola variante sulle CFLAGS, ma di poco conto) _________________ Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe
all my contents are released under the Creative Commons Licence by-nc-nd 2.5 |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Mon Jun 27, 2005 5:44 am Post subject: |
|
|
Scusate la mia ignoranza ma sto cercando di orientarmi in questa giungla di flag ....
Quote: | -fomit-frame-pointer = [cut] Enabled at levels `-O', `-O2', `-O3', `-Os'. |
Magari il mio inglese non è il massimo ma mi sembra di capire che è una flag attiva in ogni livello di ottimizzazione e che definirla dopo un qualsiasi -Ox sia ridondante.
Sbaglio ?
piccolo OT ho provato ad emergere acovea ma lanciando sulla mia macchina Code: | runacovea -config gcc33_pentium3.acovea -bench almabench.c | è riuscito ad arrivare alla fine ma nel mezzo ho notato che mi ha dato un errore e diceva di riportarlo come bug di gentoo solo che è scrollato in alto e mi sono perso il messaggio, sapete come posso scrollare da in una console per recuperare il messaggio ? |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Mon Jun 27, 2005 5:57 am Post subject: |
|
|
Kernel78 wrote: |
sapete come posso scrollare da in una console per recuperare il messaggio ? |
Code: |
[MAIUSC] + [PAGE UP]
[MAIUSC] + [PAGE DOWN]
|
EDIT: Sostituito [CTRL] con [MAIUSC]
Mi scuso ancora per l'errore. _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
Dr.Dran l33t
Joined: 08 Oct 2004 Posts: 766 Location: Imola - Italy
|
Posted: Mon Jun 27, 2005 1:06 pm Post subject: |
|
|
Kernel78 wrote: | Scusate la mia ignoranza ma sto cercando di orientarmi in questa giungla di flag ....
Quote: | -fomit-frame-pointer = [cut] Enabled at levels `-O', `-O2', `-O3', `-Os'. |
Magari il mio inglese non è il massimo ma mi sembra di capire che è una flag attiva in ogni livello di ottimizzazione e che definirla dopo un qualsiasi -Ox sia ridondante.
Sbaglio ? |
Ehm... sbagli, la tua ignoranza non è sull'inglese, ma sul compilatore se leggi bene però nel manuale del gcc scoprirai che -fomit-frame-pointer nelle architetture x86 è disabilitato, perchè rende il codice difficile da "debuggare" e quindi visto che la maggioranza di noi non deve fare debug sul software che compila (a meno che non sia uno sviluppatore) per abilitarlo bisogna inserirlo nei flag generali
Ciauz
P.S. anche io ero caduto in questo dubbio, ma mi sono documentato e ho compreso |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Mon Jun 27, 2005 1:34 pm Post subject: |
|
|
DranXXX wrote: | Kernel78 wrote: | Scusate la mia ignoranza ma sto cercando di orientarmi in questa giungla di flag ....
Quote: | -fomit-frame-pointer = [cut] Enabled at levels `-O', `-O2', `-O3', `-Os'. |
Magari il mio inglese non è il massimo ma mi sembra di capire che è una flag attiva in ogni livello di ottimizzazione e che definirla dopo un qualsiasi -Ox sia ridondante.
Sbaglio ? |
Ehm... sbagli, la tua ignoranza non è sull'inglese, ma sul compilatore
|
ho solo l'imbarazzo della scelta tra le due
Quote: |
se leggi bene però nel manuale del gcc scoprirai che -fomit-frame-pointer nelle architetture x86 è disabilitato, perchè rende il codice difficile da "debuggare" e quindi visto che la maggioranza di noi non deve fare debug sul software che compila (a meno che non sia uno sviluppatore) per abilitarlo bisogna inserirlo nei flag generali
Ciauz
P.S. anche io ero caduto in questo dubbio, ma mi sono documentato e ho compreso |
Purtroppo ho una vita che risucchia il tempo che dovrei dedicare all'apprendimento di Linux a 360° e quindi non riesco a documentarmi su tutto
Leggendo la descrizione della flag in questione all'indirizzo http://gcc.gnu.org/onlinedocs/gcc-3.3.5/gcc/Optimize-Options.html#Optimize-Options si limita a dirmi a cosa serve e che su alcune macchine non ha effetto Quote: | On some machines, such as the VAX, this flag has no effect, because bla bla bla | quindi per la scelta delle flag non mi basta leggere quella pagina ma devo andare anche altrove per cercare l'info che mi hai dato tu (a proposito dove la trovo ?).
Mi sembra una situazione non ottimale, a mio parere un particolare del genere dovrebbe essere descritto anche dove viene trattata la flag altrimenti uno potrebbe fidarsi della descrizione e si troverebbe qualcosa di inaspettato (non che muoia nessuno ...). |
|
Back to top |
|
|
Lucacri Tux's lil' helper
Joined: 27 Jan 2005 Posts: 147 Location: 2a Curva di Lesmo!
|
Posted: Mon Jun 27, 2005 1:57 pm Post subject: |
|
|
Anche io ho avuto sempre il dubbio sul Os o O3..
Io uso Gentoo prevalentemente sul mio portatile hce ha un HD da 4200 giri. Tempo fa, durante il bootstrap, scelsi di usare cflags "estreme" (O3 con qualche cflag aggiuntiva), ma se qualcuno di voi mi potesse confermare che con un Os avrei prestazioni migliori...beh, l'emerge -e world sarebbe instantaneo =) |
|
Back to top |
|
|
GiRa l33t
Joined: 07 Apr 2005 Posts: 717
|
Posted: Mon Jun 27, 2005 2:01 pm Post subject: |
|
|
A me pare molto chiara la pagina relativa alle ottimizzazioni di GCC, se poi uno non sa cosa sono è ben altro discorso.
Consideriamo che il manuale sarebbe scritto per uno sviluppatore. |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Mon Jun 27, 2005 2:37 pm Post subject: |
|
|
GiRa wrote: | A me pare molto chiara la pagina relativa alle ottimizzazioni di GCC, se poi uno non sa cosa sono è ben altro discorso.
Consideriamo che il manuale sarebbe scritto per uno sviluppatore. |
beh, io sono uno sviluppatore e il problema è che anche a me quella pagina sembra chiarissima e se mi dice che una flag è abilitata con ogni flag -Ox mi immagino che sarebbe ridondate definirla ancora
es. Code: | -O2 -fomit-frame-pointer | visto che mi viene specificato (come ho anche riportato sopra) Quote: | -fomit-frame-pointer = [cut] Enabled at levels `-O', `-O2', `-O3', `-Os'. | mentre stando a quanto mi ha detto DranXXX questa flag deve essere specificata su macchine x86 anche se esiste già un livello di ottimizzazione cosa che non sono riuscito ad evincere dalla pagina, se tu sei riuscito a capirlo da quella pagina mi spieghi cosa ti ha aiutato a capirlo ? |
|
Back to top |
|
|
Dr.Dran l33t
Joined: 08 Oct 2004 Posts: 766 Location: Imola - Italy
|
Posted: Mon Jun 27, 2005 2:48 pm Post subject: |
|
|
@Kernel78
Bene dunque anche io ho fatto le tue stesse domande e ti rimando ai link per una risposta:
https://forums.gentoo.org/viewtopic-t-318191-postdays-0-postorder-asc-start-0.html#2467765
Beh le risposte non mi anno proprio soddisfatto e allora ho fatto come hai fatto tu e sono andato sfogliare il manuale:
http://gcc.gnu.org/onlinedocs/gcc-3.3.5/gcc/Optimize-Options.html#Optimize-Options
se noti nella parte che citi:
Quote: | On some machines, such as the VAX, this flag has no effect, because bla bla bla |
Poco dopo il bla bla bla viene inviata proprio un link insteresante dove spiega alcune funzioni di alcuni registri tra cui quelli di controllo dell'80387 e allora mi sono detto tiriamo fuori il vecchio manualone dell'80586 e li ho trovato alcune risposte e credo di averne capito il motivo
Diciamo che per chi non ha mai studiato architettura dei calcolatori e dei compilatori, la cosa non è immediata da comprendere e io sono la persona meno adatta a introdurre la questione, però l'opzine permette di ottimizzare il codice riducendo l'utilizzo dei registri, disabilitando i frame pointer quando non servono, ne risulta un codice + snello e veloce, però anche + complesso da debuggare
Probabilmente non sono stato chiaro e questo me ne rendo conto, però per approfondimenti si potrebbe aprire un thread sul forum e la cosa potrebbe saltare fuori interessante...
EDIT: P.S. Ovviemente sul manualone non c'è scritto specificatamente che nel gcc l'opzione è disabilitata di default, ma mi sono studiato cosa è un frame pointer e come funziona, e ci ho ragionato un pò sopra, però tecnicamente non credo di fornirti una definizione esauruente e quindi ho chiesto in giro per poterti dare una risposta chiara e concisa... tutto qui è una questione di architettura non di software |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Mon Jun 27, 2005 3:10 pm Post subject: |
|
|
Intanto ti ringrazio per la disponibilità a condividere le tue conoscenze
Quel link non l'avevo nemmeno preso in considerazione visto che la parte che ho citato dice che quel flag non ha effetto su alcune macchine (presumo sia inteso come architetture di macchine) quindi ho supposto che se x86 fosse tra quelle macchine si potrebbe anche ripeterlo oltre al -Ox ma non funzionerebbe cmq, per questo non ho ritenuto di approfondire.
Quote: |
Diciamo che per chi non ha mai studiato architettura dei calcolatori e dei compilatori, la cosa non è immediata da comprendere e io sono la persona meno adatta a introdurre la questione, però l'opzine permette di ottimizzare il codice riducendo l'utilizzo dei registri, disabilitando i frame pointer quando non servono, ne risulta un codice + snello e veloce, però anche + complesso da debuggare
Probabilmente non sono stato chiaro e questo me ne rendo conto, però per approfondimenti si potrebbe aprire un thread sul forum e la cosa potrebbe saltare fuori interessante...
EDIT: P.S. Ovviemente sul manualone non c'è scritto specificatamente che nel gcc l'opzione è disabilitata di default, ma mi sono studiato cosa è un frame pointer e come funziona, e ci ho ragionato un pò sopra, però tecnicamente non credo di fornirti una definizione esauruente e quindi ho chiesto in giro per poterti dare una risposta chiara e concisa... tutto qui è una questione di architettura non di software |
Quello che mi continua a lasciare perplesso è che io trovo che la descrizione del flag è chiara nel descriverene il funzionamento (e anche tu l'hai descritto in maniera chiara e comprensibile IMO) ma anche rileggendo tutta quella pagina l'unica cosa che ho trovato è questa Quote: | -O also turns on -fomit-frame-pointer on machines where doing so does not interfere with debugging. | che in parte coincide con quello che mi hai detto.
Io mi chiedo quanto gli costava specificare che anche era la stessa cosa anche per gli altri livelli di ottimizzazione ... |
|
Back to top |
|
|
Dr.Dran l33t
Joined: 08 Oct 2004 Posts: 766 Location: Imola - Italy
|
Posted: Mon Jun 27, 2005 3:20 pm Post subject: |
|
|
Quote: | Io mi chiedo quanto gli costava specificare che anche era la stessa cosa anche per gli altri livelli di ottimizzazione ... |
Beh quello l'ho pensato pure io anche la prima volta... comunque non è un problema per me condividere conoscenze, e il forum è nato per quello non certo per i soliti cafoni che credono di essere dei guru e non ti danno risposte vere o gererano spam gratuitamente
Quindi la tua curiosità per me è stimolante, visto che mi sembra giusto che i dubbi vengano chiariti
P.S. Per ora io ti suggerisco di utilizzare quella ottimizzazione e poi appena ho i documenti e i link ti tengo aggiornato
Almeno posso dopo dire che quello che ho cercato di capire facendo una sorta di "reverse engineering" sia corretto... sarebbe una grande soddisfazione per me che abitualmente svolgo un lavoro che proprio di soddisfazioni non ne da... |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Mon Jun 27, 2005 3:30 pm Post subject: |
|
|
DranXXX wrote: | P.S. Per ora io ti suggerisco di utilizzare quella ottimizzazione e poi appena ho i documenti e i link ti tengo aggiornato
Almeno posso dopo dire che quello che ho cercato di capire facendo una sorta di "reverse engineering" sia corretto... sarebbe una grande soddisfazione per me che abitualmente svolgo un lavoro che proprio di soddisfazioni non ne da... |
Tanto già la usavo (l'avevo vista anche nella guida per l'installazione) ma una volta visto il mauale gcc mi sono chiesto se serviva tenerla o se fosse solo ridondante.
Tanto (e sentiti libero di confermare o smentire ciò che stò per dire ) anche se ripeto la stessa flag più volte non succede nulla di male, spero ... |
|
Back to top |
|
|
Lucacri Tux's lil' helper
Joined: 27 Jan 2005 Posts: 147 Location: 2a Curva di Lesmo!
|
Posted: Mon Jun 27, 2005 3:54 pm Post subject: |
|
|
Ragazzi, cosi per sfizio, ho fatto girare acovea sul mio portatile Centrino 1.7Ghz Dothan (2mb di cache)
Questo è il risultato
Code: | -O1 -march=pentium-m -fno-thread-jumps -fno-cprop-registers -fno-if-conversion2 -fno-delayed-branch -fno-crossjumping -foptimize-sibling-calls -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fschedule-insns2 -fregmove -fstrict-aliasing -fdelete-null-pointer-checks -freorder-functions -falign-loops -falign-labels -falign-functions -finline-functions -frename-registers -fprefetch-loop-arrays -freduce-all-givs -fpeel-loops -fbranch-target-load-optimize2 -mieee-fp -mno-push-args -maccumulate-outgoing-args -minline-all-stringops -fno-math-errno -fno-trapping-math -ffinite-math-only -fno-signaling-nans -finline-limit=500 |
Questa secondo acovea è la migliore ottimizzazione possibile |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Mon Jun 27, 2005 4:41 pm Post subject: |
|
|
Lucacri wrote: | Ragazzi, cosi per sfizio, ho fatto girare acovea sul mio portatile Centrino 1.7Ghz Dothan (2mb di cache)
Questo è il risultato
Code: | -O1 -march=pentium-m -fno-thread-jumps -fno-cprop-registers -fno-if-conversion2 -fno-delayed-branch -fno-crossjumping -foptimize-sibling-calls -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fschedule-insns2 -fregmove -fstrict-aliasing -fdelete-null-pointer-checks -freorder-functions -falign-loops -falign-labels -falign-functions -finline-functions -frename-registers -fprefetch-loop-arrays -freduce-all-givs -fpeel-loops -fbranch-target-load-optimize2 -mieee-fp -mno-push-args -maccumulate-outgoing-args -minline-all-stringops -fno-math-errno -fno-trapping-math -ffinite-math-only -fno-signaling-nans -finline-limit=500 |
Questa secondo acovea è la migliore ottimizzazione possibile |
Cos'ha che non va ?
Aproposito che bench hai usato ? |
|
Back to top |
|
|
mrfree Veteran
Joined: 15 Mar 2003 Posts: 1303 Location: Europe.Italy.Sulmona
|
Posted: Mon Jun 27, 2005 5:35 pm Post subject: |
|
|
Lucacri wrote: | Questa secondo acovea è la migliore ottimizzazione possibile |
Prova a dare uno sguardo ad un mio vecchio post al riguardo... c'è anche qualche parere di alcuni gentoo devs sull'extreme cglagging _________________ Please EU, pimp my country!
ICE: /etc/init.d/iptables panic |
|
Back to top |
|
|
|