Vaikka LLVM:n suorituskyky/Clang on parantunut paljon vuosien varrella, ja x86_64:n ja AArch64:n kohdalla voi olla niskasta kiinni GCC-kääntäjän kanssa, kova suoritustaistelu ei ole ohi. Kun LLVM/Clang 14.0 julkaistaan vuoden 2022 alkukuukausina, suorituskykyä on enemmän, ja erityisesti yksi äskettäinen sitoumus näyttää lupaavalta.
LLVM-kehittäjä Djordje Todorovic sai äskettäin parannuksen LLVM:n Loop Invariant Code Motion (LICM) Passiin, jotta se pystyy nostamaan KUORMAN ilman STORIA. Pach selittää:”Jos emme voi todistaa, että voittamamme myymälän upottaminen on turvallista, kun teemme lataus-/myymäläpromootiota’älä nosta kuormaa, vaikka voimme todistaa, että kuorma on voitu poistaa ja siirtää silmukan ulkopuolelle. Tämä korjaustiedosto toteuttaa kuormituksen edistämisen siirtämällä sitä silmukan esiotsikossa lisäämällä silmukaan oikean PHI:n. Kauppa säilyy sellaisenaan Tekemällä tämän, vältämme lataamisen muistipaikasta jokaisessa iteraatiossa.”Tämän passin parannus auttaa käsittelemään tätä virheraporttia, joka liittyy menetettyihin rekisteröintipromootioihin.
Mutta niille, jotka eivät ole kääntäjien sisäisistä asioista kiinnostuneita ja jotka ovat vain kiinnostuneita nettovoitosta, Todorovic jakoi vertailutuloksia ja kommentteja:
Vau, numerot (käyttämällä @OpenBenchmark; X86_64-O3) https://t.co/AN6QsRSQG3 näyttää upealta: pic.twitter.com/4MGgaFdwfK
— Djordje Todorovic (@djtodoro) 3. joulukuuta 2021
PostgreSQL-benchmarkissamme hän näkee noin 12 % paremman suorituskyvyn tällä kuormannostopaikalla, ja monissa muissa työkuormissa XZ-pakkauksesta C-Rayyn MrBayesiin ja muihin parannuksia on havaittavissa yleensä muutaman prosentin verran.
Tämä parannus ja lukemattomat muut korjaustiedostot ovat osa LLVM Clang 14.0:aa, jonka tavanomaisen julkaisutahdin mukaan pitäisi näkyä vakaana maaliskuun tienoilla.