Analyse van de impact van het zoekwoord final op de prestaties van C++ programma's

Benjamin Summerton, de auteur van het PSRayTracing ray tracing-systeem, heeft de impact van het gebruik van het sleutelwoord "final" in C++-code op de prestaties van applicaties geanalyseerd. De aanleiding voor het testen waren de online beweringen dat het gebruik van "final" de prestaties zou verbeteren, die alleen gebaseerd waren op schattingen zonder referentie naar meetresultaten.

De testen die door Benjamin zijn uitgevoerd, toonden aan dat de prestaties bij gebruik van "final" sterk afhankelijk zijn van de compiler. Bij het compileren met GCC werd inderdaad in een aanzienlijk aantal gevallen een prestatieverbetering waargenomen, maar bij het gebruik van Clang en MSVC daalden de prestaties in de meeste gevallen, en dat meer merkbaar. Daarnaast had het platform een grote invloed; bijvoorbeeld, het prestatiedalingen waren duidelijker op een systeem met een AMD Ryzen 9 6900HX-CPU dan op een systeem met een Apple M1-CPU.

Analyse van de impact van het zoekwoord final op de prestaties van C++ programma's
Analyse van de impact van het zoekwoord final op de prestaties van C++ programma's

Bijvoorbeeld, op een systeem met een AMD Ryzen 9 6900HX met Ubuntu 23.10 liet de compilatie met Clang in 90% van de tests een vertraging van minstens 5% zien bij het gebruik van "final", terwijl in 2,5% van de gevallen een versnelling van ten minste 5% werd waargenomen. Voor GCC werd een vertraging van 5% in 0,9% van de gevallen geregistreerd, terwijl een versnelling van 5% in 15,8% van de gevallen optrad. In MSVC was er een 5% vertraging in 26,2% van de tests en een 5% versnelling in 13,3%. De auteur van het onderzoek concludeert dat het gebruik van "final" moet worden vermeden.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster