Když už jdete do technikálií, tak switch může být zoptimalizován kompilátorem různě, ale nebude to horší než přečtení hodnoty z jedné statické tabulky a následně nepodmíněný skok.
Nicméně toto vůbec nemusí být bottleneck programu. Bottleneckem COW přístupu můžou být právě alokace, a dokonce se může stát, že to co se často zpracovává nebude v paměti blízko sebe a dojde k missům v nějakých procesorových cachích. Dá se totiž předpokládát, že kompilátor bude umět kód zkompilovat tak, že tabulka virtuálních metod, obzvlášť pokud bude často používaná a nebude měněná, bude v rychlé procesorové cachi, zatímco vlastní zpracovávaná data budou třeba kvůli alokacím ke cachím necitlivá.
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 340×
Přečteno 24 118×
Přečteno 22 941×
Přečteno 21 189×
Přečteno 17 885×