Intel c++ Compiler?

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
simpe94
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 508
Iscrizione: sabato 10 novembre 2007, 16:32
Località: Emilia Romagna

Intel c++ Compiler?

Messaggio da simpe94 »

In un sito ho letto nella pubblicità della intel che il suo compilatore c++ è il più performante al mondo? È vero? ::)
Simone - Made to Make
La pillola di oggi: «Non è necessario che un piatto sia elaborato per essere appetitoso.» (Ciccio)
Avatar utente
Guiodic
Accecante Asceta
Accecante Asceta
Messaggi: 28474
Iscrizione: martedì 24 aprile 2007, 15:28
Località: Roma
Contatti:

Re: Intel c++ Compiler?

Messaggio da Guiodic »

No. E' più performante in alcuni test e meno in altri.
Avatar utente
IppatsuMan
Prode Principiante
Messaggi: 199
Iscrizione: mercoledì 14 febbraio 2007, 1:31
Contatti:

Re: Intel c++ Compiler?

Messaggio da IppatsuMan »

Dovendo dare una risposta brevissima: sì, l'Intel C++ Compiler produce codice più performante rispetto a GCC.

Nei pochi test in cui GCC è più veloce, IC è a pochi punti di distanza, mentre quando accade il contrario la differenza è più grande.

Riferimenti: C'è da dire che anche i test fatti da parte di individui apertamente pro-opensource (si veda il primo link, ad esempio), riportano ICC come il compiler più performante, quindi è difficile accusare di essere di parte i benchmark finanziati da Intel (si veda l'ultimo link). Cioè, saranno anche di parte, ma le conclusioni sono grosso modo le stesse.

Si notino però due cose:
  • GCC può compilare molti più linguaggi e gira su un numero infinitamente superiore rispetto a IC (o qualunque altro compilatore, per quanto ne so)
  • I test sopra riportati sono relativamente datati, e utilizzano al più la versione 4.1 di GCC. A partire dalla versione 4.0 gli sviluppatori hanno introdotto una nuova struttura dati, tree SSA (su cui non mi soffermerò salvo richieste esplicite), che permette di utilizzare molte più tecniche di ottimizzazione rispetto a quelle possibili nella serie di GCC 3.x. Mano a mano che passano le release queste vengono aggiunte e migliorate: è stato introdotto il supporto a OpenMP, il framework per la compilazione su multicore è migliorato e così via.
In alcuni casi usare IC può essere ragionevole. In sostanza lo svantaggio di GCC di performance sembra, per alcuni casi, destinato sempre più a ridursi, ma in ogni caso GCC offre vantaggi che IC non ha: l'essere multipiattaforma, multilinguaggio e free (as in speech).
ハッカー
Avatar utente
Guiodic
Accecante Asceta
Accecante Asceta
Messaggi: 28474
Iscrizione: martedì 24 aprile 2007, 15:28
Località: Roma
Contatti:

Re: Intel c++ Compiler?

Messaggio da Guiodic »

Come hai fatto notare sono test un po' vecchi. Gli ultimi che ho visto (su Linux pro) mostravano un diverso equilibrio con gcc che batteva ic quasi in ogni test sugli i386 32bit mentre icc primeggiava nell'architettura a 64bit.
Peraltro nell'articolo si faceva notare che mentre le prestazioni di gcc in generale migliorano tra una release e la successiva, per icc è il contrario.

Aggiungo agli argomenti che hai esposto che quasi tutto il sw libero (ed anche quello proprietario su piattaforma gnu/linux) è scritto per gcc e può avere problemi nella compilazione con icc. Ad esempio compilare il kernel Linux con icc è un grosso problema.
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti