Analyse af nøgleordet final's indvirkning på C++ programmering.

Benjamin Summerton, skaberen af ray tracing-systemet PSRayTracing, har analyseret indvirkningen på ydeevnen af applikationer ved brug af nøgleordet «final» i C++ kode, som blev introduceret i C++11 standarden. Testene blev gennemført på baggrund af udsagn på nettet, der hævdede, at brugen af «final» kan forbedre ydeevnen, men disse påstande var begrundet i vurderinger uden angivelse af resultaterne af ændringerne.

Testene udført af Benjamin viste, at ydeevnen ved brug af «final» i høj grad afhænger af compilatoren. Ved kompilering i GCC viste der sig faktisk i betydeligt antal tilfælde en stigning i ydeevnen, mens ydeevnen i de fleste tilfælde faldt ved kompilering i Clang og MSVC, ofte mere markant. Derudover havde platformen også stor indflydelse, idet faldet i ydeevne blev mere udtalt på systemer med AMD Ryzen 9 6900HX CPU end på systemer med Apple M1 CPU.

Analyse af nøgleordet final's indvirkning på C++ programmering.
Analyse af nøgleordet final's indvirkning på C++ programmering.

For eksempel, på et AMD Ryzen 9 6900HX system med Ubuntu 23.10, ved kompilering i Clang, blev der observeret en nedgang i ydeevnen på mindst 5% i 90% af testene ved brug af «final», men i 2.5% af tilfælde var der en stigning på mindst 5%. For GCC blev der registreret en nedgang på 5% i 0.9% af tilfældene, mens en stigning på 5% skete i 15.8% af tilfældene. I MSVC blev der observeret en 5% nedgang i 26.2% af testene, og en 5% stigning i 13.3%. For sig selv konkluderede forfatteren af undersøgelsen, at det er nødvendigt at undgå brugen af «final».

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster