Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
treex:api-implementation [2016/01/08 18:28] popel |
treex:api-implementation [2016/01/08 19:27] popel |
||
---|---|---|---|
Line 172: | Line 172: | ||
- | ===== Benchmark | + | ===== Profiling |
Načítám cs-ud-train-l.conllu (68 MB, 41k sentences, 0.8 MWords). Časy v sekundách. Excl(usive) časy se sčítají, krom těch označených " | Načítám cs-ud-train-l.conllu (68 MB, 41k sentences, 0.8 MWords). Časy v sekundách. Excl(usive) časy se sčítají, krom těch označených " | ||
Line 180: | Line 180: | ||
| 0.7 | 1.5 | '' | | 0.7 | 1.5 | '' | ||
| 4.3 | 5.8 | '' | | 4.3 | 5.8 | '' | ||
- | |x3.9 | | '' | + | |x3.9 | | '' |
| 4.5 |10.3 | '' | | 4.5 |10.3 | '' | ||
|x0.4 |10.7 | '' | |x0.4 |10.7 | '' | ||
Line 190: | Line 190: | ||
- | * 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 '' | + | * Vypuštěním testování cyklů v CoNLL-U závislostech se ušetří necelá sekunda, což za to asi nestojí. |
- | * 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 | + | * Optimalizací kódu set_parent bez volání této metody se jakoby ušetří 2.5s. |
- | * Nyní se nejvíc času stráví samotným vytvářením uzlů (10.917s-0.844s). To musím ještě prozkoumat. | + | * Poměrně dost času (4.3s) zabere vytváření 9 proměnných |
+ | * Když jsem všechny uzly ukládal do pole, tak odalokování pole (s 0.8M uzlů) trvalo cca 1s. To jsem do profilingu nezahrnul, ale benchmark jsem musel ručně spouštět víckrát. | ||
===== Benchmark konstruktorů v Perlu ===== | ===== Benchmark konstruktorů v Perlu ===== | ||
Line 208: | Line 209: | ||
XSAccAf | XSAccAf | ||
ManualAf 333188 Manual array-based object, sub fastnew {my $c=shift; bless [@_], $c;} | ManualAf 333188 Manual array-based object, sub fastnew {my $c=shift; bless [@_], $c;} | ||
- | |||