Dashboard
Tickets
Resolved
Benchmarks
Tests
FPC conformance
Benchmarks
All figures on x86-64 (amd64) .
Latest data measured on plexus at 9d163c9634e6,
2026-08-08.
Host Hardware Runs
borg
Intel Core i7-6700 @ 3.4 GHz (turbo 4.0), 4C/8T Skylake, 16 GB DDR4-2133
reference
plexus (current)
not recorded
normalised ×1.000
xeon
Intel Xeon E5-2620 v2 @ 2.1 GHz (turbo 2.6), 6C/12T Ivy Bridge-EP, 64 GB DDR3-1333 ECC
normalised ×1.453
Current runtime
Latest measured runtime per workload from the Track T bench
log (tstate/bench.tsv), by optimization level. These are raw milliseconds as
measured on plexus — unlike the charts below, which
normalise across hosts, this table reports what the clock actually said.
Lower is better;
vs FPC = FPC time / best pxx time, above 1 means pxx is faster.
compile hello ×20 is a compile benchmark (time to compile
hello.pas 20 times), not a run of the program.
Note: floating-point codegen is not optimized
yet — float expression temporaries still round-trip through the stack instead of
staying in XMM registers, so the float-heavy workloads (mandelbrot, raytracer,
nbody) run several times behind FPC. Tracked in
feature-opt-float-register-temporaries .
Workload
-O0 -O2 -O3 cpython cpython-O fpc pxx
vs FPC
fib
378.0 ms
227.9 ms
144.5 ms
—
—
165.0 ms
—
1.14×
mandelbrot-p
1852.6 ms
1861.9 ms
980.9 ms
—
—
472.2 ms
—
0.48×
nbody
924.0 ms
833.3 ms
533.8 ms
—
—
121.4 ms
—
0.23×
raytracer-p
439.2 ms
413.0 ms
351.8 ms
—
—
42.5 ms
—
0.12×
selfcompile
14044.6 ms
11133.3 ms
10986.8 ms
—
—
6094.8 ms
—
0.55×
sieve
116.4 ms
110.4 ms
105.6 ms
—
—
53.7 ms
—
0.51×
uforth-core
—
—
—
730.1 ms
827.4 ms
—
1930.4 ms
—
uforth-microbench-doloop
—
—
—
5714.2 ms
5948.9 ms
—
15437.9 ms
—
uforth-prelim
—
—
—
307.9 ms
504.9 ms
—
772.1 ms
—
compile hello ×20
—
59.5 ms
—
—
—
895.1 ms
—
15.04×
Runtime over time
Compiled-workload runtime per commit from the Track T bench
log (tstate/bench.tsv), last data 2026-08-08.
Line = measured run; shaded band = rolling mean ± σ (window 10). Lower is
better.
Normalised across hosts. Times are scaled to
borg-equivalent milliseconds, because the
benchmark host changed and a raw series would show the machine swap as a
performance cliff. Each host is drawn as its own segment — the break in a line
is a host change, never a missing run — and runs from a machine that is no
longer the benchmark host are dimmed.
The scale factor is derived from the overlap in behaviour
either side of the handover, not from a calibration run: no commit was ever
measured on both machines. It leaves roughly -7% / +13% of
residual error, so treat a small step at a segment boundary as unproven, and
read across a boundary for trends rather than for a few percent.
fib (ms)
-O0
-O2
-O3
fpc
0.0 126 252 378 504 2026-07-11 2026-08-08 fib -O0 on borg — 264.4 ms fib -O0 on borg — 264.1 ms fib -O0 on borg — 314.5 ms fib -O0 on borg — 314.5 ms fib -O0 on borg — 264.3 ms fib -O0 on borg — 264.3 ms fib -O0 on borg — 314.8 ms fib -O0 on borg — 265.6 ms fib -O0 on borg — 264.4 ms fib -O0 on borg — 265.5 ms fib -O0 on borg — 264.4 ms fib -O0 on borg — 264.3 ms fib -O0 on borg — 264.3 ms fib -O0 on xeon — 285.5 ms (normalised) fib -O0 on xeon — 258.4 ms (normalised) fib -O0 on xeon — 259.3 ms (normalised) fib -O0 on plexus — 374.5 ms fib -O0 on plexus — 371.8 ms fib -O0 on plexus — 398.5 ms fib -O0 on plexus — 373.8 ms fib -O0 on plexus — 380.1 ms fib -O0 on plexus — 378.0 ms fib -O2 on borg — 164.2 ms fib -O2 on borg — 214.1 ms fib -O2 on borg — 214.2 ms fib -O2 on borg — 214.1 ms fib -O2 on borg — 164.1 ms fib -O2 on borg — 164.7 ms fib -O2 on borg — 214.2 ms fib -O2 on borg — 164.1 ms fib -O2 on borg — 164.1 ms fib -O2 on borg — 164.1 ms fib -O2 on borg — 164.2 ms fib -O2 on borg — 164.1 ms fib -O2 on borg — 164.2 ms fib -O2 on xeon — 182.0 ms (normalised) fib -O2 on xeon — 154.4 ms (normalised) fib -O2 on xeon — 155.2 ms (normalised) fib -O2 on plexus — 224.5 ms fib -O2 on plexus — 227.6 ms fib -O2 on plexus — 237.1 ms fib -O2 on plexus — 226.4 ms fib -O2 on plexus — 224.1 ms fib -O2 on plexus — 227.9 ms fib -O3 on borg — 164.2 ms fib -O3 on borg — 164.1 ms fib -O3 on borg — 214.3 ms fib -O3 on borg — 214.1 ms fib -O3 on borg — 164.2 ms fib -O3 on borg — 114.1 ms fib -O3 on borg — 170.3 ms fib -O3 on borg — 115.4 ms fib -O3 on borg — 114.6 ms fib -O3 on borg — 114.0 ms fib -O3 on borg — 114.0 ms fib -O3 on borg — 113.9 ms fib -O3 on borg — 114.2 ms fib -O3 on xeon — 113.1 ms (normalised) fib -O3 on xeon — 98.3 ms (normalised) fib -O3 on xeon — 97.2 ms (normalised) fib -O3 on plexus — 143.0 ms fib -O3 on plexus — 139.7 ms fib -O3 on plexus — 148.3 ms fib -O3 on plexus — 139.2 ms fib -O3 on plexus — 141.6 ms fib -O3 on plexus — 144.5 ms fib fpc on borg — 114.0 ms fib fpc on borg — 113.9 ms fib fpc on borg — 164.1 ms fib fpc on borg — 164.1 ms fib fpc on borg — 114.0 ms fib fpc on borg — 114.0 ms fib fpc on borg — 114.2 ms fib fpc on borg — 114.0 ms fib fpc on borg — 114.0 ms fib fpc on borg — 114.0 ms fib fpc on borg — 114.0 ms fib fpc on borg — 114.1 ms fib fpc on borg — 114.1 ms fib fpc on xeon — 147.6 ms (normalised) fib fpc on xeon — 112.4 ms (normalised) fib fpc on xeon — 115.8 ms (normalised) fib fpc on plexus — 162.5 ms fib fpc on plexus — 167.1 ms fib fpc on plexus — 172.9 ms fib fpc on plexus — 162.3 ms fib fpc on plexus — 164.2 ms fib fpc on plexus — 165.0 ms -O0 378 -O2 227 fpc 165 -O3 144
mandelbrot-p (ms)
-O0
-O2
-O3
fpc
0.0 613 1226 1839 2452 2026-07-14 2026-08-08 mandelbrot-p -O0 on borg — 1366.8 ms mandelbrot-p -O0 on borg — 1366.9 ms mandelbrot-p -O0 on borg — 1667.2 ms mandelbrot-p -O0 on borg — 1366.8 ms mandelbrot-p -O0 on borg — 1316.7 ms mandelbrot-p -O0 on borg — 1828.4 ms mandelbrot-p -O0 on borg — 1366.5 ms mandelbrot-p -O0 on borg — 1467.1 ms mandelbrot-p -O0 on borg — 1316.8 ms mandelbrot-p -O0 on borg — 1316.8 ms mandelbrot-p -O0 on borg — 1516.3 ms mandelbrot-p -O0 on borg — 1366.2 ms mandelbrot-p -O0 on xeon — 1285.2 ms (normalised) mandelbrot-p -O0 on xeon — 1279.7 ms (normalised) mandelbrot-p -O0 on xeon — 1278.7 ms (normalised) mandelbrot-p -O0 on plexus — 1825.9 ms mandelbrot-p -O0 on plexus — 1847.5 ms mandelbrot-p -O0 on plexus — 1982.6 ms mandelbrot-p -O0 on plexus — 1834.6 ms mandelbrot-p -O0 on plexus — 1863.6 ms mandelbrot-p -O0 on plexus — 1852.6 ms mandelbrot-p -O2 on borg — 1366.7 ms mandelbrot-p -O2 on borg — 1367.0 ms mandelbrot-p -O2 on borg — 1618.7 ms mandelbrot-p -O2 on borg — 1366.7 ms mandelbrot-p -O2 on borg — 1265.8 ms mandelbrot-p -O2 on borg — 1722.4 ms mandelbrot-p -O2 on borg — 1366.8 ms mandelbrot-p -O2 on borg — 1366.6 ms mandelbrot-p -O2 on borg — 1315.9 ms mandelbrot-p -O2 on borg — 1316.4 ms mandelbrot-p -O2 on borg — 1416.7 ms mandelbrot-p -O2 on borg — 1366.8 ms mandelbrot-p -O2 on xeon — 1319.7 ms (normalised) mandelbrot-p -O2 on xeon — 1290.1 ms (normalised) mandelbrot-p -O2 on xeon — 1280.0 ms (normalised) mandelbrot-p -O2 on plexus — 1836.0 ms mandelbrot-p -O2 on plexus — 1851.6 ms mandelbrot-p -O2 on plexus — 1994.4 ms mandelbrot-p -O2 on plexus — 1843.5 ms mandelbrot-p -O2 on plexus — 1865.2 ms mandelbrot-p -O2 on plexus — 1861.9 ms mandelbrot-p -O3 on borg — 1165.8 ms mandelbrot-p -O3 on borg — 1116.4 ms mandelbrot-p -O3 on borg — 1366.2 ms mandelbrot-p -O3 on borg — 1166.4 ms mandelbrot-p -O3 on borg — 615.1 ms mandelbrot-p -O3 on borg — 715.7 ms mandelbrot-p -O3 on borg — 615.1 ms mandelbrot-p -O3 on borg — 665.4 ms mandelbrot-p -O3 on borg — 665.1 ms mandelbrot-p -O3 on borg — 615.1 ms mandelbrot-p -O3 on borg — 665.0 ms mandelbrot-p -O3 on borg — 665.4 ms mandelbrot-p -O3 on xeon — 699.3 ms (normalised) mandelbrot-p -O3 on xeon — 675.4 ms (normalised) mandelbrot-p -O3 on xeon — 675.5 ms (normalised) mandelbrot-p -O3 on plexus — 966.3 ms mandelbrot-p -O3 on plexus — 983.6 ms mandelbrot-p -O3 on plexus — 1052.0 ms mandelbrot-p -O3 on plexus — 969.5 ms mandelbrot-p -O3 on plexus — 979.3 ms mandelbrot-p -O3 on plexus — 980.9 ms mandelbrot-p fpc on borg — 364.4 ms mandelbrot-p fpc on borg — 364.6 ms mandelbrot-p fpc on borg — 515.1 ms mandelbrot-p fpc on borg — 414.8 ms mandelbrot-p fpc on borg — 314.5 ms mandelbrot-p fpc on borg — 364.5 ms mandelbrot-p fpc on borg — 364.4 ms mandelbrot-p fpc on borg — 414.8 ms mandelbrot-p fpc on borg — 314.6 ms mandelbrot-p fpc on borg — 314.5 ms mandelbrot-p fpc on borg — 364.5 ms mandelbrot-p fpc on borg — 364.4 ms mandelbrot-p fpc on xeon — 354.4 ms (normalised) mandelbrot-p fpc on xeon — 325.2 ms (normalised) mandelbrot-p fpc on xeon — 327.9 ms (normalised) mandelbrot-p fpc on plexus — 468.8 ms mandelbrot-p fpc on plexus — 471.5 ms mandelbrot-p fpc on plexus — 497.7 ms mandelbrot-p fpc on plexus — 472.0 ms mandelbrot-p fpc on plexus — 474.8 ms mandelbrot-p fpc on plexus — 472.2 ms -O2 1861 -O0 1852 -O3 980 fpc 472
nbody (ms)
-O0
-O2
-O3
fpc
0.0 317 634 952 1269 2026-07-11 2026-08-08 nbody -O0 on borg — 615.0 ms nbody -O0 on borg — 664.8 ms nbody -O0 on borg — 665.0 ms nbody -O0 on borg — 765.4 ms nbody -O0 on borg — 615.0 ms nbody -O0 on borg — 615.3 ms nbody -O0 on borg — 765.3 ms nbody -O0 on borg — 615.2 ms nbody -O0 on borg — 665.3 ms nbody -O0 on borg — 615.2 ms nbody -O0 on borg — 615.2 ms nbody -O0 on borg — 615.2 ms nbody -O0 on borg — 715.1 ms nbody -O0 on xeon — 664.9 ms (normalised) nbody -O0 on xeon — 634.4 ms (normalised) nbody -O0 on xeon — 634.6 ms (normalised) nbody -O0 on plexus — 909.0 ms nbody -O0 on plexus — 917.9 ms nbody -O0 on plexus — 975.7 ms nbody -O0 on plexus — 915.0 ms nbody -O0 on plexus — 918.0 ms nbody -O0 on plexus — 924.0 ms nbody -O2 on borg — 564.9 ms nbody -O2 on borg — 614.8 ms nbody -O2 on borg — 615.0 ms nbody -O2 on borg — 665.2 ms nbody -O2 on borg — 565.0 ms nbody -O2 on borg — 564.8 ms nbody -O2 on borg — 616.1 ms nbody -O2 on borg — 565.1 ms nbody -O2 on borg — 615.1 ms nbody -O2 on borg — 564.9 ms nbody -O2 on borg — 565.0 ms nbody -O2 on borg — 565.0 ms nbody -O2 on borg — 614.9 ms nbody -O2 on xeon — 595.9 ms (normalised) nbody -O2 on xeon — 569.8 ms (normalised) nbody -O2 on xeon — 571.5 ms (normalised) nbody -O2 on plexus — 817.4 ms nbody -O2 on plexus — 820.5 ms nbody -O2 on plexus — 882.6 ms nbody -O2 on plexus — 823.6 ms nbody -O2 on plexus — 833.4 ms nbody -O2 on plexus — 833.3 ms nbody -O3 on borg — 514.9 ms nbody -O3 on borg — 564.6 ms nbody -O3 on borg — 564.7 ms nbody -O3 on borg — 665.1 ms nbody -O3 on borg — 514.9 ms nbody -O3 on borg — 314.5 ms nbody -O3 on borg — 414.6 ms nbody -O3 on borg — 365.9 ms nbody -O3 on borg — 364.5 ms nbody -O3 on borg — 314.7 ms nbody -O3 on borg — 364.4 ms nbody -O3 on borg — 314.6 ms nbody -O3 on borg — 364.5 ms nbody -O3 on xeon — 389.0 ms (normalised) nbody -O3 on xeon — 367.8 ms (normalised) nbody -O3 on xeon — 368.3 ms (normalised) nbody -O3 on plexus — 531.9 ms nbody -O3 on plexus — 530.5 ms nbody -O3 on plexus — 567.3 ms nbody -O3 on plexus — 534.0 ms nbody -O3 on plexus — 534.2 ms nbody -O3 on plexus — 533.8 ms nbody fpc on borg — 64.0 ms nbody fpc on borg — 113.9 ms nbody fpc on borg — 114.0 ms nbody fpc on borg — 114.1 ms nbody fpc on borg — 64.0 ms nbody fpc on borg — 63.9 ms nbody fpc on borg — 114.0 ms nbody fpc on borg — 63.9 ms nbody fpc on borg — 114.0 ms nbody fpc on borg — 63.9 ms nbody fpc on borg — 63.9 ms nbody fpc on borg — 63.9 ms nbody fpc on borg — 64.0 ms nbody fpc on xeon — 113.0 ms (normalised) nbody fpc on xeon — 83.1 ms (normalised) nbody fpc on xeon — 83.8 ms (normalised) nbody fpc on plexus — 119.4 ms nbody fpc on plexus — 120.7 ms nbody fpc on plexus — 128.0 ms nbody fpc on plexus — 125.3 ms nbody fpc on plexus — 122.3 ms nbody fpc on plexus — 121.4 ms -O0 924 -O2 833 -O3 533 fpc 121
raytracer-p (ms)
-O0
-O2
-O3
fpc
0.0 166 332 499 665 2026-07-15 2026-08-08 raytracer-p -O0 on borg — 364.5 ms raytracer-p -O0 on borg — 464.8 ms raytracer-p -O0 on borg — 365.0 ms raytracer-p -O0 on borg — 314.6 ms raytracer-p -O0 on borg — 365.6 ms raytracer-p -O0 on borg — 364.5 ms raytracer-p -O0 on borg — 364.6 ms raytracer-p -O0 on borg — 314.5 ms raytracer-p -O0 on borg — 314.6 ms raytracer-p -O0 on borg — 364.5 ms raytracer-p -O0 on borg — 364.6 ms raytracer-p -O0 on xeon — 320.1 ms (normalised) raytracer-p -O0 on xeon — 299.4 ms (normalised) raytracer-p -O0 on xeon — 299.2 ms (normalised) raytracer-p -O0 on plexus — 432.2 ms raytracer-p -O0 on plexus — 434.4 ms raytracer-p -O0 on plexus — 460.6 ms raytracer-p -O0 on plexus — 431.2 ms raytracer-p -O0 on plexus — 434.8 ms raytracer-p -O0 on plexus — 439.2 ms raytracer-p -O2 on borg — 364.4 ms raytracer-p -O2 on borg — 414.7 ms raytracer-p -O2 on borg — 314.3 ms raytracer-p -O2 on borg — 314.5 ms raytracer-p -O2 on borg — 364.6 ms raytracer-p -O2 on borg — 314.5 ms raytracer-p -O2 on borg — 364.5 ms raytracer-p -O2 on borg — 314.5 ms raytracer-p -O2 on borg — 314.6 ms raytracer-p -O2 on borg — 314.6 ms raytracer-p -O2 on borg — 314.4 ms raytracer-p -O2 on xeon — 319.9 ms (normalised) raytracer-p -O2 on xeon — 284.0 ms (normalised) raytracer-p -O2 on xeon — 286.3 ms (normalised) raytracer-p -O2 on plexus — 410.3 ms raytracer-p -O2 on plexus — 412.2 ms raytracer-p -O2 on plexus — 438.3 ms raytracer-p -O2 on plexus — 412.1 ms raytracer-p -O2 on plexus — 417.0 ms raytracer-p -O2 on plexus — 413.0 ms raytracer-p -O3 on borg — 364.5 ms raytracer-p -O3 on borg — 365.5 ms raytracer-p -O3 on borg — 314.4 ms raytracer-p -O3 on borg — 264.4 ms raytracer-p -O3 on borg — 364.7 ms raytracer-p -O3 on borg — 314.4 ms raytracer-p -O3 on borg — 315.3 ms raytracer-p -O3 on borg — 264.3 ms raytracer-p -O3 on borg — 264.4 ms raytracer-p -O3 on borg — 264.6 ms raytracer-p -O3 on borg — 264.6 ms raytracer-p -O3 on xeon — 250.9 ms (normalised) raytracer-p -O3 on xeon — 241.6 ms (normalised) raytracer-p -O3 on xeon — 240.9 ms (normalised) raytracer-p -O3 on plexus — 347.1 ms raytracer-p -O3 on plexus — 348.7 ms raytracer-p -O3 on plexus — 368.9 ms raytracer-p -O3 on plexus — 348.7 ms raytracer-p -O3 on plexus — 348.0 ms raytracer-p -O3 on plexus — 351.8 ms raytracer-p fpc on borg — 31.8 ms raytracer-p fpc on borg — 63.9 ms raytracer-p fpc on borg — 31.8 ms raytracer-p fpc on borg — 31.9 ms raytracer-p fpc on borg — 64.0 ms raytracer-p fpc on borg — 31.7 ms raytracer-p fpc on borg — 64.0 ms raytracer-p fpc on borg — 32.0 ms raytracer-p fpc on borg — 31.7 ms raytracer-p fpc on borg — 31.7 ms raytracer-p fpc on borg — 31.8 ms raytracer-p fpc on xeon — 44.2 ms (normalised) raytracer-p fpc on xeon — 32.3 ms (normalised) raytracer-p fpc on xeon — 29.7 ms (normalised) raytracer-p fpc on plexus — 42.1 ms raytracer-p fpc on plexus — 41.8 ms raytracer-p fpc on plexus — 43.6 ms raytracer-p fpc on plexus — 42.9 ms raytracer-p fpc on plexus — 46.2 ms raytracer-p fpc on plexus — 42.5 ms -O0 439 -O2 413 -O3 351 fpc 42.5
selfcompile (ms)
-O0
-O2
-O3
fpc
0.0 4639 9278 13918 18557 2026-07-11 2026-08-08 selfcompile -O0 on borg — 5325.8 ms selfcompile -O0 on borg — 6526.5 ms selfcompile -O0 on borg — 7028.8 ms selfcompile -O0 on borg — 8080.5 ms selfcompile -O0 on borg — 7029.3 ms selfcompile -O0 on borg — 7029.6 ms selfcompile -O0 on borg — 9235.5 ms selfcompile -O0 on borg — 6226.9 ms selfcompile -O0 on borg — 6777.8 ms selfcompile -O0 on borg — 6077.3 ms selfcompile -O0 on borg — 6177.8 ms selfcompile -O0 on borg — 6627.6 ms selfcompile -O0 on borg — 7680.3 ms selfcompile -O0 on xeon — 8524.8 ms (normalised) selfcompile -O0 on xeon — 8491.5 ms (normalised) selfcompile -O0 on xeon — 8903.9 ms (normalised) selfcompile -O0 on plexus — 13103.8 ms selfcompile -O0 on plexus — 13287.5 ms selfcompile -O0 on plexus — 13203.3 ms selfcompile -O0 on plexus — 12352.3 ms selfcompile -O0 on plexus — 14034.5 ms selfcompile -O0 on plexus — 14044.6 ms selfcompile -O2 on borg — 4072.1 ms selfcompile -O2 on borg — 5024.1 ms selfcompile -O2 on borg — 5175.0 ms selfcompile -O2 on borg — 6127.2 ms selfcompile -O2 on borg — 5376.2 ms selfcompile -O2 on borg — 5427.1 ms selfcompile -O2 on borg — 6376.7 ms selfcompile -O2 on borg — 5075.4 ms selfcompile -O2 on borg — 5375.3 ms selfcompile -O2 on borg — 4924.5 ms selfcompile -O2 on borg — 5024.9 ms selfcompile -O2 on borg — 5275.8 ms selfcompile -O2 on borg — 6277.6 ms selfcompile -O2 on xeon — 6696.6 ms (normalised) selfcompile -O2 on xeon — 6715.7 ms (normalised) selfcompile -O2 on xeon — 7164.9 ms (normalised) selfcompile -O2 on plexus — 10333.1 ms selfcompile -O2 on plexus — 10410.7 ms selfcompile -O2 on plexus — 10481.8 ms selfcompile -O2 on plexus — 9817.0 ms selfcompile -O2 on plexus — 11053.7 ms selfcompile -O2 on plexus — 11133.3 ms selfcompile -O3 on borg — 4020.4 ms selfcompile -O3 on borg — 4974.1 ms selfcompile -O3 on borg — 5224.4 ms selfcompile -O3 on borg — 6428.9 ms selfcompile -O3 on borg — 5475.6 ms selfcompile -O3 on borg — 5526.6 ms selfcompile -O3 on borg — 11806.3 ms selfcompile -O3 on borg — 5125.1 ms selfcompile -O3 on borg — 5324.6 ms selfcompile -O3 on borg — 4924.6 ms selfcompile -O3 on borg — 5024.9 ms selfcompile -O3 on borg — 5325.5 ms selfcompile -O3 on borg — 6226.0 ms selfcompile -O3 on xeon — 6732.5 ms (normalised) selfcompile -O3 on xeon — 6748.7 ms (normalised) selfcompile -O3 on xeon — 7432.2 ms (normalised) selfcompile -O3 on plexus — 10364.5 ms selfcompile -O3 on plexus — 10572.1 ms selfcompile -O3 on plexus — 10689.3 ms selfcompile -O3 on plexus — 9915.7 ms selfcompile -O3 on plexus — 10962.3 ms selfcompile -O3 on plexus — 10986.8 ms selfcompile fpc on borg — 3320.3 ms selfcompile fpc on borg — 3780.6 ms selfcompile fpc on borg — 3071.3 ms selfcompile fpc on borg — 4936.7 ms selfcompile fpc on borg — 3722.0 ms selfcompile fpc on borg — 3471.9 ms selfcompile fpc on borg — 3921.7 ms selfcompile fpc on xeon — 3976.0 ms (normalised) selfcompile fpc on xeon — 4005.8 ms (normalised) selfcompile fpc on xeon — 5129.1 ms (normalised) selfcompile fpc on plexus — 5918.0 ms selfcompile fpc on plexus — 5982.7 ms selfcompile fpc on plexus — 6448.1 ms selfcompile fpc on plexus — 5995.2 ms selfcompile fpc on plexus — 6082.5 ms selfcompile fpc on plexus — 6094.8 ms -O0 14044 -O2 11133 -O3 10986 fpc 6094
sieve (ms)
-O0
-O2
-O3
fpc
0.0 44.8 89.7 134 179 2026-07-11 2026-08-08 sieve -O0 on borg — 114.0 ms sieve -O0 on borg — 114.0 ms sieve -O0 on borg — 113.9 ms sieve -O0 on borg — 114.0 ms sieve -O0 on borg — 114.1 ms sieve -O0 on borg — 114.0 ms sieve -O0 on borg — 114.1 ms sieve -O0 on borg — 114.0 ms sieve -O0 on borg — 114.0 ms sieve -O0 on borg — 114.0 ms sieve -O0 on borg — 114.1 ms sieve -O0 on borg — 113.9 ms sieve -O0 on borg — 113.9 ms sieve -O0 on xeon — 113.2 ms (normalised) sieve -O0 on xeon — 96.5 ms (normalised) sieve -O0 on xeon — 80.9 ms (normalised) sieve -O0 on plexus — 120.8 ms sieve -O0 on plexus — 116.4 ms sieve -O0 on plexus — 123.1 ms sieve -O0 on plexus — 115.5 ms sieve -O0 on plexus — 117.2 ms sieve -O0 on plexus — 116.4 ms sieve -O2 on borg — 64.0 ms sieve -O2 on borg — 113.9 ms sieve -O2 on borg — 64.1 ms sieve -O2 on borg — 114.2 ms sieve -O2 on borg — 64.0 ms sieve -O2 on borg — 63.9 ms sieve -O2 on borg — 64.1 ms sieve -O2 on borg — 114.0 ms sieve -O2 on borg — 114.0 ms sieve -O2 on borg — 64.0 ms sieve -O2 on borg — 113.9 ms sieve -O2 on borg — 64.0 ms sieve -O2 on borg — 114.0 ms sieve -O2 on xeon — 113.3 ms (normalised) sieve -O2 on xeon — 88.1 ms (normalised) sieve -O2 on xeon — 76.2 ms (normalised) sieve -O2 on plexus — 109.0 ms sieve -O2 on plexus — 104.3 ms sieve -O2 on plexus — 112.4 ms sieve -O2 on plexus — 105.9 ms sieve -O2 on plexus — 112.5 ms sieve -O2 on plexus — 110.4 ms sieve -O3 on borg — 63.9 ms sieve -O3 on borg — 114.0 ms sieve -O3 on borg — 114.0 ms sieve -O3 on borg — 114.0 ms sieve -O3 on borg — 63.9 ms sieve -O3 on borg — 64.0 ms sieve -O3 on borg — 113.9 ms sieve -O3 on borg — 64.0 ms sieve -O3 on borg — 64.0 ms sieve -O3 on borg — 64.0 ms sieve -O3 on borg — 64.0 ms sieve -O3 on borg — 64.0 ms sieve -O3 on borg — 114.0 ms sieve -O3 on xeon — 113.1 ms (normalised) sieve -O3 on xeon — 88.8 ms (normalised) sieve -O3 on xeon — 75.1 ms (normalised) sieve -O3 on plexus — 107.6 ms sieve -O3 on plexus — 108.4 ms sieve -O3 on plexus — 113.2 ms sieve -O3 on plexus — 111.7 ms sieve -O3 on plexus — 110.7 ms sieve -O3 on plexus — 105.6 ms sieve fpc on borg — 31.7 ms sieve fpc on borg — 63.9 ms sieve fpc on borg — 63.9 ms sieve fpc on borg — 31.9 ms sieve fpc on borg — 31.8 ms sieve fpc on borg — 64.0 ms sieve fpc on borg — 31.9 ms sieve fpc on borg — 63.9 ms sieve fpc on borg — 31.8 ms sieve fpc on borg — 31.9 ms sieve fpc on borg — 31.7 ms sieve fpc on borg — 31.9 ms sieve fpc on xeon — 44.4 ms (normalised) sieve fpc on xeon — 43.8 ms (normalised) sieve fpc on xeon — 35.8 ms (normalised) sieve fpc on plexus — 51.7 ms sieve fpc on plexus — 51.8 ms sieve fpc on plexus — 54.0 ms sieve fpc on plexus — 52.1 ms sieve fpc on plexus — 56.0 ms sieve fpc on plexus — 53.7 ms -O0 116 -O2 110 -O3 105 fpc 53.7
uforth-core (ms)
cpython
cpython-O
pxx
0.0 1423 2846 4269 5692 2026-07-22 2026-07-23 uforth-core cpython on borg — 825.9 ms uforth-core cpython on borg — 730.1 ms uforth-core cpython-O on borg — 1093.8 ms uforth-core cpython-O on borg — 827.4 ms uforth-core pxx on borg — 5270.9 ms uforth-core pxx on borg — 1930.4 ms pxx 1930 cpython-O 827 cpython 730
uforth-microbench-doloop (ms)
cpython
cpython-O
pxx
0.0 5907 11815 17723 23631 2026-07-22 2026-07-23 uforth-microbench-doloop cpython on borg — 5714.2 ms uforth-microbench-doloop cpython-O on borg — 5948.9 ms uforth-microbench-doloop pxx on borg — 15437.9 ms pxx 15437 cpython-O 5948 cpython 5714
uforth-prelim (ms)
cpython
cpython-O
pxx
0.0 852 1704 2557 3409 2026-07-22 2026-07-23 uforth-prelim cpython on borg — 307.9 ms uforth-prelim cpython-O on borg — 504.9 ms uforth-prelim pxx on borg — 772.1 ms pxx 772 cpython-O 504 cpython 307
Audit reports
Dated point-in-time audits (compile speed vs FPC, binary
sizes, regression status) from benchmarks/, newest first.