Levenshtein, 1k pairs
Edit-distance between 1,000 pre-generated string pairs of length 24–48.
Compile time · median (cold)
Full statistics
| Runner | N | Compile | Runtime | P95 | Stddev | RSS | vs piko | Status |
|---|---|---|---|---|---|---|---|---|
| Native Gocompiled | 10 | 182 ms | 5.29 ms | 5.30 ms | 58.0 µs | 68 MiB | 144× | OK |
| Piko interpbytecode VM | 10 | 1.26 ms | 191 ms | 195 ms | 1.62 ms | 96 MiB | 1.00× | OK |
| CPython 3.13bytecode VM | 10 | 360 µs | 196 ms | 222 ms | 8.65 ms | n/a | 0.28× | OK |
| PyPy 7.3tracing JIT | 10 | 295 µs | 25.3 ms | 26.2 ms | 515 µs | n/a | 0.23× | OK |
| tengobytecode VM | 10 | 259 µs | 542 ms | 589 ms | 26.1 ms | 2.14 GiB | 0.21× | OK |
| scriggobytecode VM | 10 | 391 µs | 361 ms | 724 ms | 116 ms | 78 MiB | 0.31× | OK |
| mvmbytecode VM | 10 | 322 µs | 753 ms | 794 ms | 25.1 ms | 66 MiB | 0.26× | OK |
| yaegiAST walker | 10 | 339 µs | 659 ms | 704 ms | 27.6 ms | 68 MiB | 0.27× | OK |
Workload & symmetry rules
Workload
For each of 1,000 pre-generated pairs, compute classical 2-row Levenshtein distance. Sum the distances and print the total.
Symmetry rules
- 2-row dynamic-programming variant only, with no allocation per pair.
- Hand-rolled
min(a, b, c)(nomath.min). - ASCII strings; no Unicode normalisation step.
Source code
piko / Go
piko_source.gonative Go
native_main.goCPython / PyPy
cpython.pytengo
script.tengo