[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
treex:api-implementation [2015/12/11 13:34]
ufal
treex:api-implementation [2015/12/11 13:35]
ufal
Line 43: Line 43:
  
 Zde je vidět, že Devel::Size::total_size hlásí 96MB, ale ps hlásí 292MB. Zde je vidět, že Devel::Size::total_size hlásí 96MB, ale ps hlásí 292MB.
- 
-==== Identifikátory ==== 
- 
-V dosavadním Treexu byly identifikátory (uzlů) považovány za nevyhnutelnou režii a byly zpracovávány (generovány, indexovány) automaticky. Je otázka, jestli je to opravdu nutné za všech okolností, popř. jestli by to nešlo nějak zjednodušit, když víme, že valná část bloků identifikátory uzlů k ničemu nepotřebuje, navíc drtivá většina referencí je uzavřených uvnitř bundlu. Pokud se podaří sloučit a-stromy a t-stromy, velká část referencí odpadne, zbývající případy budou souviset asi hlavně s alignmentem a koreferencí. 
- 
-Nabízí se znovu zvážit: 
-  - Jakých hodnot mají identifikátory nabývat 
-  - Jak má být realizováno indexování identifikátorů 
- 
-1) Hodnoty identifikátorů 
-- atomické nebo strukturované (hierarchicky složením id dokumentu+bundlu+zóny+uzlu)? 
-- pokud hierarchické, nedal by se přece jenom nějak využít ord? (jasně, pak by se muselo občas přepočítávat, otázka ale je, jak je v reálu vkládání uzlů časté) 
-- v jakém scopu musí být id unikátní? 
- 
-2) Indexování identifikátorů 
-- zanášet do indexu automaticky jako nyní, nebo líně (při prvním využití), nebo ještě nějak jinak? 
-- kde držet index (asi nadále mapu id-uzel)? U dokumentu jako teď, nebo u runneru? 
  
  
Line 136: Line 119:
     * To 3x zpomalení při zápisu by mi nevadilo. Ale to 5x násobné zpomalení při čtení je nepříjemné, protože čtení bývá mnohem častější než zápis.     * To 3x zpomalení při zápisu by mi nevadilo. Ale to 5x násobné zpomalení při čtení je nepříjemné, protože čtení bývá mnohem častější než zápis.
     * 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, že všechny atributy mají kontrolovaný/logovaný zápis, což snad nebude pravda). Odhaduji, že na parsing (plus tagging, nebo načtení z CoNLL-U) jedné věty (20 slov) potřebuji číst tak 1000 krát číst a 100 krát zapsat nějaký atribut, tedy s lvalue ztratím 200 **mikro**sekund. Přitom samotný parsing trvá aspoň několik **mili**sekund.     * 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, že všechny atributy mají kontrolovaný/logovaný zápis, což snad nebude pravda). Odhaduji, že na parsing (plus tagging, nebo načtení z CoNLL-U) jedné věty (20 slov) potřebuji číst tak 1000 krát číst a 100 krát zapsat nějaký atribut, tedy s lvalue ztratím 200 **mikro**sekund. Přitom samotný parsing trvá aspoň několik **mili**sekund.
 +
 +==== Identifikátory ====
 +
 +V dosavadním Treexu byly identifikátory (uzlů) považovány za nevyhnutelnou režii a byly zpracovávány (generovány, indexovány) automaticky. Je otázka, jestli je to opravdu nutné za všech okolností, popř. jestli by to nešlo nějak zjednodušit, když víme, že valná část bloků identifikátory uzlů k ničemu nepotřebuje, navíc drtivá většina referencí je uzavřených uvnitř bundlu. Pokud se podaří sloučit a-stromy a t-stromy, velká část referencí odpadne, zbývající případy budou souviset asi hlavně s alignmentem a koreferencí.
 +
 +Nabízí se znovu zvážit:
 +  - Jakých hodnot mají identifikátory nabývat
 +  - Jak má být realizováno indexování identifikátorů
 +
 +1) Hodnoty identifikátorů
 +- atomické nebo strukturované (hierarchicky složením id dokumentu+bundlu+zóny+uzlu)?
 +- pokud hierarchické, nedal by se přece jenom nějak využít ord? (jasně, pak by se muselo občas přepočítávat, otázka ale je, jak je v reálu vkládání uzlů časté)
 +- v jakém scopu musí být id unikátní?
 +
 +2) Indexování identifikátorů
 +- zanášet do indexu automaticky jako nyní, nebo líně (při prvním využití), nebo ještě nějak jinak?
 +- kde držet index (asi nadále mapu id-uzel)? U dokumentu jako teď, nebo u runneru?
 +
 +
 +

[ Back to the navigation ] [ Back to the content ]