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 [2016/01/08 00:09] popel |
treex:api-implementation [2016/01/08 14:48] popel |
||
---|---|---|---|
Line 172: | Line 172: | ||
- | ===== Benchmark načítání CoNLL-U | + | ===== Benchmark načítání CoNLL-U |
Načítám cs-ud-train-l.conllu (68 MB, 41k sentences, 0.8 MWords) . | Načítám cs-ud-train-l.conllu (68 MB, 41k sentences, 0.8 MWords) . | ||
| | ||
+ | | ||
| | ||
| | ||
| | ||
+ | | ||
+ | | ||
+ | 12.552s vytváří se uzly ze souboru, ale nedávají se do stromů, jen do pole, toto by mělo odpovídat 5.722s+3.500s | ||
10.917s nedělá se split ani rehang, všechny atributy jsou prázdný řetězec, stromy ale mají uzly | 10.917s nedělá se split ani rehang, všechny atributy jsou prázdný řetězec, stromy ale mají uzly | ||
13.460s korektní načtení, netestují se cykly, nevolá se set_parent (ale zopakuje se jeho kód) | 13.460s korektní načtení, netestují se cykly, nevolá se set_parent (ale zopakuje se jeho kód) | ||
Line 185: | Line 189: | ||
26.666s původní implementace načítání, | 26.666s původní implementace načítání, | ||
19.029s totéž, ale bez převěšování, | 19.029s totéž, ale bez převěšování, | ||
+ | |||
* Původní implementace byla velmi neefektivní, | * Původní implementace byla velmi neefektivní, | ||
* Ušetřil jsem 10s, tedy víc než 7s. Volám přímo '' | * Ušetřil jsem 10s, tedy víc než 7s. Volám přímo '' | ||
* Ještě víc by šlo ušetřit vypuštěním testování cyklů v CoNLL-U závislostech (1s) a optimalizací kódu set_parent bez volání této metody (další 2s). | * Ještě víc by šlo ušetřit vypuštěním testování cyklů v CoNLL-U závislostech (1s) a optimalizací kódu set_parent bez volání této metody (další 2s). | ||
- | * Nyní se nejvíc času stráví samotným vytvářením uzlů (10.917s-0.479s). To musím ještě prozkoumat. | + | * Nyní se nejvíc času stráví samotným vytvářením uzlů (10.917s-0.844s). To musím ještě prozkoumat. |
+ | |||
+ | ===== Benchmark konstruktorů v Perlu ===== | ||
+ | Kolik objektů (uzlů s 9 stringovými atributy) se vytvoří za 1 sekundu: | ||
+ | MooseMut | ||
+ | Moose | ||
+ | Moo | ||
+ | ManualA | ||
+ | ManualH | ||
+ | XSAccHp | ||
+ | XSAccAs | ||
+ | XSAccH | ||
+ | --- následující implementace mají konstruktory, | ||
+ | XSAccAf | ||
+ | ManualAf 333188 Manual array-based object, sub fastnew {my $c=shift; bless [@_], $c;} | ||