Wydane w zeszłym miesiącu był LLVM/Clang 15 i od tego czasu wielu czytelników Phoronix pytało o testy porównawcze kompilatora Clang 15 lub brak go na Phoronix. Testowałem różne systemy Intela i AMD z Clang 15, ale nie było to szczególnie ekscytujące-ale to nie jest zła rzecz, tylko że nie jest to szczególnie przekonujące artykuły o testach porównawczych.
LLVM Clang na x86_64 i AArch64 był na etapie dość dojrzałych i mniej znaczących optymalizacji, które można wycisnąć z każdego nowego wydania w porównaniu do lat temu, kiedy LLVM wciąż grał w nadrabianie zaległości z innymi kompilatorami. Obecnie LLVM Clang dostarcza tak samo dobry kod (lub lepszy) niż GCC i inne alternatywy kompilatora. Tak więc z punktu widzenia wydajności jest to dość nudne, z wyjątkiem przypadków ukierunkowanego dostrajania procesora lub dodawania nowych możliwości instrukcji. Ale ogólnie rzecz biorąc, patrząc na wydajność C/C++ LLVM Clang 14 w porównaniu z Clang 15, we wszystkich moich testach na różnych komputerach Intel i AMD była w większości płaska.
Biorąc porównanie Ryzen 9 5950X Clang 14 i 15 w celach informacyjnych i ignorując wiele obciążeń bez mierzalnej różnicy między przebiegami, pozostało mi:
Tam to kilka drobnych ulepszeń, które można znaleźć w plikach binarnych zbudowanych przez Clang 15 dla niektórych testów, ale jest to znacznie mniej niż we wcześniejszych dniach, gdy Clang pracował nad dogonieniem GCC.
W blisko 100 różnych testach porównawczych C/C++ w tym konkretnym pudełku ogólna średnia geograficzna była prawie taka sama.
Oczywiście, poza wydajnością kompilatora, zaimplementowano nowe funkcje C/C++, prace nad sanitizerami i ulepszonymi ostrzeżeniami/błędami kompilatora, dodano nowe cele i wiele innych innowacji kompilatora typu open source. Więc to jest krótka historia, dlaczego nie było żadnych dużych, wielostronicowych artykułów na temat wydajności Clang 15, ponieważ jest to stabilne, ale w dużej mierze niezmienione doświadczenie dla programów open source, których często używam do testowania kompilatorów i w różnych systemach/procesorach Rutynowo testuję. Jeśli napotkasz coś interesującego we własnym testowaniu kompilatora Clang pod kątem wydajności, koniecznie podziel się nim na forach lub na Twitterze.