Analyse des Einflusses des SchlĂŒsselworts final auf die Leistung von C++-Programmen

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.

Analyse des Einflusses des SchlĂŒsselworts final auf die Leistung von C++-Programmen
Analyse des Einflusses des SchlĂŒsselworts final auf die Leistung von C++-Programmen

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

Erwerben Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster