reference engine barometer

Performance Barometer

A directional north-star view of GocciaScript against QuickJS and Node.js using pinned AWFY and JetStream 3 workloads. Different runtimes have different goals; this is not a product ranking.

Are We Fast Yet15.63×QuickJS reference19.12×Node.js reference

Latest · Aug 11, 2026

JetStream 325.97×QuickJS reference293.49×Node.js reference

Latest · Aug 11, 2026

How to read it1.00×aligned measurement

Above 1.00× means Goccia was proportionally slower.

Retained main-branch reportsLast 30 daysLines break when corpus, driver, subset, or reference-engine versions change.

north-star trend

Are We Fast Yet

Are We Fast Yet reference ratio over timeQuickJS and Node.js reference ratios on a logarithmic scale. One means aligned; values above one mean Goccia was proportionally slower. Lines break when a run is incomplete or measurement versions change.0.8×4.6×27.2×Jul 14, 2026: QuickJS 15.79×, Node.js 19.54×Jul 14, 2026: QuickJS 15.79×, Node.js 19.54×Jul 15, 2026: QuickJS 15.64×, Node.js 19.44×Jul 15, 2026: QuickJS 15.64×, Node.js 19.44×Jul 16, 2026: QuickJS 17.43×, Node.js 21.13×Jul 16, 2026: QuickJS 17.43×, Node.js 21.13×Jul 17, 2026: QuickJS 15.97×, Node.js 20.05×Jul 17, 2026: QuickJS 15.97×, Node.js 20.05×Jul 20, 2026: QuickJS 16.29×, Node.js 19.93×Jul 20, 2026: QuickJS 16.29×, Node.js 19.93×Jul 21, 2026: QuickJS 16.78×, Node.js 20.58×Jul 21, 2026: QuickJS 16.78×, Node.js 20.58×Jul 22, 2026: QuickJS 16.25×, Node.js 19.96×Jul 22, 2026: QuickJS 16.25×, Node.js 19.96×Jul 23, 2026: QuickJS 18.17×, Node.js 21.32×Jul 23, 2026: QuickJS 18.17×, Node.js 21.32×Jul 24, 2026: QuickJS 16.82×, Node.js 20.39×Jul 24, 2026: QuickJS 16.82×, Node.js 20.39×Jul 25, 2026: QuickJS 17.07×, Node.js 20.03×Jul 25, 2026: QuickJS 17.07×, Node.js 20.03×Jul 26, 2026: QuickJS 15.12×, Node.js 18.89×Jul 26, 2026: QuickJS 15.12×, Node.js 18.89×Jul 30, 2026: QuickJS 16.41×, Node.js 17.84×Jul 30, 2026: QuickJS 16.41×, Node.js 17.84×Aug 1, 2026: QuickJS 16.78×, Node.js 20.00×Aug 1, 2026: QuickJS 16.78×, Node.js 20.00×Aug 2, 2026: QuickJS 15.39×, Node.js 18.30×Aug 2, 2026: QuickJS 15.39×, Node.js 18.30×Aug 4, 2026: QuickJS 15.43×, Node.js 19.19×Aug 4, 2026: QuickJS 15.43×, Node.js 19.19×Aug 5, 2026: QuickJS 17.34×, Node.js 20.40×Aug 5, 2026: QuickJS 17.34×, Node.js 20.40×Aug 9, 2026: QuickJS 17.77×, Node.js 20.78×Aug 9, 2026: QuickJS 17.77×, Node.js 20.78×Aug 10, 2026: QuickJS 15.68×, Node.js 18.85×Aug 10, 2026: QuickJS 15.68×, Node.js 18.85×Aug 11, 2026: QuickJS 15.63×, Node.js 19.12×Aug 11, 2026: QuickJS 15.63×, Node.js 19.12×Jul 14Aug 11
  • QuickJS reference
  • Node.js reference
  • Incomplete run
Are We Fast Yet chart data
DateQuickJSNode.jsStatusCommit
Jul 14, 202615.79×19.54×Completeea437b2c
Jul 15, 202615.64×19.44×Completeeee5bd4f
Jul 16, 202617.43×21.13×Complete9f57ec45
Jul 17, 202615.97×20.05×Complete786354da
Jul 20, 202616.29×19.93×Complete7b50c811
Jul 21, 202616.78×20.58×Completeced36109
Jul 22, 202616.25×19.96×Complete66813540
Jul 23, 202618.17×21.32×Complete34cc32f2
Jul 24, 202616.82×20.39×Completef867775a
Jul 25, 202617.07×20.03×Completeaad08796
Jul 26, 202615.12×18.89×Complete69017c95
Jul 30, 202616.41×17.84×Complete761cc516
Aug 1, 202616.78×20.00×Complete264dbb82
Aug 2, 202615.39×18.30×Complete3a5c305d
Aug 4, 202615.43×19.19×Completeaf64b768
Aug 5, 202617.34×20.40×Complete796f4edb
Aug 9, 202617.77×20.78×Completefc5e847f
Aug 10, 202615.68×18.85×Complete2196e0f2
Aug 11, 202615.63×19.12×Complete28a6bf3b

