Benjamin Summerton, der Autor des Raytracing-Systems PSRayTracing, analysierte die Auswirkungen der Verwendung des SchlĂŒsselworts âfinalâ im C++-Code auf die Anwendungsleistung. Hintergrund der Tests waren online kursierende Behauptungen, dass der Einsatz von âfinalâ die Leistung steigern kann, die auf Bewertungen basierten, ohne konkrete Ergebnisse der Ănderungen anzugeben.
Die Tests von Benjamin zeigten, dass die Leistung bei der Verwendung von âfinalâ stark vom Compiler abhĂ€ngt. Bei der Kompilierung in GCC verbesserte sich in vielen FĂ€llen tatsĂ€chlich die Leistung, wĂ€hrend sie bei der Kompilierung in Clang und MSVC in den meisten FĂ€llen sogar spĂŒrbar abnahm. ZusĂ€tzlich hatte die Plattform einen starken Einfluss; besonders auffĂ€llig war der Leistungseinbruch auf einem System mit einem CPU AMD Ryzen 9 6900HX im Vergleich zu einem System mit einem CPU Apple M1.


Zum Beispiel zeigte sich bei einem AMD Ryzen 9 6900HX System mit Ubuntu 23.10, dass die Verwendung von "final" in 90% der Tests zu einer Verlangsamung von mindestens 5% fĂŒhrte, wĂ€hrend in 2,5% der FĂ€lle eine Beschleunigung von mindestens 5% festgestellt wurde. Bei GCC wurde eine Verlangsamung um 5% in 0,9% der FĂ€lle festgestellt, wĂ€hrend eine Beschleunigung um 5% in 15,8% der FĂ€lle auftrat. In MSVC zeigte sich eine Verlangsamung um 5% in 26,2% der Tests, wĂ€hrend eine Beschleunigung um 5% in 13,3% der FĂ€lle beobachtet wurde. Der Autor der Studie kam zu dem Schluss, dass die Verwendung von "final" vermieden werden sollte.
Quelle: opennet.ru
