Hlavní navigace

Názor k článku Vulkan: představení a první jednoduchá aplikace od Jan Pečiva - Přesně! Pokud uděláme pět úrovní zanoření, pak bez výjimek...

  • Článek je starý, nové názory již nelze přidávat.
  • 4. 7. 2021 11:48

    Jan Pečiva

    Přesně!

    Pokud uděláme pět úrovní zanoření, pak bez výjimek testujeme pro kód chyby na všech pěti úrovních. Vždy se ptáme zda nám zavolaná funkce vrátila success nebo nějakou chybu. Pokud použijeme výjimky, tak porovnání zůstává pouze na nejvyšší úrovni zanoření, kde otestujeme, co nám vrátilo cizí API (třeba Vulkan) a podle toho vyhodíme výjimku nebo ne. Z této funkce už pak už nemusíme vracet chybový kód a nadřazená funkce už nemusí nic testovat. Test tedy zůstal jen na páté úrovni zanoření a ze zbylých čtyřech byl eliminován. Dá se tedy předpokládat, že méně instrukcí porovnání a skoků způsobí rychlejší běh kódu. Toto mi potvrdil i jednoduchý experiment na g++ a s MSVC. V kódu, který velmi intenzivně volal funkce a vracel chyby, přineslo použití výjimek i dvojnásobné zrychlení. Budete-li mít jinou zkušenost, sem s ní.