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 pipit | Status |
|---|---|---|---|---|---|---|---|---|
| Native Gocompiled | 7 | 109 ms | 5.29 ms | 5.29 ms | 69.3 µs | 197 MiB | 92.6× | OK |
| Pipitbytecode VM | 7 | 1.18 ms | 74.9 ms | 76.2 ms | 972 µs | 114 MiB | 1.00× | OK |
| CPython 3.14bytecode VM | 7 | 439 µs | 174 ms | 176 ms | 1.32 ms | n/a | 0.37× | OK |
| PyPy 7.3tracing JIT | 7 | 326 µs | 30.2 ms | 33.2 ms | 1.18 ms | n/a | 0.28× | OK |
| tengobytecode VM | 7 | 257 µs | 622 ms | 628 ms | 25.9 ms | 191 MiB | 0.22× | OK |
| scriggobytecode VM | 7 | 400 µs | 318 ms | 343 ms | 13.0 ms | 191 MiB | 0.34× | OK |
| mvmbytecode VM | 7 | 360 µs | 474 ms | 497 ms | 11.6 ms | 191 MiB | 0.31× | OK |
| yaegiAST walker | 7 | 364 µs | 694 ms | 740 ms | 29.5 ms | 191 MiB | 0.31× | 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
pipit / Go
pipit_source.gonative Go
native_main.goCPython / PyPy
cpython.pytengo
script.tengo