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 Yet16.26×QuickJS reference20.30×Node.js reference

Latest · Aug 25, 2026

JetStream 327.64×QuickJS reference317.55×Node.js reference

Latest · Aug 25, 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.3×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×Aug 13, 2026: QuickJS 17.03×, Node.js 18.68×Aug 13, 2026: QuickJS 17.03×, Node.js 18.68×Aug 14, 2026: QuickJS 17.66×, Node.js 20.67×Aug 14, 2026: QuickJS 17.66×, Node.js 20.67×Aug 15, 2026: QuickJS 17.24×, Node.js 20.63×Aug 15, 2026: QuickJS 17.24×, Node.js 20.63×Aug 16, 2026: QuickJS 15.64×, Node.js 19.38×Aug 16, 2026: QuickJS 15.64×, Node.js 19.38×Aug 18, 2026: QuickJS 17.63×, Node.js 21.21×Aug 18, 2026: QuickJS 17.63×, Node.js 21.21×Aug 19, 2026: QuickJS 15.77×, Node.js 16.99×Aug 19, 2026: QuickJS 15.77×, Node.js 16.99×Aug 24, 2026: QuickJS 18.20×, Node.js 21.38×Aug 24, 2026: QuickJS 18.20×, Node.js 21.38×Aug 25, 2026: QuickJS 16.26×, Node.js 20.30×Aug 25, 2026: QuickJS 16.26×, Node.js 20.30×Jul 30Aug 25
  • QuickJS reference
  • Node.js reference
  • Incomplete run
Are We Fast Yet chart data
DateQuickJSNode.jsStatusCommit
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
Aug 13, 202617.03×18.68×Complete31ebba4d
Aug 14, 202617.66×20.67×Complete01d4336f
Aug 15, 202617.24×20.63×Complete3a0b80b0
Aug 16, 202615.64×19.38×Complete7444c552
Aug 18, 202617.63×21.21×Complete0508da44
Aug 19, 202615.77×16.99×Complete94e99d65
Aug 24, 202618.20×21.38×Complete455395b4
Aug 25, 202616.26×20.30×Completef4d403f0

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×17.9×506.2×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×Aug 13, 2026: QuickJS 25.97×, Node.js 304.73×Aug 13, 2026: QuickJS 25.97×, Node.js 304.73×Aug 13, 2026: QuickJS 25.84×, Node.js 299.64×Aug 13, 2026: QuickJS 25.84×, Node.js 299.64×Aug 13, 2026: QuickJS 26.10×, Node.js 305.03×Aug 13, 2026: QuickJS 26.10×, Node.js 305.03×Aug 13, 2026: QuickJS 25.94×, Node.js 282.20×Aug 13, 2026: QuickJS 25.94×, Node.js 282.20×Aug 13, 2026: QuickJS 27.30×, Node.js 303.90×Aug 13, 2026: QuickJS 27.30×, Node.js 303.90×Aug 13, 2026: QuickJS 25.63×, Node.js 291.78×Aug 13, 2026: QuickJS 25.63×, Node.js 291.78×Aug 14, 2026: QuickJS 26.31×, Node.js 300.79×Aug 14, 2026: QuickJS 26.31×, Node.js 300.79×Aug 15, 2026: QuickJS 26.58×, Node.js 302.12×Aug 15, 2026: QuickJS 26.58×, Node.js 302.12×Aug 16, 2026: QuickJS 25.45×, Node.js 298.61×Aug 16, 2026: QuickJS 25.45×, Node.js 298.61×Aug 18, 2026: QuickJS 25.08×, Node.js 270.92×Aug 18, 2026: QuickJS 25.08×, Node.js 270.92×Aug 18, 2026: QuickJS 26.27×, Node.js 305.36×Aug 18, 2026: QuickJS 26.27×, Node.js 305.36×Aug 18, 2026: QuickJS 25.96×, Node.js 307.24×Aug 18, 2026: QuickJS 25.96×, Node.js 307.24×Aug 18, 2026: QuickJS 25.40×, Node.js 294.49×Aug 18, 2026: QuickJS 25.40×, Node.js 294.49×Aug 18, 2026: QuickJS 27.04×, Node.js 301.17×Aug 18, 2026: QuickJS 27.04×, Node.js 301.17×Aug 19, 2026: QuickJS 25.52×, Node.js 274.30×Aug 19, 2026: QuickJS 25.52×, Node.js 274.30×Aug 19, 2026: QuickJS 25.78×, Node.js 296.68×Aug 19, 2026: QuickJS 25.78×, Node.js 296.68×Aug 19, 2026: QuickJS 26.21×, Node.js 300.88×Aug 19, 2026: QuickJS 26.21×, Node.js 300.88×Aug 24, 2026: QuickJS 27.81×, Node.js 309.57×Aug 24, 2026: QuickJS 27.81×, Node.js 309.57×Aug 25, 2026: QuickJS 27.63×, Node.js 301.94×Aug 25, 2026: QuickJS 27.63×, Node.js 301.94×Aug 25, 2026: QuickJS 27.64×, Node.js 317.55×Aug 25, 2026: QuickJS 27.64×, Node.js 317.55×Jul 30Aug 25
  • QuickJS reference
  • Node.js reference
  • Incomplete run
