Host
Intel Core Ultra 9 285K · 24 cores
Platform
linux/amd64
Go
go1.27.0
CPython
python:3.14-slim
PyPy
pypy:3.11-slim
Runs / combo
7 + 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 7 runs

Native Gocompiled
109 ms48.9×
Pipitbytecode VM
2.22 msbaseline
CPython 3.14bytecode VM
655 µs0.30×
PyPy 7.3tracing JIT
497 µs0.22×
Ttengobytecode VM
331 µs0.15×
Sscriggobytecode VM
742 µs0.33×
Mmvmbytecode VM
604 µs0.27×
YyaegiAST walker
565 µs0.25×

Full statistics

RunnerNCompileRuntimeP95StddevRSSvs pipitStatus
Native Gocompiled7109 ms5.11 ms5.27 ms91.6 µs1.62 GiB48.9×OK
Pipitbytecode VM72.22 ms65.1 ms67.4 ms809 µs591 MiB1.00×OK
CPython 3.14bytecode VM7655 µs84.4 ms87.9 ms1.75 msn/a0.30×OK
PyPy 7.3tracing JIT7497 µs42.3 ms43.3 ms883 µsn/a0.22×OK
tengobytecode VM7331 µs125 ms150 ms9.07 ms1.68 GiB0.15×OK
scriggobytecode VM7742 µs150 ms174 ms12.2 ms1.68 GiB0.33×OK
mvmbytecode VM7604 µs177 ms178 ms826 µs1.68 GiB0.27×OK
yaegiAST walker7565 µs228 ms275 ms20.7 ms1.68 GiB0.25×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