Phoronix a publié le 4 septembre un dossier comparatif entre GCC et GCC-LLVM.
Ce comparatif consiste à tester les performances de logiciels compilés d'une part avec GCC et d'autre part avec GCC-LLVM.
La plateforme utilisée est la suivante :
- un Mac Mini avec core2duo 2GHz
- le système d'exploitation le plus abouti du moment: Apple Mac OS X Snow Leopard ®©™.
- GCC 4.2.1 et GCC-LLVM 4.2.1 , tous deux de chez Apple.
Les logiciels compilés sont Lame, John the ripper, Crafty (moteur de jeu d'échec), Tachyon (raytracer) et quelques autres.
Les résultats sont disponibles à l'adresse suivante : http://www.phoronix.com/scan.php?page=article&item=apple_llv(...)
Je résume les résultats: sur 12 tests, 10 donnent gagnant GCC (avec des gains de l'ordre de 5 à 50% selon les tests), sur 2 autres tests le binaire compilé par GCC-LLVM est plus rapide.
# GCC 4.2.1 ?
Posté par Victor STINNER (site web personnel) . Évalué à 10.
[^] # Re: GCC 4.2.1 ?
Posté par niclone (site web personnel) . Évalué à 10.
[^] # Re: GCC 4.2.1 ?
Posté par Philippe F (site web personnel) . Évalué à 4.
[^] # Re: GCC 4.2.1 ?
Posté par BAud (site web personnel) . Évalué à 2.
[^] # Re: GCC 4.2.1 ?
Posté par Victor STINNER (site web personnel) . Évalué à 2.
Fink permet d'installer GCC 4.4.1.
Je doute fortement qu'un client Mac lambda (celui qui a un iPod, iPhone et écoute en U2 en boucle) compile ses propres logiciels. On parle bien de développeurs là. Et il existe des développeurs capables d'installer GCC ;-)
Note : GCC 4.4.1 est la dernière version stable de GCC.
# Clang
Posté par superna (site web personnel) . Évalué à -1.
Ces benchmarks ne valent rien...
Clang : http://clang.llvm.org/
[^] # Re: Clang
Posté par M . Évalué à 6.
[1] il se trouve quelque part sur http://multimedia.cx/eggs
[^] # Re: Clang
Posté par patrick_g (site web personnel) . Évalué à 2.
[^] # Re: Clang
Posté par M . Évalué à 5.
[^] # Re: Clang
Posté par patrick_g (site web personnel) . Évalué à 4.
Je suis impressionné par les perfs de GCC 4.4 qui fait quasiment jeu égal avec ICC sur 32 bits et qui le bat franchement sur 64 bits.
[^] # Re: Clang
Posté par Clément David (site web personnel) . Évalué à 2.
voir [https://linuxfr.org//~Snarky/28133.html]
[^] # Re: Clang
Posté par GeneralZod . Évalué à 4.
[^] # Re: Clang
Posté par mdlh . Évalué à 2.
[^] # Re: Clang
Posté par superna (site web personnel) . Évalué à 1.
- Garde la trace de chaque token de code. en passant le code à LLVM, ce qui permet de reafactoriser/optimiser encore plus, et mieux
- Clang ne simplifie pas le code avant de le re-filer a LLVM (l'exemple est : si y'a "x-x" dans le code, GCC va filer 0, Clang x-x), ça aide a optimiser, refactoriser...
- Clang réutilise une partie des optimisation de LLVM (optimisations, JIT, compilation au link, ...)
- Clang a un nouveau design, ce qui le rends plus propre
J'adore GCC, c'est mon outil préféré et c'est merveilleux d'avoir une telle machine a notre service !
Mais Clang est le fruit d'un travail neuf, qui le rend doublement intéressant :
- Il permet de faire des optimisations que GCC ne peut pas faire a cause de son design interne (c'est aussi le concept initial de LLVM-GCC en attendant un nouveau frontend)
- La license est moins restrictive, c'est loin d'être pour moi le point le plus intéressant
Ce n'est clairement pas un remplaçant de GCC pour tous les cas, mais ça pourra servir pour générer des binaire qui ont besoin d'avoir une optimisation plus fine.
[^] # Re: Clang
Posté par patrick_g (site web personnel) . Évalué à 6.
Ben ça n'a pas l'air d'être le cas puisqu'une vieille version de GCC semble éclater LLVM.
[^] # Re: Clang
Posté par Antoine . Évalué à 2.
Je vois pas ce qu'il y a d'intéressant à factoriser dans "x-x" par rapport à "0". Hum.
Ceci dit remplacer "x-x" par "0" n'est pas forcément valable en toutes circonstances ;) Exemple (en Python) :
>>> f = float('nan')
>>> f
nan
>>> f - f
nan
>>> f - f == 0
False
# !!!
Posté par gaston . Évalué à 10.
Merde, un trollomètre tout neuf qui m'explose à la gueule. Ceci dit, j'en rigole encore.
[^] # Re: !!!
Posté par windu.2b . Évalué à 9.
[^] # Re: !!!
Posté par Mikis . Évalué à 9.
[^] # Re: !!!
Posté par Miod in the middle . Évalué à 5.
Si tu utilisais un trollomètre Prumpleffer, tu n'aurais aucun problème de ce genre.
[^] # Re: !!!
Posté par Antoine . Évalué à 2.
# mega giant
Posté par Octabrain . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.