Decohere benchmarks

Updated 2026-11-05 · built from main @ 317daf563afc · raw data

Machines

Each line is one machine type; runs are only compared on the same one. Shared CI runners are noisy, so read the trend, not a single point. Hover a point for its date, commit and p90. Each night also benchmarks the previous nightly's commit on the same runner, alternating 2 rounds each; a benchmark more than 20% slower in every round gets an issue: open benchmark issues.

flux serve (real process)

flux serve, spawn to app ready (CLI from source)

flux.serve.start

794 ms median · p90 811 ms 19.9% faster

Last run 2026-11-05 10:53 UTC

0 ms554 ms1109 ms2026-11-032026-11-052026-11-03 · 336f2a5 · median 990 ms · p90 1008 ms2026-11-04 · d003ee1 · median 991 ms · p90 1006 ms2026-11-05 · dd2f1f9 · median 794 ms · p90 811 ms

flux serve, save to ready, file everything imports

flux.serve.reload-root

186 ms median · p90 187 ms 8.1% slower

Last run 2026-11-05 10:53 UTC

0 ms103 ms206 ms2026-11-032026-11-052026-11-03 · 336f2a5 · median 175 ms · p90 179 ms2026-11-04 · d003ee1 · median 172 ms · p90 175 ms2026-11-05 · dd2f1f9 · median 186 ms · p90 187 ms

flux serve, save to ready, file only its barrel imports

flux.serve.reload-leaf

33.2 ms median · p90 33.4 ms 0.6% faster

Last run 2026-11-05 10:53 UTC

0 ms18.6 ms37.3 ms2026-11-032026-11-052026-11-03 · 336f2a5 · median 33.0 ms · p90 33.6 ms2026-11-04 · d003ee1 · median 33.4 ms · p90 33.9 ms2026-11-05 · dd2f1f9 · median 33.2 ms · p90 33.4 ms

flux run (installed CLI, real process)

flux run hello.ts, caches empty (installed CLI)

flux.run.cold

295 ms median · p90 339 ms

Last run 2026-11-05 10:53 UTC

0 ms186 ms373 ms2026-11-052026-11-05 · dd2f1f9 · median 295 ms · p90 339 ms

flux run hello.ts, caches full (installed CLI)

flux.run.warm

236 ms median · p90 244 ms

Last run 2026-11-05 10:53 UTC

0 ms134 ms268 ms2026-11-052026-11-05 · dd2f1f9 · median 236 ms · p90 244 ms

node on the same script, for comparison

flux.run.node

35.5 ms median · p90 37.6 ms

Last run 2026-11-05 10:53 UTC

0 ms20.7 ms41.4 ms2026-11-052026-11-05 · dd2f1f9 · median 35.5 ms · p90 37.6 ms

flux load (in process)

flux load, first import (cold process)

flux.load.cold

230 ms median · p90 252 ms 3.4% faster

Last run 2026-11-05 10:53 UTC

0 ms138 ms277 ms2026-11-032026-11-052026-11-03 · 336f2a5 · median 241 ms · p90 245 ms2026-11-04 · d003ee1 · median 238 ms · p90 243 ms2026-11-05 · dd2f1f9 · median 230 ms · p90 252 ms

flux load, first import, disk cache from a previous run

flux.load.cold-cached

185 ms median · p90 192 ms 1.1% faster

Last run 2026-11-05 10:53 UTC

0 ms106 ms212 ms2026-11-032026-11-052026-11-03 · 336f2a5 · median 189 ms · p90 193 ms2026-11-04 · d003ee1 · median 188 ms · p90 191 ms2026-11-05 · dd2f1f9 · median 185 ms · p90 192 ms

flux load, second import (warm process)

flux.load.warm

160 ms median · p90 170 ms 6.0% slower

Last run 2026-11-05 10:53 UTC

0 ms93.7 ms187 ms2026-11-032026-11-052026-11-03 · 336f2a5 · median 149 ms · p90 153 ms2026-11-04 · d003ee1 · median 151 ms · p90 151 ms2026-11-05 · dd2f1f9 · median 160 ms · p90 170 ms

cold load: SWC

flux.load.cold.swc

76.6 ms median · p90 89.8 ms 8.4% faster

Last run 2026-11-05 10:53 UTC

0 ms49.4 ms98.8 ms2026-11-032026-11-052026-11-03 · 336f2a5 · median 84.1 ms · p90 86.6 ms2026-11-04 · d003ee1 · median 83.7 ms · p90 84.7 ms2026-11-05 · dd2f1f9 · median 76.6 ms · p90 89.8 ms

cold load: resolving imports

flux.load.cold.resolve

49.5 ms median · p90 51.8 ms 4.9% faster

Last run 2026-11-05 10:53 UTC

0 ms30.4 ms60.9 ms2026-11-032026-11-052026-11-03 · 336f2a5 · median 51.0 ms · p90 55.3 ms2026-11-04 · d003ee1 · median 52.0 ms · p90 53.9 ms2026-11-05 · dd2f1f9 · median 49.5 ms · p90 51.8 ms

cold load: rest of the load hook

flux.load.cold.load-other

2.3 ms median · p90 2.6 ms 3.2% faster

Last run 2026-11-05 10:53 UTC

0 ms1.4 ms2.9 ms2026-11-032026-11-052026-11-03 · 336f2a5 · median 2.4 ms · p90 2.5 ms2026-11-04 · d003ee1 · median 2.4 ms · p90 2.5 ms2026-11-05 · dd2f1f9 · median 2.3 ms · p90 2.6 ms

cold load: Node linking and evaluating

flux.load.cold.link-eval

