Newsgroup: it.comp.os.linux.development
Titolo: gcc

Salve,
sono nuovo del gruppo e voglio subito farmi riconoscere ;-)
Volevo sapere se il gcc della GNU usa delle ottimizzazioni per i nuovi 
processori PIII e Athlon.
In rete ho trovato il pgcc ottimizzato ma il progetto mi sembra un po' vecchio, 
forse le proposte sono già state aggiunte alle nuove versioni di gcc?
http://www.goof.com/pcg/
Ciao ... Marcello
-- 
TouchScreen
Metro Olografix Member  
http://www.olografix.org

 
http://www.goof.com/pcg/
Afaik e' derivato dal gcc 2.95, tieni conto che il 3.0 e' fuori da 2
settimane si e no...
Se vuoi c'e' pure l'apgcc (Athlon PGCC). Trovi tutti i vari benchmark sui
rispettivi siti.
--
        Giuseppe "Cowo" Corbelli  -->>  Riding on Linux-2.4.3-xfs
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
           -<! GOD is real, unless declared as integer !>-


http://www.goof.com/pcg/
opinione di un programmatore quasi in erba che deve ancora cominciare
e ed e' gia' fallito:
ce ne sono gia' troppe! ;-)
Le ottimizzazioni di un compilatore vanno al di la' del fatto di usare
o meno le SSE, le MMX (MMX2), 3Dnow e compagnia bella...
L'ultima versione delle binutils supporta tutto il set di istruzioni
che si possa immaginare, credo adirittura quello degli Xeon.
Non so bene se ci siano dei flags specifici per ogni architettura, non
credo, ma probabilmente alcuni si possono rintracciare dando
un'occhiata alle ottimizzazioni per processore nei sorgenti del
kernel.
Ti ricordo che in genere le ottimizzazioni del compilatore vanno molto
al di la' delle caratteristiche del processore o del set di
istruzioni. Ho letto di compilatori che "pretendono" una qualche
primato nella percentuale di hit della cache o nel perfetto
riempimento delle pipeline di esecuzione, ma sinceramente sono molto
scettico!
L'ideale sarebbe scrivere il codice, compilarlo per una sessione di
profiling, trovare i punti piu' critici dell'esecuzione, provare a
riscrivere il codice tenendo presenti alcune regole non proprio di
base della programmazione e in caso di insucesso provvedere a scrivere
direttamente in assembler le parti dove il compilatore non riesce a
fare meglio dell'uomo.
Secondo me l'unico modo per stabilire se davvero il codice e' "piu'
ottimizzato" e fare il profiling a piu' non posso: stabilirlo a priori
e' impossibile.

 
Mio Dio, se sto creando un'applicazione mia mi può anche adare bene, è il modo 
"normale" di procedere all'ottimizzazione. Ma se semplicemente ho bisogno di 
ricompilare Apache perchè abbia le migliori prestazioni possibili sulla mia 
macchina? Non oso neanche immaginare che mole di lavoro dovrei compiere, sempre 
che ne fossi in grado ;-)


 writes:
d> Ti ricordo che in genere le ottimizzazioni del compilatore vanno molto
d> al di la' delle caratteristiche del processore o del set di
d> istruzioni. Ho letto di compilatori che "pretendono" una qualche
d> primato nella percentuale di hit della cache o nel perfetto
d> riempimento delle pipeline di esecuzione, ma sinceramente sono molto
d> scettico!
Io molto meno, sono cose che  puoi definire a priori. Vero che le cose
valgono più  o meno  "in mezzo alla  timeslice", ma sono  definibili a
priori.
Vero anche che l'architettura intel è intrinsecamente obrobriosa...
d> direttamente in assembler le parti dove il compilatore non riesce a
d> fare meglio dell'uomo.
Sono pezzi veramente  rari. Con le nuove CPU  devi faticare eccome per
fare a manina del codice ottimo...
--
Gian Uberto| main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Lauri      |                        David Korn, 1987 ioccc best one liner 
(aka saint)|-------------------------------------------------------------------
em@ail: 
sa...@eng.it
 ( vedere X-nospam nello header - see X-nospam in header )

 alcuni processori (MMX 3DNow etc...)
Il gcc non genera codice con queste estensioni. Se le vuoi usare devi
scrivere il codice a mano.
--
  	Giuseppe "Cowo" Corbelli  -->>  Riding on Linux-2.4.3-xfs
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
  -<! Heavy Metal Or No Metal At All! Whimps And Posers Leave The Hall !>-
 	 			Manowar - Metal Warriors

 
Questo è quello che volevo sapere, grazie :-)
Ciao ... Marcello
