Benjamin Summerton, der Autor des PSRayTracing-Renderingsystems, hat den Einfluss der Verwendung des SchlĂŒsselwortes âfinalâ im C++-Code auf die LeistungsfĂ€higkeit von Anwendungen analysiert. Der Anlass fĂŒr die Tests waren im Internet kursierende Behauptungen, dass die Verwendung von âfinalâ die Leistung steigert, die jedoch lediglich auf Meinungen basierten, ohne konkrete Ergebnisse der Ănderungen anzugeben.
Die Tests, die von Benjamin durchgefĂŒhrt wurden, zeigten, dass die Leistung bei der Verwendung von âfinalâ stark vom Compiler abhĂ€ngt. Bei der Kompilierung in GCC stieg die Leistung in einer signifikanten Anzahl von FĂ€llen tatsĂ€chlich, wĂ€hrend sie bei der Kompilierung in Clang und MSVC in den meisten FĂ€llen sank, und das spĂŒrbarer. Zudem hatte neben dem Compiler auch die Plattform einen groĂen Einfluss; beispielsweise trat der Leistungsabfall stĂ€rker bei einem System mit CPU AMD Ryzen 9 6900HX auf als bei einem System mit CPU Apple M1.


Zum Beispiel wurde auf einem System mit AMD Ryzen 9 6900HX und Ubuntu 23.10 bei der Kompilierung in Clang in 90% der Tests bei Verwendung von âfinalâ eine Verlangsamung von mindestens 5% festgestellt, wĂ€hrend in 2,5% der FĂ€lle eine Beschleunigung von mindestens 5% dokumentiert wurde. Bei GCC wurde eine Verlangsamung von 5% in 0,9% der FĂ€lle festgestellt, wĂ€hrend eine Beschleunigung von 5% in 15,8% der FĂ€lle vorlag. In MSVC betrug die Verlangsamung von 5% in 26,2% der Tests, wĂ€hrend eine Beschleunigung von 5% in 13,3% der FĂ€lle beobachtet wurde. Der Autor der Studie kam zu dem Schluss, dass er die Verwendung von âfinalâ vermeiden sollte.
Quelle: opennet.ru
