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

Dijkstra shortest paths

Shortest paths from one source over a 10k-node sparse graph using a binary heap.

Compile time · median (cold)

median of 10 runs

Native Gocompiled
182 ms90.6×
Piko interpbytecode VM
2.01 msbaseline
CPython 3.13bytecode VM
529 µs0.26×
PyPy 7.3tracing JIT
437 µs0.22×
Ttengobytecode VM
393 µs0.20×
Sscriggobytecode VM
643 µs0.32×
Mmvmbytecode VM
n/a
YyaegiAST walker
682 µs0.34×

Full statistics

RunnerNCompileRuntimeP95StddevRSSvs pikoStatus
Native Gocompiled10182 ms4.40 ms4.57 ms72.3 µs69 MiB90.6×OK
Piko interpbytecode VM102.01 ms112 ms115 ms1.00 ms193 MiB1.00×OK
CPython 3.13bytecode VM10529 µs89.8 ms91.4 ms1.56 msn/a0.26×OK
PyPy 7.3tracing JIT10437 µs37.4 ms39.6 ms719 µsn/a0.22×OK
tengobytecode VM10393 µs160 ms162 ms2.28 ms1.03 GiB0.20×OK
scriggobytecode VM10643 µs147 ms166 ms7.09 ms431 MiB0.32×OK
mvmbytecode VM0n/an/an/an/an/an/aunsupported
yaegiAST walker10682 µs292 ms368 ms28.9 ms74 MiB0.34×OK
Workload & symmetry rules

Workload

A 10,000-node directed graph with ~5 edges per node and integer weights 1..100. Dijkstra from node 0. Print the sum of all reachable distances.

Symmetry rules

  • Hand-rolled binary heap (no heapq.heappush, no container/heap).
  • Adjacency stored as parallel slices / lists.
Source code