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

Markov text generation

Train a bigram Markov model on a 1 MiB corpus and emit 10,000 words.

Runtime · median per inner-loop window

median of 7 runs

Native Gocompiled
5.35 ms0.23×
Pipitbytecode VM
23.0 msbaseline
CPython 3.14bytecode VM
27.5 ms1.19×
PyPy 7.3tracing JIT
11.3 ms0.49×
Ttengobytecode VM
51.2 ms2.23×
Sscriggobytecode VM
50.5 ms2.19×
Mmvmbytecode VM
57.5 ms2.50×
YyaegiAST walker
43.0 ms1.87×

Full statistics

RunnerNCompileRuntimeP95StddevRSSvs pipitStatus
Native Gocompiled7107 ms5.35 ms5.98 ms444 µs1.62 GiB0.23×OK
Pipitbytecode VM71.37 ms23.0 ms24.8 ms655 µs591 MiB1.00×OK
CPython 3.14bytecode VM7443 µs27.5 ms28.0 ms264 µsn/a1.19×OK
PyPy 7.3tracing JIT7335 µs11.3 ms12.2 ms641 µsn/a0.49×OK
tengobytecode VM7232 µs51.2 ms70.8 ms6.97 ms1.69 GiB2.23×OK
scriggobytecode VM7411 µs50.5 ms51.4 ms401 µs1.69 GiB2.19×OK
mvmbytecode VM7386 µs57.5 ms58.1 ms256 µs1.69 GiB2.50×OK
yaegiAST walker7375 µs43.0 ms61.0 ms8.06 ms1.69 GiB1.87×OK
Workload & symmetry rules

Workload

Build a bigram model from a 1 MiB lorem corpus. Sample 10,000 tokens from a deterministic LCG-seeded RNG. Print a fingerprint of the output.

Symmetry rules

  • Hand-rolled LCG (no random C module, no math/rand).
  • Hash map of (prev → counts) built from a byte-loop tokeniser.
Source code