north-star trend

JetStream 3

JetStream 3 reference ratio over timeQuickJS and Node.js reference ratios on a logarithmic scale. One means aligned; values above one mean Goccia was proportionally slower. Lines break when a run is incomplete or measurement versions change.0.6×18.4×536.5×Jul 14, 2026: QuickJS 29.10×, Node.js 336.79×Jul 14, 2026: QuickJS 29.10×, Node.js 336.79×Jul 14, 2026: QuickJS 30.12×, Node.js 330.01×Jul 14, 2026: QuickJS 30.12×, Node.js 330.01×Jul 14, 2026: QuickJS 26.55×, Node.js 293.93×Jul 14, 2026: QuickJS 26.55×, Node.js 293.93×Jul 14, 2026: QuickJS 27.39×, Node.js 306.41×Jul 14, 2026: QuickJS 27.39×, Node.js 306.41×Jul 14, 2026: QuickJS 27.41×, Node.js 308.22×Jul 14, 2026: QuickJS 27.41×, Node.js 308.22×Jul 14, 2026: QuickJS 27.21×, Node.js 304.99×Jul 14, 2026: QuickJS 27.21×, Node.js 304.99×Jul 15, 2026: QuickJS 26.20×, Node.js 276.78×Jul 15, 2026: QuickJS 26.20×, Node.js 276.78×Jul 15, 2026: QuickJS 26.37×, Node.js 305.91×Jul 15, 2026: QuickJS 26.37×, Node.js 305.91×Jul 15, 2026: QuickJS 27.97×, Node.js 319.93×Jul 15, 2026: QuickJS 27.97×, Node.js 319.93×Jul 15, 2026: QuickJS 26.41×, Node.js 302.15×Jul 15, 2026: QuickJS 26.41×, Node.js 302.15×Jul 15, 2026: QuickJS 26.48×, Node.js 310.98×Jul 15, 2026: QuickJS 26.48×, Node.js 310.98×Jul 15, 2026: QuickJS 25.53×, Node.js 269.78×Jul 15, 2026: QuickJS 25.53×, Node.js 269.78×Jul 15, 2026: QuickJS 26.33×, Node.js 304.97×Jul 15, 2026: QuickJS 26.33×, Node.js 304.97×Jul 15, 2026: QuickJS 25.79×, Node.js 302.05×Jul 15, 2026: QuickJS 25.79×, Node.js 302.05×Jul 15, 2026: QuickJS 25.99×, Node.js 301.46×Jul 15, 2026: QuickJS 25.99×, Node.js 301.46×Jul 16, 2026: QuickJS 27.84×, Node.js 308.96×Jul 16, 2026: QuickJS 27.84×, Node.js 308.96×Jul 16, 2026: QuickJS 25.98×, Node.js 293.61×Jul 16, 2026: QuickJS 25.98×, Node.js 293.61×Jul 16, 2026: QuickJS 26.33×, Node.js 303.58×Jul 16, 2026: QuickJS 26.33×, Node.js 303.58×Jul 16, 2026: QuickJS 26.75×, Node.js 308.90×Jul 16, 2026: QuickJS 26.75×, Node.js 308.90×Jul 16, 2026: QuickJS 25.74×, Node.js 286.73×Jul 16, 2026: QuickJS 25.74×, Node.js 286.73×Jul 16, 2026: QuickJS 25.20×, Node.js 293.06×Jul 16, 2026: QuickJS 25.20×, Node.js 293.06×Jul 17, 2026: QuickJS 26.18×, Node.js 298.80×Jul 17, 2026: QuickJS 26.18×, Node.js 298.80×Jul 17, 2026: QuickJS 26.03×, Node.js 303.30×Jul 17, 2026: QuickJS 26.03×, Node.js 303.30×Jul 20, 2026: QuickJS 25.55×, Node.js 298.38×Jul 20, 2026: QuickJS 25.55×, Node.js 298.38×Jul 20, 2026: QuickJS 26.00×, Node.js 291.63×Jul 20, 2026: QuickJS 26.00×, Node.js 291.63×Jul 20, 2026: QuickJS 27.19×, Node.js 301.68×Jul 20, 2026: QuickJS 27.19×, Node.js 301.68×Jul 20, 2026: QuickJS 26.97×, Node.js 311.01×Jul 20, 2026: QuickJS 26.97×, Node.js 311.01×Jul 21, 2026: QuickJS 27.14×, Node.js 323.72×Jul 21, 2026: QuickJS 27.14×, Node.js 323.72×Jul 21, 2026: QuickJS 27.41×, Node.js 319.32×Jul 21, 2026: QuickJS 27.41×, Node.js 319.32×Jul 21, 2026: QuickJS 27.34×, Node.js 321.18×Jul 21, 2026: QuickJS 27.34×, Node.js 321.18×Jul 21, 2026: QuickJS 27.30×, Node.js 311.50×Jul 21, 2026: QuickJS 27.30×, Node.js 311.50×Jul 22, 2026: QuickJS 27.91×, Node.js 317.89×Jul 22, 2026: QuickJS 27.91×, Node.js 317.89×Jul 22, 2026: QuickJS 26.34×, Node.js 295.76×Jul 22, 2026: QuickJS 26.34×, Node.js 295.76×Jul 23, 2026: QuickJS 26.90×, Node.js 310.12×Jul 23, 2026: QuickJS 26.90×, Node.js 310.12×Jul 23, 2026: QuickJS 26.77×, Node.js 301.03×Jul 23, 2026: QuickJS 26.77×, Node.js 301.03×Jul 23, 2026: QuickJS 27.88×, Node.js 304.26×Jul 23, 2026: QuickJS 27.88×, Node.js 304.26×Jul 23, 2026: QuickJS 26.61×, Node.js 294.70×Jul 23, 2026: QuickJS 26.61×, Node.js 294.70×Jul 24, 2026: QuickJS 28.08×, Node.js 316.91×Jul 24, 2026: QuickJS 28.08×, Node.js 316.91×Jul 24, 2026: QuickJS 27.28×, Node.js 302.89×Jul 24, 2026: QuickJS 27.28×, Node.js 302.89×Jul 24, 2026: QuickJS 28.03×, Node.js 311.02×Jul 24, 2026: QuickJS 28.03×, Node.js 311.02×Jul 24, 2026: QuickJS 25.49×, Node.js 296.24×Jul 24, 2026: QuickJS 25.49×, Node.js 296.24×Jul 25, 2026: QuickJS 25.69×, Node.js 279.02×Jul 25, 2026: QuickJS 25.69×, Node.js 279.02×Jul 25, 2026: QuickJS 25.50×, Node.js 277.94×Jul 25, 2026: QuickJS 25.50×, Node.js 277.94×Jul 25, 2026: QuickJS 25.48×, Node.js 294.72×Jul 25, 2026: QuickJS 25.48×, Node.js 294.72×Jul 26, 2026: QuickJS 25.43×, Node.js 283.31×Jul 26, 2026: QuickJS 25.43×, Node.js 283.31×Jul 30, 2026: QuickJS 26.30×, Node.js 289.96×Jul 30, 2026: QuickJS 26.30×, Node.js 289.96×Jul 30, 2026: QuickJS 25.78×, Node.js 291.58×Jul 30, 2026: QuickJS 25.78×, Node.js 291.58×Aug 1, 2026: QuickJS 27.32×, Node.js 301.36×Aug 1, 2026: QuickJS 27.32×, Node.js 301.36×Aug 2, 2026: QuickJS 25.86×, Node.js 292.60×Aug 2, 2026: QuickJS 25.86×, Node.js 292.60×Aug 4, 2026: QuickJS 25.71×, Node.js 280.56×Aug 4, 2026: QuickJS 25.71×, Node.js 280.56×Aug 4, 2026: QuickJS 26.31×, Node.js 304.33×Aug 4, 2026: QuickJS 26.31×, Node.js 304.33×Aug 4, 2026: QuickJS 26.55×, Node.js 298.12×Aug 4, 2026: QuickJS 26.55×, Node.js 298.12×Aug 4, 2026: QuickJS 25.12×, Node.js 290.56×Aug 4, 2026: QuickJS 25.12×, Node.js 290.56×Aug 4, 2026: QuickJS 26.07×, Node.js 291.82×Aug 4, 2026: QuickJS 26.07×, Node.js 291.82×Aug 4, 2026: QuickJS 26.18×, Node.js 288.40×Aug 4, 2026: QuickJS 26.18×, Node.js 288.40×Aug 4, 2026: QuickJS 26.09×, Node.js 304.24×Aug 4, 2026: QuickJS 26.09×, Node.js 304.24×Aug 4, 2026: QuickJS 25.54×, Node.js 299.81×Aug 4, 2026: QuickJS 25.54×, Node.js 299.81×Aug 4, 2026: QuickJS 26.60×, Node.js 301.21×Aug 4, 2026: QuickJS 26.60×, Node.js 301.21×Aug 5, 2026: QuickJS 26.20×, Node.js 297.21×Aug 5, 2026: QuickJS 26.20×, Node.js 297.21×Aug 5, 2026: QuickJS 26.17×, Node.js 299.06×Aug 5, 2026: QuickJS 26.17×, Node.js 299.06×Aug 5, 2026: QuickJS 28.88×, Node.js 319.16×Aug 5, 2026: QuickJS 28.88×, Node.js 319.16×Aug 5, 2026: QuickJS 25.33×, Node.js 275.20×Aug 5, 2026: QuickJS 25.33×, Node.js 275.20×Aug 9, 2026: QuickJS 26.95×, Node.js 315.46×Aug 9, 2026: QuickJS 26.95×, Node.js 315.46×Aug 10, 2026: QuickJS 25.67×, Node.js 286.37×Aug 10, 2026: QuickJS 25.67×, Node.js 286.37×Aug 10, 2026: QuickJS 26.87×, Node.js 295.80×Aug 10, 2026: QuickJS 26.87×, Node.js 295.80×Aug 10, 2026: QuickJS 26.91×, Node.js 309.03×Aug 10, 2026: QuickJS 26.91×, Node.js 309.03×Aug 10, 2026: QuickJS 25.65×, Node.js 293.57×Aug 10, 2026: QuickJS 25.65×, Node.js 293.57×Aug 10, 2026: QuickJS 24.93×, Node.js 291.88×Aug 10, 2026: QuickJS 24.93×, Node.js 291.88×Aug 10, 2026: QuickJS 25.29×, Node.js 297.89×Aug 10, 2026: QuickJS 25.29×, Node.js 297.89×Aug 10, 2026: QuickJS 25.75×, Node.js 278.34×Aug 10, 2026: QuickJS 25.75×, Node.js 278.34×Aug 11, 2026: QuickJS 25.90×, Node.js 294.04×Aug 11, 2026: QuickJS 25.90×, Node.js 294.04×Aug 11, 2026: QuickJS 25.97×, Node.js 293.49×Aug 11, 2026: QuickJS 25.97×, Node.js 293.49×Jul 14Aug 11
  • QuickJS reference
  • Node.js reference
  • Incomplete run
