Host
Intel Core Ultra 9 285K · 24 cores
Platform
linux/amd64
Go
go1.26.0
CPython
python:3.13-slim
PyPy
pypy:3.10-slim
Runs / combo
10 + 2 warmup

Levenshtein, 1k pairs

Edit-distance between 1,000 pre-generated string pairs of length 24–48.

Runtime · median per inner-loop window

median of 10 runs

Native Gocompiled
5.29 ms0.03×
Piko interpbytecode VM
191 msbaseline
CPython 3.13bytecode VM
196 ms1.03×
PyPy 7.3tracing JIT
25.3 ms0.13×
Ttengobytecode VM
542 ms2.84×
Sscriggobytecode VM
361 ms1.89×
Mmvmbytecode VM
753 ms3.95×
YyaegiAST walker
659 ms3.45×

Full statistics

RunnerNCompileRuntimeP95StddevRSSvs pikoStatus
Native Gocompiled10182 ms5.29 ms5.30 ms58.0 µs68 MiB0.03×OK
Piko interpbytecode VM101.26 ms191 ms195 ms1.62 ms96 MiB1.00×OK
CPython 3.13bytecode VM10360 µs196 ms222 ms8.65 msn/a1.03×OK
PyPy 7.3tracing JIT10295 µs25.3 ms26.2 ms515 µsn/a0.13×OK
tengobytecode VM10259 µs542 ms589 ms26.1 ms2.14 GiB2.84×OK
scriggobytecode VM10391 µs361 ms724 ms116 ms78 MiB1.89×OK
mvmbytecode VM10322 µs753 ms794 ms25.1 ms66 MiB3.95×OK
yaegiAST walker10339 µs659 ms704 ms27.6 ms68 MiB3.45×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) (no math.min).
  • ASCII strings; no Unicode normalisation step.
Source code