Ono smyslem nebyl dosahovat maximální výkon, i když tedy samozřejmě o výkon jde také. Nicméně není cílem vést žebříčky výkonu. Spíš bylo cílem immutabilita a nástroje pro práci s immutabilními objekty.
Samotný výkon parsování a serializace a manipulace s DOMem nemusí být oslnivá, nicméně hodně se projeví třeba možnost sdílet data mezi vlákny bez zamykání, nebo zřízení cache kde už mám data naparsovaná, atd. To by chtělo najít nějaký příklad, který by se implementoval jedním nebo druhým způsobem.
Celý návrh vychází zejména ze zkušeností, jak pracuji s dokumentovou NoSQL databází. Zpravidla stáhnu dokument, něco v něm změním a zase ho uložím nebo pošlu uživateli, přičemž ono "stažení dokumentu" může být vyřízeno právě z cache. Bez immutability by ono "něco změním" mohlo buď způsobit propagace změn do cache, nebo budu muset stejně dělat hluboké kopie. Při zaručení immutability nemusí kopírovat vše, nový DOM vlastně vzniká za maximálního přispění starého, a kopírování se omezuje jen na přesun sdílěných pointerů.
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 630×
Přečteno 23 688×
Přečteno 22 738×
Přečteno 20 718×
Přečteno 17 626×