Benjamin Summertonek, PSRayTracing izpien trazadura sistemaren egileak, C++11 estandarrean sartutako "final" gako-hitzak C++ kodeko aplikazioen errendimenduan duen eragina aztertu zuen. Proba "final" erabiltzeak errendimendua hobetzen duela dioten sareko baieztapenek bultzatu zuten, eta baieztapen horiek, neurri handi batean, balio-judizioak ziren, aldaketen azalpen zehatzik gabe.
Benjaminen probek erakutsi zuten "final" erabiltzean errendimendua konpiladorearen menpe dagoela neurri handi batean. GCC-rekin eraikitzean errendimendua kasu askotan handitu bazen ere, Clang eta MSVC-rekin eraikitzean errendimendua nabarmen jaitsi zen kasu gehienetan. Gainera, plataformak ere paper garrantzitsua izan zuen honetan, konpiladoreaz gain. Adibidez, errendimenduaren jaitsiera nabarmenagoa izan zen AMD Ryzen 9 6900HX CPU bat zuen sistema batean Apple M1 CPU bat zuen sistema batean baino.


Adibidez, AMD Ryzen 9 6900HX sistema batean Ubuntu Urriaren 23.10an, Clang-en eraikitzean, proben % 90ek gutxienez % 5eko moteltzea erakutsi zuten "final" erabiltzean, baina proben % 2.5ek gutxienez % 5eko abiadura handitu zuten. GCC-ri dagokionez, % 5eko moteltzea ikusi zen proben % 0.9an, eta % 5ekoa kasuen % 15.8an. MSVC-ri dagokionez, % 5eko moteltzea ikusi zen proben % 26.2an, eta % 5ekoa kasuen % 13.3an. Ikerketaren egileak ondorioztatu zuen "final" erabiltzea saihestu behar zela.
Iturria: opennet.ru
