# Un piccolo consiglio cflag pentium 4

## scarzo

Salve,

nn sono tanto pratico e volevo gentilmente sapere cosa devo mettere in make.conf alla riga cflags. Al momento la mia configurazione è:

```

CFLAGS="-march=pentium4 -O2 -pipe"
```

Dimenticavo, ho un pentium 4 3.06Ghz HT 

grazie a tutti!!

----------

## .:chrome:.

 *scarzo wrote:*   

> Salve,
> 
> nn sono tanto pratico e volevo gentilmente sapere cosa devo mettere in make.conf alla riga cflags. Al momento la mia configurazione è:
> 
> ```
> ...

 

io lascerei queste. sono conservative e non ti esponi ai rischi delle ottimizzazioni esasperate

magari aggiungi un -mmmx, -msse2 e -mfpmath=sse

----------

## btbbass

 *k.gothmog wrote:*   

>  *scarzo wrote:*   Salve,
> 
> nn sono tanto pratico e volevo gentilmente sapere cosa devo mettere in make.conf alla riga cflags. Al momento la mia configurazione è:
> 
> ```
> ...

 

quoto -aggiungerei solo quelle consilgiate da k.gothmog- ...per esperienza è meglio avere un sistema che funzioni sempre, non che ogni tre compilazioni devi cambiare qlc perchè non funziona... tanto ad usare flag più spinte PEGGIORI, o al massimo rimane così com'è,  il sistema (ho fatto prove di programmini scritti da me: sono più veloci compilati con -O2 che con -O3, solo per fare un esempio riduttivo)

Happy Gentooing

----------

## shogun_panda

Io uso queste:

```

CFLAGS="-O3 -march=i686 -fomit-frame-pointer -pipe -fforce-addr"

```

E ho il sistema stabile da svariatissimo tempo...

Prima che tu lo chieda, ho march=i686 perche' compilo binari anche per un Athlon, ma ho il tuo stesso CPU...Ma la march fa pochissima se non nessuna differenza...

----------

## .:chrome:.

 *shogun_panda wrote:*   

> Io uso queste:
> 
> ```
> 
> CFLAGS="-O3 -march=i686 -fomit-frame-pointer -pipe -fforce-addr"
> ...

 

non ho mai usato -fforce-addr. da dei vantaggi concreti?

----------

## stefanonafets

Io uso queste

"-O3 -march=pentium4 -mtune=pentium-4 -fomit-frame-pointer -funroll-loops -pipe"

Per quanto mi riguarda sono abbastanza sicure.

Sono contro le "estremizzazioni" nelle cflags, ma questo è il solito discorso "cflags si, cflags no" ...

----------

## shogun_panda

 *k.gothmog wrote:*   

> non ho mai usato -fforce-addr. da dei vantaggi concreti?

 

Non lo so...Ho cambiato le CFLAG tutte di colpo...Non so qual'e' utile... Sorry... :Very Happy: 

----------

## Tùrin_Mormegil

 *shogun_panda wrote:*   

> 
> 
> Prima che tu lo chieda, ho march=i686 perche' compilo binari anche per un Athlon, ma ho il tuo stesso CPU...Ma la march fa pochissima se non nessuna differenza...

 

-march è deprecato, usa -mtune  :Wink: 

----------

## Dr.Dran

 *Quote:*   

> Drooling Iguana ha scritto:
> 
> ```
> Crosspost from this thread (where it may not have been appropriate):
> 
> ...

 

Anche se rischio di diventare OT ci tenevo a citare queste considerazioni trovate nel forum e mooolto interessanti, perchè come ritengo è bene informarsi e verificare che tutte le ottimizzazioni siano necessarie!

E così apro la discussione  :Very Happy: 

EDIT: riporto una piccola riflessione... stavo leggendo il man gcc anzi meglio info gcc e ho trovato queste affermazioni:

```

 `-O' also turns on `-fomit-frame-pointer' on machines where doing

  so does not interfere with debugging.

```

e poi in seguito mi ritrovo questa cosa:

```

`-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'.

```

Quindi io mi chiedo, allora l'opzione o flag -fomit-frame-pointer se è incluso nell'opzione -O cosa ce lo mettiamo a fare successivamente nella variabile CFLAGS globale?  :Shocked: 

EDIT2:

P.S. Leggete questa è bellissima:

```
Please, for the love of $deity, don't do something like that to your system.

Use a sane set of CFLAGS. Don't believe stories about "h0w 1ncred1bly f4st my system 1s, d00d" with a kilometric insane set of CFLAGS unless you can reasonably trust the user to know what the hell (s)he is talking about. The more aggressive your CFLAGS, the more likely it is they will actually cause a slowdown due to code bloat, which leads to processor cache trashing. Also, the more aggressive your CFLAGS, the more likely it is that your system will malfunction, since there are enough optimization flags that produce incorrect machine code on one or more packages. Also, more optimizations cause a sometimes dramatic increase in compiling time. 
```

L'autore di tutte queste splendide osservazioni è un certo Rumeno di nome moocha è un mito!  :Laughing: 

Fate riferimento anche a questo Post che è illuminante https://forums.gentoo.org/viewtopic-t-5717-postdays-0-postorder-asc-start-0.htmlLast edited by Dr.Dran on Sat Jun 04, 2005 9:23 pm; edited 1 time in total

----------

## neryo

 *scarzo wrote:*   

> Salve,
> 
> nn sono tanto pratico e volevo gentilmente sapere cosa devo mettere in make.conf alla riga cflags. Al momento la mia configurazione è:
> 
> ```
> ...

 

Dai un occhiata qui...

http://gentoo-wiki.com/Safe_Cflags

----------

## Dr.Dran

Benissimo ho avuto le mie risposte  :Wink: 

Ringrazio moltissimo i miei amici stranieri codergeek42 e moocha:

 *Quote:*   

> Notice the "where doing so does not interfere with debugging"? part  "-fomit-frame-pointer" hurts debugging on x86 so it's not automatically enabled. If you're not doing debugging ghotugh it's perfectly safe to use.

 

Quindi ho risolto il mio enigma e procedo con la ricerca delle ottimizzazioni ulteriori.

Quindi in definitiva di default viene disabilitata questa opzione, per una questione che andrebbe in conflitto con il debugging dell'eseguibile in compilazione.

Grazie a tutti e successivamente vi farò sapere cosa trovo o cosa ottengo... eh eh eh  :Smile: 

----------

## Dr.Dran

 *Tùrin_Mormegil wrote:*   

> -march è deprecato, usa -mtune 

 

Dipende dalla versione di GCC se utilizzi GCC 3.3.5 che è quella stabile l'opzione -mtune per x86 non è ancora implementata, se hai una versione superiore hai perfettamente ragione!

P.S. Ci tenevo a precisarlo per non generare caos!  :Very Happy: 

----------

## Tùrin_Mormegil

per la serie "a volte mezze verità confondono più delle bugie"  :Wink:  tnx della precisazione, è che essendo Athlon64 uso solo 3.4.* quindi non so come siano le cose adesso con 3.3.*  :Wink: 

----------

## Dr.Dran

Non ti preoccupare tra gentooers ci si aiuta e si cerca di crescere sempre  :Laughing: 

P.S. Almeno questa è la mia linuxtiquette  :Wink: 

----------

## gutter

 *DranXXX wrote:*   

> Non ti preoccupare tra gentooers ci si aiuta e si cerca di crescere sempre 
> 
> P.S. Almeno questa è la mia linuxtiquette 

 

Esattamente lo spirito che governa questo forum  :Wink: 

----------

