Benchmarks

All figures on x86-64 (amd64). Latest data measured on plexus at 9d163c9634e6, 2026-08-08.

HostHardwareRuns
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-O3cpythoncpython-Ofpcpxx 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.01262523785042026-07-112026-08-08fib -O0 on borg — 264.4 msfib -O0 on borg — 264.1 msfib -O0 on borg — 314.5 msfib -O0 on borg — 314.5 msfib -O0 on borg — 264.3 msfib -O0 on borg — 264.3 msfib -O0 on borg — 314.8 msfib -O0 on borg — 265.6 msfib -O0 on borg — 264.4 msfib -O0 on borg — 265.5 msfib -O0 on borg — 264.4 msfib -O0 on borg — 264.3 msfib -O0 on borg — 264.3 msfib -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 msfib -O0 on plexus — 371.8 msfib -O0 on plexus — 398.5 msfib -O0 on plexus — 373.8 msfib -O0 on plexus — 380.1 msfib -O0 on plexus — 378.0 msfib -O2 on borg — 164.2 msfib -O2 on borg — 214.1 msfib -O2 on borg — 214.2 msfib -O2 on borg — 214.1 msfib -O2 on borg — 164.1 msfib -O2 on borg — 164.7 msfib -O2 on borg — 214.2 msfib -O2 on borg — 164.1 msfib -O2 on borg — 164.1 msfib -O2 on borg — 164.1 msfib -O2 on borg — 164.2 msfib -O2 on borg — 164.1 msfib -O2 on borg — 164.2 msfib -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 msfib -O2 on plexus — 227.6 msfib -O2 on plexus — 237.1 msfib -O2 on plexus — 226.4 msfib -O2 on plexus — 224.1 msfib -O2 on plexus — 227.9 msfib -O3 on borg — 164.2 msfib -O3 on borg — 164.1 msfib -O3 on borg — 214.3 msfib -O3 on borg — 214.1 msfib -O3 on borg — 164.2 msfib -O3 on borg — 114.1 msfib -O3 on borg — 170.3 msfib -O3 on borg — 115.4 msfib -O3 on borg — 114.6 msfib -O3 on borg — 114.0 msfib -O3 on borg — 114.0 msfib -O3 on borg — 113.9 msfib -O3 on borg — 114.2 msfib -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 msfib -O3 on plexus — 139.7 msfib -O3 on plexus — 148.3 msfib -O3 on plexus — 139.2 msfib -O3 on plexus — 141.6 msfib -O3 on plexus — 144.5 msfib fpc on borg — 114.0 msfib fpc on borg — 113.9 msfib fpc on borg — 164.1 msfib fpc on borg — 164.1 msfib fpc on borg — 114.0 msfib fpc on borg — 114.0 msfib fpc on borg — 114.2 msfib fpc on borg — 114.0 msfib fpc on borg — 114.0 msfib fpc on borg — 114.0 msfib fpc on borg — 114.0 msfib fpc on borg — 114.1 msfib fpc on borg — 114.1 msfib 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 msfib fpc on plexus — 167.1 msfib fpc on plexus — 172.9 msfib fpc on plexus — 162.3 msfib fpc on plexus — 164.2 msfib fpc on plexus — 165.0 ms-O0 378-O2 227fpc 165-O3 144
mandelbrot-p (ms)
-O0 -O2 -O3 fpc
0.06131226183924522026-07-142026-08-08mandelbrot-p -O0 on borg — 1366.8 msmandelbrot-p -O0 on borg — 1366.9 msmandelbrot-p -O0 on borg — 1667.2 msmandelbrot-p -O0 on borg — 1366.8 msmandelbrot-p -O0 on borg — 1316.7 msmandelbrot-p -O0 on borg — 1828.4 msmandelbrot-p -O0 on borg — 1366.5 msmandelbrot-p -O0 on borg — 1467.1 msmandelbrot-p -O0 on borg — 1316.8 msmandelbrot-p -O0 on borg — 1316.8 msmandelbrot-p -O0 on borg — 1516.3 msmandelbrot-p -O0 on borg — 1366.2 msmandelbrot-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 msmandelbrot-p -O0 on plexus — 1847.5 msmandelbrot-p -O0 on plexus — 1982.6 msmandelbrot-p -O0 on plexus — 1834.6 msmandelbrot-p -O0 on plexus — 1863.6 msmandelbrot-p -O0 on plexus — 1852.6 msmandelbrot-p -O2 on borg — 1366.7 msmandelbrot-p -O2 on borg — 1367.0 msmandelbrot-p -O2 on borg — 1618.7 msmandelbrot-p -O2 on borg — 1366.7 msmandelbrot-p -O2 on borg — 1265.8 msmandelbrot-p -O2 on borg — 1722.4 msmandelbrot-p -O2 on borg — 1366.8 msmandelbrot-p -O2 on borg — 1366.6 msmandelbrot-p -O2 on borg — 1315.9 msmandelbrot-p -O2 on borg — 1316.4 msmandelbrot-p -O2 on borg — 1416.7 msmandelbrot-p -O2 on borg — 1366.8 msmandelbrot-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 msmandelbrot-p -O2 on plexus — 1851.6 msmandelbrot-p -O2 on plexus — 1994.4 msmandelbrot-p -O2 on plexus — 1843.5 msmandelbrot-p -O2 on plexus — 1865.2 msmandelbrot-p -O2 on plexus — 1861.9 msmandelbrot-p -O3 on borg — 1165.8 msmandelbrot-p -O3 on borg — 1116.4 msmandelbrot-p -O3 on borg — 1366.2 msmandelbrot-p -O3 on borg — 1166.4 msmandelbrot-p -O3 on borg — 615.1 msmandelbrot-p -O3 on borg — 715.7 msmandelbrot-p -O3 on borg — 615.1 msmandelbrot-p -O3 on borg — 665.4 msmandelbrot-p -O3 on borg — 665.1 msmandelbrot-p -O3 on borg — 615.1 msmandelbrot-p -O3 on borg — 665.0 msmandelbrot-p -O3 on borg — 665.4 msmandelbrot-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 msmandelbrot-p -O3 on plexus — 983.6 msmandelbrot-p -O3 on plexus — 1052.0 msmandelbrot-p -O3 on plexus — 969.5 msmandelbrot-p -O3 on plexus — 979.3 msmandelbrot-p -O3 on plexus — 980.9 msmandelbrot-p fpc on borg — 364.4 msmandelbrot-p fpc on borg — 364.6 msmandelbrot-p fpc on borg — 515.1 msmandelbrot-p fpc on borg — 414.8 msmandelbrot-p fpc on borg — 314.5 msmandelbrot-p fpc on borg — 364.5 msmandelbrot-p fpc on borg — 364.4 msmandelbrot-p fpc on borg — 414.8 msmandelbrot-p fpc on borg — 314.6 msmandelbrot-p fpc on borg — 314.5 msmandelbrot-p fpc on borg — 364.5 msmandelbrot-p fpc on borg — 364.4 msmandelbrot-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 msmandelbrot-p fpc on plexus — 471.5 msmandelbrot-p fpc on plexus — 497.7 msmandelbrot-p fpc on plexus — 472.0 msmandelbrot-p fpc on plexus — 474.8 msmandelbrot-p fpc on plexus — 472.2 ms-O2 1861-O0 1852-O3 980fpc 472
nbody (ms)
-O0 -O2 -O3 fpc
0.031763495212692026-07-112026-08-08nbody -O0 on borg — 615.0 msnbody -O0 on borg — 664.8 msnbody -O0 on borg — 665.0 msnbody -O0 on borg — 765.4 msnbody -O0 on borg — 615.0 msnbody -O0 on borg — 615.3 msnbody -O0 on borg — 765.3 msnbody -O0 on borg — 615.2 msnbody -O0 on borg — 665.3 msnbody -O0 on borg — 615.2 msnbody -O0 on borg — 615.2 msnbody -O0 on borg — 615.2 msnbody -O0 on borg — 715.1 msnbody -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 msnbody -O0 on plexus — 917.9 msnbody -O0 on plexus — 975.7 msnbody -O0 on plexus — 915.0 msnbody -O0 on plexus — 918.0 msnbody -O0 on plexus — 924.0 msnbody -O2 on borg — 564.9 msnbody -O2 on borg — 614.8 msnbody -O2 on borg — 615.0 msnbody -O2 on borg — 665.2 msnbody -O2 on borg — 565.0 msnbody -O2 on borg — 564.8 msnbody -O2 on borg — 616.1 msnbody -O2 on borg — 565.1 msnbody -O2 on borg — 615.1 msnbody -O2 on borg — 564.9 msnbody -O2 on borg — 565.0 msnbody -O2 on borg — 565.0 msnbody -O2 on borg — 614.9 msnbody -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 msnbody -O2 on plexus — 820.5 msnbody -O2 on plexus — 882.6 msnbody -O2 on plexus — 823.6 msnbody -O2 on plexus — 833.4 msnbody -O2 on plexus — 833.3 msnbody -O3 on borg — 514.9 msnbody -O3 on borg — 564.6 msnbody -O3 on borg — 564.7 msnbody -O3 on borg — 665.1 msnbody -O3 on borg — 514.9 msnbody -O3 on borg — 314.5 msnbody -O3 on borg — 414.6 msnbody -O3 on borg — 365.9 msnbody -O3 on borg — 364.5 msnbody -O3 on borg — 314.7 msnbody -O3 on borg — 364.4 msnbody -O3 on borg — 314.6 msnbody -O3 on borg — 364.5 msnbody -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 msnbody -O3 on plexus — 530.5 msnbody -O3 on plexus — 567.3 msnbody -O3 on plexus — 534.0 msnbody -O3 on plexus — 534.2 msnbody -O3 on plexus — 533.8 msnbody fpc on borg — 64.0 msnbody fpc on borg — 113.9 msnbody fpc on borg — 114.0 msnbody fpc on borg — 114.1 msnbody fpc on borg — 64.0 msnbody fpc on borg — 63.9 msnbody fpc on borg — 114.0 msnbody fpc on borg — 63.9 msnbody fpc on borg — 114.0 msnbody fpc on borg — 63.9 msnbody fpc on borg — 63.9 msnbody fpc on borg — 63.9 msnbody fpc on borg — 64.0 msnbody 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 msnbody fpc on plexus — 120.7 msnbody fpc on plexus — 128.0 msnbody fpc on plexus — 125.3 msnbody fpc on plexus — 122.3 msnbody fpc on plexus — 121.4 ms-O0 924-O2 833-O3 533fpc 121
raytracer-p (ms)
-O0 -O2 -O3 fpc
0.01663324996652026-07-152026-08-08raytracer-p -O0 on borg — 364.5 msraytracer-p -O0 on borg — 464.8 msraytracer-p -O0 on borg — 365.0 msraytracer-p -O0 on borg — 314.6 msraytracer-p -O0 on borg — 365.6 msraytracer-p -O0 on borg — 364.5 msraytracer-p -O0 on borg — 364.6 msraytracer-p -O0 on borg — 314.5 msraytracer-p -O0 on borg — 314.6 msraytracer-p -O0 on borg — 364.5 msraytracer-p -O0 on borg — 364.6 msraytracer-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 msraytracer-p -O0 on plexus — 434.4 msraytracer-p -O0 on plexus — 460.6 msraytracer-p -O0 on plexus — 431.2 msraytracer-p -O0 on plexus — 434.8 msraytracer-p -O0 on plexus — 439.2 msraytracer-p -O2 on borg — 364.4 msraytracer-p -O2 on borg — 414.7 msraytracer-p -O2 on borg — 314.3 msraytracer-p -O2 on borg — 314.5 msraytracer-p -O2 on borg — 364.6 msraytracer-p -O2 on borg — 314.5 msraytracer-p -O2 on borg — 364.5 msraytracer-p -O2 on borg — 314.5 msraytracer-p -O2 on borg — 314.6 msraytracer-p -O2 on borg — 314.6 msraytracer-p -O2 on borg — 314.4 msraytracer-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 msraytracer-p -O2 on plexus — 412.2 msraytracer-p -O2 on plexus — 438.3 msraytracer-p -O2 on plexus — 412.1 msraytracer-p -O2 on plexus — 417.0 msraytracer-p -O2 on plexus — 413.0 msraytracer-p -O3 on borg — 364.5 msraytracer-p -O3 on borg — 365.5 msraytracer-p -O3 on borg — 314.4 msraytracer-p -O3 on borg — 264.4 msraytracer-p -O3 on borg — 364.7 msraytracer-p -O3 on borg — 314.4 msraytracer-p -O3 on borg — 315.3 msraytracer-p -O3 on borg — 264.3 msraytracer-p -O3 on borg — 264.4 msraytracer-p -O3 on borg — 264.6 msraytracer-p -O3 on borg — 264.6 msraytracer-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 msraytracer-p -O3 on plexus — 348.7 msraytracer-p -O3 on plexus — 368.9 msraytracer-p -O3 on plexus — 348.7 msraytracer-p -O3 on plexus — 348.0 msraytracer-p -O3 on plexus — 351.8 msraytracer-p fpc on borg — 31.8 msraytracer-p fpc on borg — 63.9 msraytracer-p fpc on borg — 31.8 msraytracer-p fpc on borg — 31.9 msraytracer-p fpc on borg — 64.0 msraytracer-p fpc on borg — 31.7 msraytracer-p fpc on borg — 64.0 msraytracer-p fpc on borg — 32.0 msraytracer-p fpc on borg — 31.7 msraytracer-p fpc on borg — 31.7 msraytracer-p fpc on borg — 31.8 msraytracer-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 msraytracer-p fpc on plexus — 41.8 msraytracer-p fpc on plexus — 43.6 msraytracer-p fpc on plexus — 42.9 msraytracer-p fpc on plexus — 46.2 msraytracer-p fpc on plexus — 42.5 ms-O0 439-O2 413-O3 351fpc 42.5
selfcompile (ms)
-O0 -O2 -O3 fpc
0.04639927813918185572026-07-112026-08-08selfcompile -O0 on borg — 5325.8 msselfcompile -O0 on borg — 6526.5 msselfcompile -O0 on borg — 7028.8 msselfcompile -O0 on borg — 8080.5 msselfcompile -O0 on borg — 7029.3 msselfcompile -O0 on borg — 7029.6 msselfcompile -O0 on borg — 9235.5 msselfcompile -O0 on borg — 6226.9 msselfcompile -O0 on borg — 6777.8 msselfcompile -O0 on borg — 6077.3 msselfcompile -O0 on borg — 6177.8 msselfcompile -O0 on borg — 6627.6 msselfcompile -O0 on borg — 7680.3 msselfcompile -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 msselfcompile -O0 on plexus — 13287.5 msselfcompile -O0 on plexus — 13203.3 msselfcompile -O0 on plexus — 12352.3 msselfcompile -O0 on plexus — 14034.5 msselfcompile -O0 on plexus — 14044.6 msselfcompile -O2 on borg — 4072.1 msselfcompile -O2 on borg — 5024.1 msselfcompile -O2 on borg — 5175.0 msselfcompile -O2 on borg — 6127.2 msselfcompile -O2 on borg — 5376.2 msselfcompile -O2 on borg — 5427.1 msselfcompile -O2 on borg — 6376.7 msselfcompile -O2 on borg — 5075.4 msselfcompile -O2 on borg — 5375.3 msselfcompile -O2 on borg — 4924.5 msselfcompile -O2 on borg — 5024.9 msselfcompile -O2 on borg — 5275.8 msselfcompile -O2 on borg — 6277.6 msselfcompile -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 msselfcompile -O2 on plexus — 10410.7 msselfcompile -O2 on plexus — 10481.8 msselfcompile -O2 on plexus — 9817.0 msselfcompile -O2 on plexus — 11053.7 msselfcompile -O2 on plexus — 11133.3 msselfcompile -O3 on borg — 4020.4 msselfcompile -O3 on borg — 4974.1 msselfcompile -O3 on borg — 5224.4 msselfcompile -O3 on borg — 6428.9 msselfcompile -O3 on borg — 5475.6 msselfcompile -O3 on borg — 5526.6 msselfcompile -O3 on borg — 11806.3 msselfcompile -O3 on borg — 5125.1 msselfcompile -O3 on borg — 5324.6 msselfcompile -O3 on borg — 4924.6 msselfcompile -O3 on borg — 5024.9 msselfcompile -O3 on borg — 5325.5 msselfcompile -O3 on borg — 6226.0 msselfcompile -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 msselfcompile -O3 on plexus — 10572.1 msselfcompile -O3 on plexus — 10689.3 msselfcompile -O3 on plexus — 9915.7 msselfcompile -O3 on plexus — 10962.3 msselfcompile -O3 on plexus — 10986.8 msselfcompile fpc on borg — 3320.3 msselfcompile fpc on borg — 3780.6 msselfcompile fpc on borg — 3071.3 msselfcompile fpc on borg — 4936.7 msselfcompile fpc on borg — 3722.0 msselfcompile fpc on borg — 3471.9 msselfcompile fpc on borg — 3921.7 msselfcompile 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 msselfcompile fpc on plexus — 5982.7 msselfcompile fpc on plexus — 6448.1 msselfcompile fpc on plexus — 5995.2 msselfcompile fpc on plexus — 6082.5 msselfcompile fpc on plexus — 6094.8 ms-O0 14044-O2 11133-O3 10986fpc 6094
sieve (ms)
-O0 -O2 -O3 fpc
0.044.889.71341792026-07-112026-08-08sieve -O0 on borg — 114.0 mssieve -O0 on borg — 114.0 mssieve -O0 on borg — 113.9 mssieve -O0 on borg — 114.0 mssieve -O0 on borg — 114.1 mssieve -O0 on borg — 114.0 mssieve -O0 on borg — 114.1 mssieve -O0 on borg — 114.0 mssieve -O0 on borg — 114.0 mssieve -O0 on borg — 114.0 mssieve -O0 on borg — 114.1 mssieve -O0 on borg — 113.9 mssieve -O0 on borg — 113.9 mssieve -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 mssieve -O0 on plexus — 116.4 mssieve -O0 on plexus — 123.1 mssieve -O0 on plexus — 115.5 mssieve -O0 on plexus — 117.2 mssieve -O0 on plexus — 116.4 mssieve -O2 on borg — 64.0 mssieve -O2 on borg — 113.9 mssieve -O2 on borg — 64.1 mssieve -O2 on borg — 114.2 mssieve -O2 on borg — 64.0 mssieve -O2 on borg — 63.9 mssieve -O2 on borg — 64.1 mssieve -O2 on borg — 114.0 mssieve -O2 on borg — 114.0 mssieve -O2 on borg — 64.0 mssieve -O2 on borg — 113.9 mssieve -O2 on borg — 64.0 mssieve -O2 on borg — 114.0 mssieve -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 mssieve -O2 on plexus — 104.3 mssieve -O2 on plexus — 112.4 mssieve -O2 on plexus — 105.9 mssieve -O2 on plexus — 112.5 mssieve -O2 on plexus — 110.4 mssieve -O3 on borg — 63.9 mssieve -O3 on borg — 114.0 mssieve -O3 on borg — 114.0 mssieve -O3 on borg — 114.0 mssieve -O3 on borg — 63.9 mssieve -O3 on borg — 64.0 mssieve -O3 on borg — 113.9 mssieve -O3 on borg — 64.0 mssieve -O3 on borg — 64.0 mssieve -O3 on borg — 64.0 mssieve -O3 on borg — 64.0 mssieve -O3 on borg — 64.0 mssieve -O3 on borg — 114.0 mssieve -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 mssieve -O3 on plexus — 108.4 mssieve -O3 on plexus — 113.2 mssieve -O3 on plexus — 111.7 mssieve -O3 on plexus — 110.7 mssieve -O3 on plexus — 105.6 mssieve fpc on borg — 31.7 mssieve fpc on borg — 63.9 mssieve fpc on borg — 63.9 mssieve fpc on borg — 31.9 mssieve fpc on borg — 31.8 mssieve fpc on borg — 64.0 mssieve fpc on borg — 31.9 mssieve fpc on borg — 63.9 mssieve fpc on borg — 31.8 mssieve fpc on borg — 31.9 mssieve fpc on borg — 31.7 mssieve fpc on borg — 31.9 mssieve 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 mssieve fpc on plexus — 51.8 mssieve fpc on plexus — 54.0 mssieve fpc on plexus — 52.1 mssieve fpc on plexus — 56.0 mssieve fpc on plexus — 53.7 ms-O0 116-O2 110-O3 105fpc 53.7
uforth-core (ms)
cpython cpython-O pxx
0.014232846426956922026-07-222026-07-23uforth-core cpython on borg — 825.9 msuforth-core cpython on borg — 730.1 msuforth-core cpython-O on borg — 1093.8 msuforth-core cpython-O on borg — 827.4 msuforth-core pxx on borg — 5270.9 msuforth-core pxx on borg — 1930.4 mspxx 1930cpython-O 827cpython 730
uforth-microbench-doloop (ms)
cpython cpython-O pxx
0.059071181517723236312026-07-222026-07-23uforth-microbench-doloop cpython on borg — 5714.2 msuforth-microbench-doloop cpython-O on borg — 5948.9 msuforth-microbench-doloop pxx on borg — 15437.9 mspxx 15437cpython-O 5948cpython 5714
uforth-prelim (ms)
cpython cpython-O pxx
0.08521704255734092026-07-222026-07-23uforth-prelim cpython on borg — 307.9 msuforth-prelim cpython-O on borg — 504.9 msuforth-prelim pxx on borg — 772.1 mspxx 772cpython-O 504cpython 307

Audit reports

Dated point-in-time audits (compile speed vs FPC, binary sizes, regression status) from benchmarks/, newest first.