Articles

GCC 10 vs. Clang 10-kääntäjän suorituskyky AMD Zen 2 + Intel Cascade Lake

toimitimme monia clang 10.0-vertailuarvoja eri suorittimille päivitetyn LLVM-kääntäjän stack-julkaisun jälkeen aiemmin tänä vuonna. Kun GCC 10 julkaistiin aiemmin tässä kuussa, olemme aloittaneet tämän vuotuisen ominaisuusjulkaisun esikuva-analyysin GNU-Kääntäjäkokoelmaan. Ensin on tarkastella GCC 9 vs. GCC 10 vs. LLVM Clang 10 kääntäjä suorituskykyä AMD Zen 2 ja Intel Cascade Lake järjestelmät.

tällä GCC 10 vs. Clang 10: n esikuva-analyysin ensimmäisellä kierroksella tarkastellaan kunkin GCC 9: n julkaisurakennetta.3 testattaessa AMD Ryzen Threadripper 3990X-ja Intel Core i9 10980xe-työasemia. Threadripper 3990X on loppumassa Järjestelmästä76 Thelio Major. Molemmissa järjestelmissä käytettiin Ubuntu 20.04 LTS: ää Linux 5.4-ytimen kanssa ja kaikki kääntäjät oli rakennettu samalla julkaisutavalla. Järjestelmien välillä on RAM / SSD-eroja, joiden tarkoituksena ei ole verrata AMD vs. Intel-suorituskykyä, vaan tarkastella, miten nämä LLVM-ja GCC-kääntäjät suoriutuvat useista SUORITINPERHEISTÄ. Näiden kääntäjien mukana on tulossa lisää suorittimen vertailuarvoja.

kaikkien vertailuanalyysien aikana CFLAGS / CXXFLAGS-arvoksi asetettiin ”- O3-march=native” sekä AMD Zen 2-että Intel Cascade Lake-järjestelmissä. Phoronix-testisarjan kautta ajettiin laaja valikoima c / c++ – vertailuarvoja, kun avoimen lähdekoodin vertailuarvot rakennettiin uudelleen kunkin testattavan kääntäjän alle.

Blosc-kompressorin kanssa Clang 10.0-suorituskyky oli periaatteessa sidottu GCC 10: een, kun taas Core i9 10980xe-suorituskyky näki GCC: n tuottavan paremman suorituskyvyn kuin tämä viimeisin Clang-julkaisu.

Crypto++ – vertailuarvojen kanssa GCC 9.3: n ja GCC 10.1: n välillä ei ollut suurta eroa, kun taas Clang 10.0: n suorituskyky jatkui gcc cascade Lake hedtin järjestelmässä. Threadripper Thelio Major-järjestelmällä Clang-suorituskyky yleensä toimi hyvin GCC: tä vastaan lukuun ottamatta kokonaisluku-ja elliptistä käyrää julkisen avaimen algoritmeja, joissa GCC tuli ulos mitattavasti vahvempana.

LCZero Eigen back-end-järjestelmineen paransi hieman GCC 10: stä ja clang 10: n suorituskyky parani, kun taas i9-10980xe-järjestelmä sai hieman nopeamman suorituskyvyn GCC 9.3: ssa.

Clangin LAMMPS binäärisuoritus oli GCC: n mukainen molemmissa järjestelmissä.