Uživatelé chtějí často aplikace v Linuxu ladit, trasovat a profilovat. Abychom dostali backtraces, často se používá ukazatel rámce (frame-pointer). Ten nás ale stojí jeden registr a tím pádem část výkonu. I přesto distribuce jako Ubuntu a Fedora kompilují balíčky s volbou -fno-omit-frame-pointers. Přitom výchozí pro GCC i Clang při zapnuté optimalizaci je -fomit-frame-pointers.
Asi před měsícem se ukázalo, že v některých případech optimalizace nejde ukazatel rámce použít. Řešením by mohly být SFrame, jde o minimální informaci potřebnou k odvíjení zásobníku (stack unwinding) . SFrame nespotřebuje registr. Navíc uživatelé spíše akceptují o trochu větší binární soubor na disku, který však běží rychleji. Podpora SFrame pro architektury x86 a AArch64 se dostala do knihovny Glibc 2.42, která vyjde koncem tohoto měsíce. Více detailů naleznete například na wiki Gentoo a wiki Binutils.
(zdroj: phoronix)