Odpovídáte na názor ke článku JSON pro C++11 s immutabilním DOMem..
Atomické operace nejsou rozhodně zadarmo. Navíc lokální alokátor není pouze o rychlosti alokace, ale je hlavně o lokálnosti. Pokud vytvářím JSON dokument, a můj jediný cíl je ten dokument serializovat do stringu, tak to nejlepší co můžu udělat je vytvořit lokální alokátor, který bude vracet adresy blízko sebe. Při takovém návrhu se minimalizuje cache miss, který může stát stovky cyklů. Navíc takový dokument můžu uvolnit třeba jedním zavoláním free() (nebo žádným, pokud si vystačím se zásobníkem), a nemusím se starat o uvolňování interních struktur, které jsou všechny alokované z jednoho většího bloku. Takto to dělá např. V8 engine. V podstatě každá high-performance knihovna si řeší alokaci po svém, protože to co nabízí C/C++ jsou generické alokátory.
Jinak netvrdím, že ta knihovna je špatná, jen tvrdím, že není navržena s ohledem na výkon.
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 57 989×
Přečteno 27 864×
Přečteno 26 524×
Přečteno 24 426×
Přečteno 22 918×