JetStream 3 chart data
DateQuickJSNode.jsStatusCommit
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
Aug 13, 202625.97×304.73×Completeccb70192
Aug 13, 202625.84×299.64×Complete02292671
Aug 13, 202626.10×305.03×Complete48b87016
Aug 13, 202625.94×282.20×Completeda05ecb1
Aug 13, 202627.30×303.90×Completef252fc6a
Aug 13, 202625.63×291.78×Complete31ebba4d
Aug 14, 202626.31×300.79×Complete01d4336f
Aug 15, 202626.58×302.12×Complete3a0b80b0
Aug 16, 202625.45×298.61×Complete7444c552
Aug 18, 202625.08×270.92×Complete7ed68db8
Aug 18, 202626.27×305.36×Completea2dbadda
Aug 18, 202625.96×307.24×Complete3f50d47f
Aug 18, 202625.40×294.49×Completeb50b08e1
Aug 18, 202627.04×301.17×Complete0508da44
Aug 19, 202625.52×274.30×Complete63c64bc3
Aug 19, 202625.78×296.68×Complete65c40c95
Aug 19, 202626.21×300.88×Complete94e99d65
Aug 24, 202627.81×309.57×Complete455395b4
Aug 25, 202627.63×301.94×Completef426b1b4
Aug 25, 202627.64×317.55×Completef4d403f0

latest report detail

Workload measurements

Are We Fast Yet

WorkloadGocciaQuickJSNode.jsQJS ratioNode ratioStatus
Bounce21.87ms1.10ms969.11µs19.94×22.57×Complete
CD202.16ms9.91ms8.99ms20.41×22.49×Complete
DeltaBlue4.51ms289.86µs1.58ms15.56×2.86×Complete
Havlak78.92s4.13s187.45ms19.09×421.00×Complete
Json350.01ms14.02ms4.22ms24.96×82.95×Complete
List13.23ms1.00ms719.52µs13.17×18.39×Complete
Mandelbrot30.39µs5.45µs89.00µs5.58×0.34×Complete
NBody445.30µs31.13µs344.06µs14.31×1.29×Complete
Permute40.26ms1.84ms744.08µs21.86×54.11×Complete
Queens20.73ms1.30ms996.21µs15.95×20.81×Complete
Richards840.79ms51.88ms6.50ms16.21×129.40×Complete
Sieve12.65ms584.79µs699.12µs21.63×18.09×Complete
Storage37.48ms3.05ms1.04ms12.28×36.21×Complete
Towers58.65ms3.10ms1.14ms18.91×51.40×Complete

JetStream 3

WorkloadGocciaQuickJSNode.jsQJS ratioNode ratioStatus
hash-map0.55 pts13.59 pts315.01 pts24.67×571.77×Complete
ai-astar1.67 pts41.48 pts343.04 pts24.79×205.00×Complete
gaussian-blur0.36 pts7.97 pts285.18 pts22.43×802.72×Complete
raytrace-public-class-fields0.39 pts11.03 pts200.51 pts28.54×518.71×Complete
sync-fs0.83 pts27.25 pts230.05 pts32.88×277.60×Complete
lazy-collections1.98 pts68.56 pts149.74 pts34.65×75.68×Complete

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