Trie of 50k words
Insert 50k dictionary words into a trie; perform 10k prefix queries.
Runtime · median per inner-loop window
Full statistics
| Runner | N | Compile | Runtime | P95 | Stddev | RSS | vs piko | Status |
|---|---|---|---|---|---|---|---|---|
| Native Gocompiled | 10 | 183 ms | 8.60 ms | 8.78 ms | 72.8 µs | 68 MiB | 0.02× | OK |
| Piko interpbytecode VM | 10 | 1.21 ms | 527 ms | 531 ms | 2.36 ms | 142 MiB | 1.00× | OK |
| CPython 3.13bytecode VM | 10 | 381 µs | 547 ms | 570 ms | 9.25 ms | n/a | 1.04× | OK |
| PyPy 7.3tracing JIT | 10 | 318 µs | 52.9 ms | 54.0 ms | 663 µs | n/a | 0.10× | OK |
| tengobytecode VM | 10 | 270 µs | 1.47 s | 1.52 s | 21.3 ms | 2.22 GiB | 2.79× | OK |
| scriggobytecode VM | 0 | n/a | n/a | n/a | n/a | n/a | n/a | unsupported |
| mvmbytecode VM | 10 | 406 µs | 1.28 s | 1.31 s | 11.2 ms | 67 MiB | 2.43× | OK |
| yaegiAST walker | 10 | 470 µs | 1.33 s | 1.44 s | 61.0 ms | 66 MiB | 2.51× | OK |
Workload & symmetry rules
Workload
Build a 26-way trie from 50,000 lowercase ASCII words. Run 10,000 random prefix-existence queries. Print the count of hits.
Symmetry rules
- Trie nodes carry a fixed 26-slot child array (no map).
- Manual recursion or explicit stack.
Source code
piko / Go
piko_source.gonative Go
native_main.goCPython / PyPy
cpython.pytengo
script.tengo