JetStream 3 chart data
DateQuickJSNode.jsStatusCommit
Jul 14, 202629.10×336.79×Complete5d3d4be1
Jul 14, 202630.12×330.01×Complete2e32d9ed
Jul 14, 202626.55×293.93×Complete376bb33c
Jul 14, 202627.39×306.41×Complete357f2f7d
Jul 14, 202627.41×308.22×Complete86588145
Jul 14, 202627.21×304.99×Completeea437b2c
Jul 15, 202626.20×276.78×Complete3750f64a
Jul 15, 202626.37×305.91×Completec07d14b6
Jul 15, 202627.97×319.93×Complete7ec58e2f
Jul 15, 202626.41×302.15×Completeb4eb7ad3
Jul 15, 202626.48×310.98×Complete3263b7e2
Jul 15, 202625.53×269.78×Complete30c10ebc
Jul 15, 202626.33×304.97×Completeebc4baf4
Jul 15, 202625.79×302.05×Completede58ff7f
Jul 15, 202625.99×301.46×Completeeee5bd4f
Jul 16, 202627.84×308.96×Complete0466e9bc
Jul 16, 202625.98×293.61×Completeecb049f7
Jul 16, 202626.33×303.58×Complete7e6b51de
Jul 16, 202626.75×308.90×Complete026a9ef6
Jul 16, 202625.74×286.73×Complete98ad5b12
Jul 16, 202625.20×293.06×Complete9f57ec45
Jul 17, 202626.18×298.80×Complete4daedab5
Jul 17, 202626.03×303.30×Complete786354da
Jul 20, 202625.55×298.38×Complete5f283a19
Jul 20, 202626.00×291.63×Completeff30c6b3
Jul 20, 202627.19×301.68×Completeb5c2eb32
Jul 20, 202626.97×311.01×Complete7b50c811
Jul 21, 202627.14×323.72×Complete31c2977e
Jul 21, 202627.41×319.32×Complete36e13467
Jul 21, 202627.34×321.18×Complete0b76f512
Jul 21, 202627.30×311.50×Completeced36109
Jul 22, 202627.91×317.89×Complete9d952cec
Jul 22, 202626.34×295.76×Complete66813540
Jul 23, 202626.90×310.12×Completeb71ec835
Jul 23, 202626.77×301.03×Complete60637296
Jul 23, 202627.88×304.26×Complete82e61fdb
Jul 23, 202626.61×294.70×Complete34cc32f2
Jul 24, 202628.08×316.91×Complete29c952c7
Jul 24, 202627.28×302.89×Complete3c7f5a49
Jul 24, 202628.03×311.02×Complete05da391c
Jul 24, 202625.49×296.24×Completef867775a
Jul 25, 202625.69×279.02×Completefec76136
Jul 25, 202625.50×277.94×Complete2885efd5
Jul 25, 202625.48×294.72×Completeaad08796
Jul 26, 202625.43×283.31×Complete69017c95
Jul 30, 202626.30×289.96×Completee2ad2fe7
Jul 30, 202625.78×291.58×Complete761cc516
Aug 1, 202627.32×301.36×Complete264dbb82
Aug 2, 202625.86×292.60×Complete3a5c305d
Aug 4, 202625.71×280.56×Complete77717e94
Aug 4, 202626.31×304.33×Complete2034fe0e
Aug 4, 202626.55×298.12×Completeadc494ef
Aug 4, 202625.12×290.56×Complete69516d94
Aug 4, 202626.07×291.82×Complete2f66772b
Aug 4, 202626.18×288.40×Complete0044b8d6
Aug 4, 202626.09×304.24×Complete7987d72f
Aug 4, 202625.54×299.81×Completeed82c755
Aug 4, 202626.60×301.21×Completeaf64b768
Aug 5, 202626.20×297.21×Completee95a3e55
Aug 5, 202626.17×299.06×Completefb4ca7ae
Aug 5, 202628.88×319.16×Complete7011ddfa
Aug 5, 202625.33×275.20×Complete796f4edb
Aug 9, 202626.95×315.46×Completefc5e847f
Aug 10, 202625.67×286.37×Completeb8405784
Aug 10, 202626.87×295.80×Complete5699bffb
Aug 10, 202626.91×309.03×Completeeec8ec7a
Aug 10, 202625.65×293.57×Complete350ab3ce
Aug 10, 202624.93×291.88×Complete22ac15ca
Aug 10, 202625.29×297.89×Complete392d6664
Aug 10, 202625.75×278.34×Complete2196e0f2
Aug 11, 202625.90×294.04×Complete3030b237
Aug 11, 202625.97×293.49×Complete28a6bf3b

