Word frequency
Tokenise a 1 MiB ASCII corpus and count word occurrences into a hash map.
Compile time · median (cold)
Full statistics
| Runner | N | Compile | Runtime | P95 | Stddev | RSS | vs pipit | Status |
|---|---|---|---|---|---|---|---|---|
| Native Gocompiled | 7 | 108 ms | 19.1 ms | 19.4 ms | 200 µs | 125 MiB | 61.2× | OK |
| Pipitbytecode VM | 7 | 1.76 ms | 131 ms | 173 ms | 15.6 ms | 98 MiB | 1.00× | OK |
| CPython 3.14bytecode VM | 7 | 565 µs | 289 ms | 299 ms | 3.66 ms | n/a | 0.32× | OK |
| PyPy 7.3tracing JIT | 7 | 412 µs | 50.7 ms | 54.1 ms | 3.36 ms | n/a | 0.23× | OK |
| tengobytecode VM | 7 | 429 µs | 930 ms | 986 ms | 27.9 ms | 190 MiB | 0.24× | OK |
| scriggobytecode VM | 7 | 735 µs | 444 ms | 475 ms | 18.8 ms | 109 MiB | 0.42× | OK |
| mvmbytecode VM | 7 | 555 µs | 631 ms | 665 ms | 19.2 ms | 191 MiB | 0.31× | OK |
| yaegiAST walker | 7 | 516 µs | 442 ms | 492 ms | 20.7 ms | 109 MiB | 0.29× | OK |
Workload & symmetry rules
Workload
Read a 1 MiB lorem corpus. Tokenise on whitespace + ASCII punctuation. Count occurrences in a map. Print the top-10 by frequency.
Symmetry rules
- Tokenisation by hand-rolled byte loop (no
str.splitC path, noregex). - Counting via the language's built-in map / dict.
- Top-10 via a simple sort, no
heapq.
Source code
pipit / Go
pipit_source.gonative Go
native_main.goCPython / PyPy
cpython.pytengo
script.tengo