Djot Implementations

April 29, 2026 · View on GitHub

This repository benchmarks the various Djot implementations and generates a report.

Benchmarks

pandoc manual benchmarks

tartan wikipedia benchmarks

Running on 12th Gen Intel(R) Core(TM) i5-12600K at 2026-04-29 17:11:08-04:00

Time to render pandoc-manual.dj (244K) into html:

CommandMean [ms]Min [ms]Max [ms]Relative
C3.7 ± 2.71.911.91.00
Rust6.9 ± 3.63.621.01.88 ± 1.69
Haskell20.4 ± 3.217.038.85.56 ± 4.16
Go61.1 ± 24.725.1111.116.63 ± 13.91
PHP86.5 ± 3.082.192.323.56 ± 17.27
Lua93.0 ± 3.088.5101.725.33 ± 18.56
JavaScript115.4 ± 2.0112.4120.131.43 ± 23.02
Prolog2762.7 ± 34.72734.82846.9752.34 ± 550.84

Time to render tartan-wikipedia.dj (1.3M) into html:

CommandMean [ms]Min [ms]Max [ms]Relative
C15.0 ± 2.311.423.31.00
Rust21.5 ± 1.919.728.61.43 ± 0.25
Haskell123.1 ± 3.3119.7132.68.20 ± 1.28
Go171.0 ± 38.0129.9240.311.38 ± 3.08
JavaScript239.7 ± 4.0234.4246.515.96 ± 2.47
PHP452.8 ± 3.1448.2459.230.15 ± 4.64
Lua652.8 ± 4.6645.8662.343.46 ± 6.69

Tools

cc (GCC) 15.2.1 20260123 (Red Hat 15.2.1-7)
C djot cdjot@9db769e
go version go1.25.9 X:nodwarf5 linux/amd64
Go djot godjot@v1.0.6
The Glorious Glasgow Haskell Compilation System, version 9.8.4
Haskell djot djot 0.1.4
node version v22.22.0
JavaScript djot 0.3.2
Lua 5.4.8
Lua djot 0.2.1
PHP 8.4.20
PHP djot 0.1.26
Scryer Prolog cargo:0.10.0
Prolog djota v0.3.4
rustc 1.95.0 (59807616e 2026-04-14)
jotdown 0.10.0