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

Sudoku solver, 100 boards

Backtracking solver across 100 medium-difficulty boards. End-to-end favours piko; inner-loop flips the verdict.

Runtime · median per inner-loop window

median of 10 runs

Native Gocompiled
1.07 ms0.05×
Piko interpbytecode VM
20.9 msbaseline
CPython 3.13bytecode VM
26.5 ms1.27×
PyPy 7.3tracing JIT
21.4 ms1.02×
Ttengobytecode VM
60.6 ms2.89×
Sscriggobytecode VM
n/a
Mmvmbytecode VM
50.7 ms2.42×
YyaegiAST walker
138 ms6.60×

Full statistics

RunnerNCompileRuntimeP95StddevRSSvs pikoStatus
Native Gocompiled10184 ms1.07 ms1.09 ms6.82 µs69 MiB0.05×OK
Piko interpbytecode VM101.46 ms20.9 ms21.1 ms142 µs97 MiB1.00×OK
CPython 3.13bytecode VM10418 µs26.5 ms27.1 ms398 µsn/a1.27×OK
PyPy 7.3tracing JIT10358 µs21.4 ms21.6 ms212 µsn/a1.02×OK
tengobytecode VM10294 µs60.6 ms69.1 ms2.71 ms340 MiB2.89×OK
scriggobytecode VM0n/an/an/an/an/an/aunsupported
mvmbytecode VM10338 µs50.7 ms76.2 ms9.35 ms62 MiB2.42×OK
yaegiAST walker10616 µs138 ms156 ms13.6 ms66 MiB6.60×OK
Workload & symmetry rules

Workload

Solve 100 9×9 sudoku boards via classical backtracking with most-constrained-cell selection. Print a 32-bit fingerprint of the concatenated solutions.

Symmetry rules

  • Pure backtracking: no SAT solver, no constraint propagation library.
  • Boards stored as flat 81-element arrays.

Why end-to-end and inner-loop disagree

End-to-end includes interpreter startup. Inner-loop amortises it. On this workload, piko's startup is fast enough to win the e2e race despite slower hot-path code; once startup is amortised, PyPy's JIT pulls ahead.

Source code