Benjamin Summerton, autor i sistemit të ndriçimit PSRayTracing, analizoi ndikimin në performancën e aplikacioneve nga përdorimi në kodin C++ të fjalës kyçe «final», e cila u shfaq në standardin C++11. Arsyeja për kryerjen e testeve ishte deklaratat që qarkullonin në internet, se përdorimi i «final» rrit performancën, të cilat ishin të kufizuara në vetëm vlerësime pa treguar rezultatet e ndryshimeve.
Testimi i kryer nga Benjamin tregoi se performanca me përdorimin e «final» varet shumë nga kompajleri. Kur përgatiste me GCC, vërtet në një numër të dukshëm rastesh, performanca rritej, por kur përgatiste me Clang dhe MSVC, performanca në shumicën e rasteve kishte rënien, sidomos më shumë. Ndërkaq, një ndikim të madh, përveç kompajlerit, kishte dhe platforma; për shembull, rënia e performancës shfaqej më shumë në sistemin me CPU AMD Ryzen 9 6900HX sesa në sistemin me CPU Apple M1.


Për shembull, në sistemin AMD Ryzen 9 6900HX me Ubuntu 23.10, kur përgatiste me Clang, në 90% të testeve me përdorimin e «final» u vërejt një ngadalësim të punës për të paktën 5%, ndërsa në 2.5% të rasteve ishte regjistruar një përshpejtim të paktën 5%. Për GCC, ngadalësimi prej 5% ishte regjistruar në 0.9% të rasteve, ndërsa përshpejtimi prej 5% në 15.8% të rasteve. Në MSVC një ngadalësim prej 5% u vu re në 26.2% të testeve, ndërsa një përshpejtim prej 5% në 13.3%. Për veten e tij, autori i studimit arriti në përfundimin se duhet të shmanget përdorimi i «final».
Burimi: opennet.ru
