Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
treex:api-implementation [2015/12/11 12:29] popel |
treex:api-implementation [2015/12/11 12:51] popel |
||
---|---|---|---|
Line 45: | Line 45: | ||
==== Benchmark Perlích accessorů ==== | ==== Benchmark Perlích accessorů ==== | ||
- | Zápis | + | Nejdřív jsem porovnal různé implementace a měřil kolikrát za sekundu se provede zápis |
LV V::Magic H 64 759/s | LV V::Magic H 64 759/s | ||
LV V::Magic A 74 649/s | LV V::Magic A 74 649/s | ||
Line 64: | Line 64: | ||
array 5 386 997/s | array 5 386 997/s | ||
+ | Pak jsem vybral několik implementací a porovnával zápis a čtení zvlášť | ||
Zápis atributu | Zápis atributu | ||
H-lv-check-sentinel | H-lv-check-sentinel | ||
Line 101: | Line 102: | ||
Co z toho plyne? | Co z toho plyne? | ||
- | * Všechny čtení i zápisy | + | * Všechny čtení i zápisy jsou zřejmě " |
* Pole jsou jen o málo rychlejší než hashe. Možná by se rozdíl zvětšil, kdybych měl v objektu více atributů než jeden, ale víc než 16 jich asi mít nechceme ('' | * Pole jsou jen o málo rychlejší než hashe. Možná by se rozdíl zvětšil, kdybych měl v objektu více atributů než jeden, ale víc než 16 jich asi mít nechceme ('' | ||
* Čtení je podobně rychlé jako zápis atributu obdobnou metodou. | * Čtení je podobně rychlé jako zápis atributu obdobnou metodou. | ||
Line 116: | Line 117: | ||
* Přidáním kontroly/ | * Přidáním kontroly/ | ||
* To 3x zpomalení při zápisu by mi nevadilo. Ale to 5x násobné zpomalení při čtení je nepříjemné, | * To 3x zpomalení při zápisu by mi nevadilo. Ale to 5x násobné zpomalení při čtení je nepříjemné, | ||
+ | * Na druhou stranu je otázka, zda se podaří zrychlit zbytek Treexu natolik, aby se projevil rozdíl v řádu 200 **nano**sekund na čtení jednoho atributu (pesimisticky předpokládejme, |