Compilatori Intel e GCC per Linux a confronto
Quando serve una guida per scegliere tra prodotti software con caratteristice simili, si potrebbe pensare ai benchmark come strumento ideale, anche se non sempre le cose stanno così, dal momento che si possono testare di volta in volta aspetti specifici (anche troppo) nella generazione del codice da parte del compilatore, a scapito dell'interesse più generale che potrebbe avere la questione.
Comunque l'utilità dei benchmark aumenta, in particolare se leggiamo attentemente oltre ai risultati finali anche le condizioni delle prove e diamo un occhio al codice sorgente utilizzato nelle stesse.
Parte da questo presupposto un articolo di Scott Robert Ladd sui compilatori per Linux, postato sul suo blog il 18 Settembre 2004.
Il confronto è tra GCC, ovvero GNU's Compiler Collection, che comprende compilatori C e non solo storicamente molto importanti, ed il compilatore Intel versione 8.1.
Per quanto riguarda GCC è prevista a breve l'uscita della major release 4, dopo il passaggio di version number dalla 2 alla 3 che risale al 2001 dovrebbero esserci adesso in vista cambiamenti significativi anche se non rivoluzionari.
Sull'altro fronte, il compilatore Intel versione 8.1 si può scaricare gratuitamente purché se ne faccia un uso non commerciale. Ovviamente Intel in quanto produttore di hardware tende alla ricerca di ottimizzazioni nell'ambito dei suoi processori.
Venendo alle prove, queste sono state effettuate con sistemi Dual Opteron, un paio di Giga di RAM e Gentoo Linux. A questi test ne se ne affiancano altri su un più modesto Pentium 4 2.8 GHz e 512 MB di RAM.
Complessivamente il compilatore Intel sembra generare codice molto veloce, in particolare per programmi che hanno a che fare con calcoli numerici complessi. C'è chi riporta allusioni maligne alla possibile attenzione di Intel nei riguardi di un test molto utilizzato (SciMark): si tratta di un limite dei benchmark o meglio dei produttori in generali che a volte tentano di fare belle figure oltre che programmi solidi.
In conclusione, da un lato ci sono i vantaggi della portabilità e del software open source, dall'altro prestazioni migliori per una piattaforma specifica. I fortunati siamo noi che possiamo scegliere in funzione del tipo di applicazione che dobbiamo sviluppare.
Davide Panceri - Programmazione.it
- [06/01/11] Linux per tutti Ubuntu facile Video Manuale
- [26/04/10] KernelCheck: Linux sempre aggiornato su distro Debian
- [24/04/10] Linux Mint 9: uno strumento di backup niente male
- [09/02/08] Italiani e tedeschi, la passione comune è Linux
- [31/01/08] Online la versione 6.6 di Manualinux