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 50 233×
Přečteno 23 535×
Přečteno 22 525×
Přečteno 20 434×
Přečteno 17 495×