Articles

GCC 10 vs. Clang 10 Kompilatorprestanda på AMD Zen 2 + Intel Cascade Lake

Vi levererade många riktmärken för Clang 10.0 på olika processorer efter den uppdaterade LLVM-kompilatorstackutgåvan tidigare i år. Med GCC 10 släppt tidigare denna månad har vi börjat vår benchmarking av denna årliga funktionsutgåva till GNU Compiler Collection. Först ut är en titt på GCC 9 vs. GCC 10 vs. LLVM Clang 10 kompilatorprestanda på AMD Zen 2 och Intel Cascade Lake-system.

denna första omgång av benchmarking för GCC 10 vs Clang 10 tittar på släppbyggnaderna för varje plus GCC 9.3 vid testning på AMD Ryzen Threadripper 3990X och Intel Core i9 10980xe arbetsstationer. Threadripper 3990X tar slut från System76 Thelio Major. Båda systemen körde Ubuntu 20.04 LTS med Linux 5.4-kärnan och alla kompilatorer byggdes på samma sätt som release mode. Det finns RAM / SSD-skillnader mellan systemen med inte avsikt att jämföra AMD vs Intel-prestanda utan snarare titta på hur dessa LLVM Clang och GCC-kompilatorer utför över flera CPU-familjer. Ytterligare CPU-riktmärken kommer att komma med dessa kompilatorer.

under all benchmarking var CFLAGS/CXXFLAGS inställda på ”-O3-march=native” för både AMD Zen 2 och Intel Cascade Lake-systemen. Via Phoronix Test Suite kördes ett brett utbud av C / C++-riktmärken samtidigt som de öppen källkodsriktmärkena återuppbyggdes under var och en av de olika kompilatorerna som testades.

med Blosc-kompressorn var clang 10.0-prestanda i grunden bunden med GCC 10 medan Core i9 10980xe-prestanda såg GCC leverera bättre prestanda än den senaste Clang-utgåvan.

med Crypto++ riktmärken var det inte mycket av en skillnad mellan GCC 9.3 till GCC 10.1 medan clang 10.0-prestanda fortsatte att spåra gcc på Cascade Lake HEDT-systemet. På Threadripper Thelio Major-systemet tenderade Clang-prestanda att fungera bra mot GCC med undantag för heltal och elliptisk kurva public key algorithms test där GCC kom ut mätbart starkare.

LCZero med sin Eigen back-end såg några mindre vinster av GCC 10 och ännu bättre prestanda med Clang 10 medan i9-10980xe-systemet såg något snabbare prestanda på GCC 9.3.

Clangs LAMMPS binära prestanda var i linje med GCC på båda systemen.