Benjamin Summerton, autori i sistemit të gjurmimit të rrezatimit 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 realizimin e testimit ishin deklaratat të cilat qarkullonin në rrjet, që përdorimi i "final" rrit performancën, të cilat ishin të kufizuara në gjykime të përafërta pa treguar rezultatet e ndryshimeve.
Testimi i realizuar nga Benjamin tregoi se performanca me përdorimin e "final" varet shumë nga kompajleri. Gjatë ndërtimit në GCC, vërtet ka pasur rritje të dukshme të performancës në një numër të konsiderueshëm rastesh, por gjatë ndërtimit në Clang dhe MSVC, performanca në shumicën e rasteve ka rënë, madje në mënyrë më të dukshme. Një ndikim të madh, përveç kompajlerit, kishte edhe platforma; për shembull, rënia e performancës manifestohej 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, gjatë ndërtimit në Clang në 90% të testeve me përdorimin e "final" ishte vënë re një ngadalësim të paktën prej 5%, por në 2.5% të rasteve ishte regjistruar një përshpejtim të paktën prej 5%. Në 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, ngadalësimi prej 5% vërehej në 26.2% të testeve, ndërsa përshpejtimi prej 5% në 13.3%. Autori i studimit arriti në përfundimin se duhet shmangur përdorimi i "final".
Burimi: opennet.ru
