GCC vs. CLANG 3

V nasledujúcom a poslednom diely si porovnáme dobu prekladu Samby, PHP-5.3.2
pomocou jednotlivých kompilátorov CLANG a GCC a ukážeme sľubované grafy z minulého dielu.

21.7.2010 00:00 | Sebastián Kunec | přečteno 8477×

GCC vs. CLANG 3. diel

V nasledujúcom a poslednom diely si porovnáme dobu prekladu Samby, PHP-5.3.2
pomocou jednotlivých kompilátorov CLANG a GCC a ukážeme sľubované grafy z minulého dielu.
Za námet na dnešný diel by som chcel poďakovať pánovi s menom Radim Kolář.
Odporúčam si prejsť prvý diel a druhý diel kde môžete nájsť inštaláciu, prepínače,
chybový výstup jednotlivých kompilátorov,meranie prekladu a meranie prekladu pár benchmarkov.

Zostava

Preklad Samby

GCC doba prekladu

real 7m31.491s
user 6m49.574s
sys 0m38.206s

CLANG doba prekladu

real 7m9.512s
user 6m34.505s
sys 0m31.438s

Hodnoty sú v sekundách ako môžete vidieť clang tu veľmi nezahviezdil,
ale na druhú stranu 20sekúnd rozdiel pri častej kompilácií určite poteší.

Preklad PHP-5.3.2

GCC doba prekladu

real 3m24.350s
user 2m56.315s
sys 0m24.006s

CLANG doba prekladu

real 2m47.334s
user 2m17.637s
sys 0m24.050s

Tu je rozdiel približne 37 sec. čo už nieje na zanedbanie hlavne ak kompilujete projekt viackrát kôli testovaniu.

Grafy GCC vs. CLANG 2. diel

Nbench

Nižšie môžete vidieť dobu prekladu, trvanie celého benchmarku a výsledky ktorý kód je rýchlejší všetko je merané v sekundách.
Clang má pomalší kód ale v celkovom súčte sú to len 3 sekundy čo sa dá zanedbať, na druhú stranu skompiloval kód rýchlejšie.

Whetstone

V diskusii GCC vs. CLANG zaznelo, že CLANG kompiluje kód rýchlejšie ale zato je kód pomalší, Whetstone toto tvrdenie nepotvrdzuje trvanie benchmarku je v prospech CLANG a teda aj výkon ako ukazuje posledný graf jednotky sú v Whetstone inštrukcií za sekundu (MWIPS).

IOzone

V dobe prekladu zase zvíťazil CLANG o väčšiu polovicu sekúnd teda pri častom kompilovaní sa jeho používanie určite vyplatí
V dobe trvania benchmarku zaostal len o 6 sekúnd čo pri trvaní 10 minút je v celku na zanedbanie.

Záver

Verím že sa vám séria GCC vs. CLANG páčila. Určite sa nedá jednoznačne povedať či kód od CLANG je pomalší alebo nie záleží od danej situácie, niekde vyhráva GCC inde CLANG, ale zato doba prekladu je takmer vždy v prospech CLANG aj chybové hlášky sú na lepšej úrovni. Nuž je to len na vás ktorý znich budete používať, no CLANG určite stojí za vyskúšanie.
Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1736