Eerder deze maand waren benchmarks die keken naar GCC 11-prestaties met verschillende optimalisatieniveaus en functies zoals link-tijd optimalisaties. Afkomstig van lezersverzoeken, zijn hier nu vergelijkbare referentiebenchmarks van LLVM Clang 12.0 op hetzelfde systeem met gaande van-O0 naar-Ofast en schakelen tussen-march=native en LTO-gebruik.
Met deze Clang 12.0-benchmarking werden een aantal verschillende C/C++-benchmarks uitgevoerd in 13 verschillende builds, bestaande uit:
-O0
-Og
-O1
-O2
-O2-flto
-O2-march=native
-O3
-O3-flto
-O3-march=native
-O3-march=native-flto
-Ofast
-Ofast-march=native
-Ofast-march=native-flto
Dezelfde open-source C/C++-benchmarks werden gebruikt als bij de GCC 11-tests, behalve waar in slechts enkele situaties LLVM/Clang-problemen werden aangetroffen.
De benchmarking van de Clang 12-compiler werd gedaan op Fedora Workstation 34 vanaf een Intel Core i9 11900K Rocket Lake-systeem.
Als u de”TLDR”-versie wilt, vindt u hierboven het geometrische gemiddelde van de 44 verschillende uitgevoerde benchmarks. Over het algemeen zijn ze in lijn met de verwachtingen. In tegenstelling tot de GCC 11-tests waarbij de”-flto”-runs in het algemeen iets langzamer binnenkwamen, was dat niet het geval bij deze Clang-benchmarking.