71.4 ms median · p90 75.5 ms 0.7% faster

Last run 2026-11-05 10:53 UTC

0 ms41.6 ms83.1 ms2026-11-032026-11-052026-11-03 · 336f2a5 · median 73.5 ms · p90 75.3 ms2026-11-04 · d003ee1 · median 71.9 ms · p90 73.9 ms2026-11-05 · dd2f1f9 · median 71.4 ms · p90 75.5 ms

Transpile strategies (SWC only)

transpile (warm), one file at a time, inline maps (today)

flux.transpile.sync-inline

78.6 ms median · p90 82.7 ms 2.3% faster

Last run 2026-11-05 10:53 UTC

0 ms48.8 ms97.7 ms2026-11-032026-11-052026-11-03 · 336f2a5 · median 80.6 ms · p90 83.6 ms2026-11-04 · d003ee1 · median 80.5 ms · p90 88.8 ms2026-11-05 · dd2f1f9 · median 78.6 ms · p90 82.7 ms

transpile (warm), one file at a time, separate maps

flux.transpile.sync-separate

78.4 ms median · p90 80.0 ms 0.5% faster

Last run 2026-11-05 10:53 UTC

0 ms47.3 ms94.6 ms2026-11-032026-11-052026-11-03 · 336f2a5 · median 79.0 ms · p90 81.9 ms2026-11-04 · d003ee1 · median 78.8 ms · p90 86.0 ms2026-11-05 · dd2f1f9 · median 78.4 ms · p90 80.0 ms

transpile (warm), one file at a time, no maps

flux.transpile.sync-none

69.3 ms median · p90 77.3 ms 3.1% faster

Last run 2026-11-05 10:53 UTC

0 ms43.1 ms86.2 ms2026-11-032026-11-052026-11-03 · 336f2a5 · median 71.0 ms · p90 74.3 ms2026-11-04 · d003ee1 · median 71.6 ms · p90 78.4 ms2026-11-05 · dd2f1f9 · median 69.3 ms · p90 77.3 ms

transpile (warm), all files in parallel, inline maps

flux.transpile.parallel-inline

29.7 ms median · p90 31.5 ms 3.5% faster

Last run 2026-11-05 10:53 UTC

0 ms18.4 ms36.7 ms2026-11-032026-11-052026-11-03 · 336f2a5 · median 30.3 ms · p90 32.2 ms2026-11-04 · d003ee1 · median 30.8 ms · p90 33.4 ms2026-11-05 · dd2f1f9 · median 29.7 ms · p90 31.5 ms

forge build

forge build es6 + types

forge.build.local

92.4 ms median 1.0% slower

Last run 2026-11-05 10:53 UTC

0 ms57.7 ms115 ms2026-11-032026-11-052026-11-03 · 336f2a5 · median 105 ms2026-11-04 · d003ee1 · median 91.4 ms2026-11-05 · dd2f1f9 · median 92.4 ms

forge build es6 only

forge.build.debug

19.9 ms median 17.3% faster

Last run 2026-11-05 10:53 UTC

0 ms14.0 ms28.0 ms2026-11-032026-11-052026-11-03 · 336f2a5 · median 25.4 ms2026-11-04 · d003ee1 · median 24.0 ms2026-11-05 · dd2f1f9 · median 19.9 ms

forge build types only

forge.build.types-only

80.5 ms median 4.0% faster

Last run 2026-11-05 10:53 UTC

0 ms46.1 ms92.2 ms2026-11-032026-11-052026-11-03 · 336f2a5 · median 76.2 ms2026-11-04 · d003ee1 · median 83.8 ms2026-11-05 · dd2f1f9 · median 80.5 ms

Latest run

MachineRunCommitBenchmarkMedianp90MinFilesSamples
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 forge build es6 + types 92.4 ms – 78.3 ms 106 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 forge build es6 only 19.9 ms – 19.2 ms 106 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 forge build types only 80.5 ms – 69.8 ms 106 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 flux load, first import (cold process) 230 ms 252 ms 226 ms 336 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 flux load, first import, disk cache from a previous run 185 ms 192 ms 179 ms 336 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 flux load, second import (warm process) 160 ms 170 ms 157 ms 336 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 cold load: SWC 76.6 ms 89.8 ms 74.8 ms 336 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 cold load: resolving imports 49.5 ms 51.8 ms 46.7 ms 336 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 cold load: rest of the load hook 2.3 ms 2.6 ms 2.2 ms 336 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 cold load: Node linking and evaluating 71.4 ms 75.5 ms 69.6 ms 336 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 transpile (warm), one file at a time, inline maps (today) 78.6 ms 82.7 ms 77.3 ms 336 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 transpile (warm), one file at a time, separate maps 78.4 ms 80.0 ms 76.5 ms 336 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 transpile (warm), one file at a time, no maps 69.3 ms 77.3 ms 68.1 ms 336 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 transpile (warm), all files in parallel, inline maps 29.7 ms 31.5 ms 28.6 ms 336 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 flux serve, spawn to app ready (CLI from source) 794 ms 811 ms 790 ms 337 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 flux serve, save to ready, file everything imports 186 ms 187 ms 184 ms 337 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 flux serve, save to ready, file only its barrel imports 33.2 ms 33.4 ms 33.0 ms 337 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 flux run hello.ts, caches empty (installed CLI) 295 ms 339 ms 282 ms – 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 flux run hello.ts, caches full (installed CLI) 236 ms 244 ms 231 ms – 10
gh-actions-node24 2026-11-05 10:53 UTC dd2f1f9 node on the same script, for comparison 35.5 ms 37.6 ms 31.9 ms – 10