latest report detail

Workload measurements

Are We Fast Yet

WorkloadGocciaQuickJSNode.jsQJS ratioNode ratioStatus
Bounce21.01ms1.09ms1.00ms19.26×20.97×Complete
CD195.84ms9.83ms9.36ms19.91×20.93×Complete
DeltaBlue4.41ms288.96µs1.59ms15.25×2.77×Complete
Havlak77.49s4.32s188.91ms17.92×410.19×Complete
Json333.75ms14.03ms4.37ms23.78×76.44×Complete
List13.42ms993.07µs792.90µs13.52×16.93×Complete
Mandelbrot30.63µs5.83µs91.31µs5.25×0.34×Complete
NBody406.34µs32.11µs338.24µs12.66×1.20×Complete
Permute39.91ms1.85ms760.58µs21.55×52.47×Complete
Queens20.38ms1.29ms1.09ms15.76×18.62×Complete
Richards843.22ms52.64ms6.64ms16.02×127.04×Complete
Sieve11.82ms581.45µs705.12µs20.34×16.77×Complete
Storage33.78ms3.07ms1.06ms11.00×31.96×Complete
Towers58.26ms3.05ms1.15ms19.12×50.46×Complete

JetStream 3

WorkloadGocciaQuickJSNode.jsQJS ratioNode ratioStatus
hash-map0.59 pts13.64 pts326.50 pts23.16×554.30×Complete
ai-astar1.78 pts41.42 pts345.65 pts23.21×193.65×Complete
gaussian-blur0.38 pts7.95 pts287.86 pts21.07×762.78×Complete
raytrace-public-class-fields0.40 pts11.08 pts191.63 pts27.62×477.75×Complete
sync-fs0.92 pts27.37 pts209.94 pts29.74×228.12×Complete
lazy-collections2.07 pts68.17 pts148.20 pts32.94×71.62×Complete

Incomplete runs remain visible as gaps. The last complete measurement is labeled stale rather than carried forward as current.