Odpovídáte na názor ke článku C++: Mapování hodnot z runtime na integrální konstanty.
Nic takového neexistuje. Samozřejmě, pokud adresa není známa v určitém bodě, musí dekóder instrukcí čekat. Proto ta instrukce LEA pro výpočet začátku tabulky je s předstihem, aby jakmile je znám výsledek EAX, tak se mohlo pokračovat.
Nicméně se domnívám, že zahazování rozpracované větvě při špatném odhadu je mnohem náročnější pro CPU, než prostě počkat, dokud není výsledek znám. On, jakmile je výsledek znám, může se pokračovat v dekódování instrukcí a přitom to ještě neznamená, že by instrukce byla dokončena, tam je ještě nějaký cleanup a commit fáze, Prostě obecně je skok na vypočtenou adresu rychlejší, než špatně odhadnutý podmíněny skok.
Intenzivně se zabývám programováním zejména v jazyce C++. Vyvíjím vlastní knihovny, vzory, techniky, používám šablony, to vše proto, aby se mi usnadnil život při návrhu aplikací. Pracoval jsem jako programátor ve společnosti Seznam.cz. Nyní jsem se usadil v jednom startupu, kde vyvíjím serverové komponenty a informační systémy v C++
Přečteno 51 398×
Přečteno 24 147×
Přečteno 22 952×
Přečteno 21 211×
Přečteno 17 919×