Benchmarks

Every release from 2.5.8 on publishes the same measurement, the way it publishes its changelog: the render bench run on the new release and on the one before it, one after the other, on the same machine with nothing else running. Each entry compares versioned release builds. The previous release is rebuilt from its tag; the current candidate is measured after its source and version are final.

The bench draws a price chart with a volume pane in headless Chromium and times three things at 10,000, 50,000 and 200,000 loaded bars, on the 2D canvas and the WebGL2 backend:

  • Pan frame: a mouse drag with about 200 bars in view, one bar per step.
  • Full zoom-out frame: every loaded bar in view, one pixel of drag per step.
  • Tick with 10 studies: a forming-bar update on a chart carrying ten studies, the frame that recomputes and repaints them.

Each step is timed from the input to painted pixels. A cell gives the previous release’s p95 and this one’s, each the lowest of several runs, and how many times faster or slower the step became; within 5% either way reads as the same.

Read the figures as a comparison within one entry. The absolute numbers belong to the machine that measured them, and headless Chromium draws WebGL on a software GL device, so the webgl2 rows compare one build of the WebGL path with another, not WebGL with the 2D canvas or with a real GPU. CI holds every change to separate frame budgets on its own runner; the method, the budgets and why a fast result can be trusted are in the performance notes. The raw timings of every run are in benchmarks/releases.json.

2.6.7

Measured 2026-10-17 against 2.6.6, both run in one session on one machine: each cell is the lowest p95 of 5 runs of 2.6.7 and 5 of 2.6.6.

Machine: AMD EPYC 9V45 96-Core Processor (4 logical CPUs), Linux 6.17.0-1022-azure, headless Chromium 149.0.7827.55, software GL (SwiftShader), device pixel ratio 1.

RendererBarsPan frame p95Full zoom-out frame p95Tick p95, 10 studies
canvas2d10,0003.9 ms to 3.9 ms (same)13.9 ms to 12.2 ms (1.1x faster)28.9 ms to 27.2 ms (1.1x faster)
canvas2d50,0004.2 ms to 3.8 ms (1.1x faster)26.3 ms to 27.1 ms (same)78.5 ms to 77.3 ms (same)
canvas2d200,0004.3 ms to 4 ms (1.1x faster)61.3 ms to 56.7 ms (1.1x faster)177.5 ms to 175.5 ms (same)
webgl210,00029.9 ms to 29 ms (same)36.2 ms to 33.5 ms (1.1x faster)71.2 ms to 69.7 ms (same)
webgl250,00030.4 ms to 29.3 ms (same)46.6 ms to 43.2 ms (1.1x faster)106.3 ms to 103 ms (same)
webgl2200,00030.8 ms to 29.2 ms (1.1x faster)89.3 ms to 86.5 ms (same)244.9 ms to 242.9 ms (same)

2.6.6

Measured 2026-10-17 against 2.6.5, both run in one session on one machine: each cell is the lowest p95 of 5 runs of 2.6.6 and 5 of 2.6.5.

Machine: AMD EPYC 7763 64-Core Processor (4 logical CPUs), Linux 6.17.0-1022-azure, headless Chromium 149.0.7827.55, software GL (SwiftShader), device pixel ratio 1.

RendererBarsPan frame p95Full zoom-out frame p95Tick p95, 10 studies
canvas2d10,0007.3 ms to 6.9 ms (1.1x faster)17.7 ms to 19.3 ms (1.1x slower)42.8 ms to 41.4 ms (same)
canvas2d50,0007.2 ms to 6.9 ms (same)36 ms to 36.5 ms (same)115.9 ms to 110.6 ms (same)
canvas2d200,0007.1 ms to 7.4 ms (same)112.6 ms to 114.9 ms (same)256.3 ms to 256.9 ms (same)
webgl210,00045.3 ms to 45.2 ms (same)54.5 ms to 53 ms (same)107.8 ms to 105.9 ms (same)
webgl250,00045.6 ms to 45.4 ms (same)66.8 ms to 66.9 ms (same)154.2 ms to 151.4 ms (same)
webgl2200,00045.5 ms to 45.4 ms (same)129.1 ms to 127.7 ms (same)342 ms to 341.2 ms (same)

2.6.5

Measured 2026-10-16 against 2.6.4, both run in one session on one machine: each cell is the lowest p95 of 5 runs of 2.6.5 and 5 of 2.6.4.

Machine: AMD EPYC 7763 64-Core Processor (4 logical CPUs), Linux 6.17.0-1022-azure, headless Chromium 149.0.7827.55, software GL (SwiftShader), device pixel ratio 1.

RendererBarsPan frame p95Full zoom-out frame p95Tick p95, 10 studies
canvas2d10,0008.5 ms to 8.9 ms (same)20.1 ms to 22.3 ms (1.1x slower)42.8 ms to 42 ms (same)
canvas2d50,0008.1 ms to 7.3 ms (1.1x faster)37.5 ms to 38.7 ms (same)113.9 ms to 119.7 ms (1.1x slower)
canvas2d200,0008.2 ms to 7.1 ms (1.2x faster)124.2 ms to 126.3 ms (same)263 ms to 264.2 ms (same)
webgl210,00045.6 ms to 45.6 ms (same)55.4 ms to 56.9 ms (same)107.6 ms to 107.3 ms (same)
webgl250,00045.7 ms to 45.9 ms (same)67.4 ms to 67.3 ms (same)155.3 ms to 155.9 ms (same)
webgl2200,00045.8 ms to 45.5 ms (same)135.3 ms to 131.9 ms (same)345.3 ms to 348.8 ms (same)

2.6.4

Measured 2026-10-13 against 2.6.3, both run in one session on one machine: each cell is the lowest p95 of 5 runs of 2.6.4 and 5 of 2.6.3.

Machine: AMD Ryzen 7 7700 8-Core Processor (16 logical CPUs), Windows 10.0.26200, headless Chromium 149.0.7827.55, software GL (SwiftShader), device pixel ratio 1.

RendererBarsPan frame p95Full zoom-out frame p95Tick p95, 10 studies
canvas2d10,0002.1 ms to 2.1 ms (same)6.8 ms to 7.3 ms (1.1x slower)19.9 ms to 20.4 ms (same)
canvas2d50,0002 ms to 2 ms (same)19.6 ms to 19.9 ms (same)50.7 ms to 53.3 ms (1.1x slower)
canvas2d200,0002.1 ms to 2.1 ms (same)53 ms to 55.3 ms (same)150.3 ms to 146.6 ms (same)
webgl210,00011.2 ms to 10.1 ms (1.1x faster)13.1 ms to 13.2 ms (same)27.2 ms to 28.4 ms (same)
webgl250,0009.9 ms to 10.4 ms (1.1x slower)20.4 ms to 20.6 ms (same)53.5 ms to 54.4 ms (same)
webgl2200,00011 ms to 11 ms (same)57.8 ms to 57.1 ms (same)160.2 ms to 157.8 ms (same)

2.6.3

Measured 2026-10-13 against 2.6.2, both run in one session on one machine: each cell is the lowest p95 of 5 runs of 2.6.3 and 5 of 2.6.2.

Machine: AMD Ryzen 7 7700 8-Core Processor (16 logical CPUs), Windows 10.0.26200, headless Chromium 149.0.7827.55, software GL (SwiftShader), device pixel ratio 1.

RendererBarsPan frame p95Full zoom-out frame p95Tick p95, 10 studies
canvas2d10,0002 ms to 2.1 ms (same)7.4 ms to 5.3 ms (1.4x faster)19.9 ms to 20.6 ms (same)
canvas2d50,0002.1 ms to 2.1 ms (same)19.2 ms to 19.3 ms (same)42.6 ms to 58.1 ms (1.4x slower)
canvas2d200,0002 ms to 2 ms (same)53.6 ms to 51.5 ms (same)150.8 ms to 149.9 ms (same)
webgl210,00010.8 ms to 10.1 ms (1.1x faster)12.6 ms to 12.6 ms (same)27.9 ms to 27.2 ms (same)
webgl250,0009.8 ms to 10.9 ms (1.1x slower)20.1 ms to 19.7 ms (same)53.8 ms to 53.7 ms (same)
webgl2200,0009.8 ms to 10.6 ms (1.1x slower)56.6 ms to 56.4 ms (same)160.2 ms to 159.8 ms (same)

2.6.2

Measured 2026-10-13 against 2.6.1, both run in one session on one machine: each cell is the lowest p95 of 5 runs of 2.6.2 and 5 of 2.6.1.

Machine: AMD Ryzen 7 7700 8-Core Processor (16 logical CPUs), Windows 10.0.26200, headless Chromium 149.0.7827.55, software GL (SwiftShader), device pixel ratio 1.

RendererBarsPan frame p95Full zoom-out frame p95Tick p95, 10 studies
canvas2d10,0002.2 ms to 2.3 ms (same)6.6 ms to 7.2 ms (1.1x slower)19.8 ms to 19.7 ms (same)
canvas2d50,0002.2 ms to 2.2 ms (same)20.7 ms to 20.7 ms (same)45 ms to 45.2 ms (same)
canvas2d200,0002.2 ms to 2.2 ms (same)55.6 ms to 56 ms (same)157.8 ms to 154.3 ms (same)
webgl210,00011.2 ms to 11.3 ms (same)13.5 ms to 13.1 ms (same)28.5 ms to 28.5 ms (same)
webgl250,00011.3 ms to 11.4 ms (same)21.7 ms to 21.5 ms (same)57.5 ms to 56.8 ms (same)
webgl2200,00011.3 ms to 11.4 ms (same)59.4 ms to 63.5 ms (1.1x slower)169.3 ms to 163.7 ms (same)

2.6.1

Measured 2026-10-13 against 2.6.0, both run in one session on one machine: each cell is the lowest p95 of 5 runs of 2.6.1 and 5 of 2.6.0.

Machine: AMD Ryzen 7 7700 8-Core Processor (16 logical CPUs), Windows 10.0.26200, headless Chromium 149.0.7827.55, software GL (SwiftShader), device pixel ratio 1.

RendererBarsPan frame p95Full zoom-out frame p95Tick p95, 10 studies
canvas2d10,0002.3 ms to 2.4 ms (same)7.5 ms to 7.6 ms (same)20.8 ms to 19.8 ms (1.1x faster)
canvas2d50,0002.4 ms to 2.5 ms (same)20.8 ms to 21.2 ms (same)44.9 ms to 45.2 ms (same)
canvas2d200,0002.4 ms to 2.6 ms (1.1x slower)57.4 ms to 58.4 ms (same)154.8 ms to 154.9 ms (same)
webgl210,00011.6 ms to 11.3 ms (same)13.9 ms to 13.8 ms (same)30.7 ms to 30.6 ms (same)
webgl250,00011.3 ms to 11.9 ms (1.1x slower)22 ms to 21.9 ms (same)58 ms to 57.7 ms (same)
webgl2200,00011.6 ms to 12.3 ms (1.1x slower)60.7 ms to 62.2 ms (same)162.1 ms to 170.3 ms (1.1x slower)

2.6.0

Measured 2026-10-01 against 2.5.10, both run in one session on one machine: each cell is the lowest p95 of 5 runs of 2.6.0 and 5 of 2.5.10.

Machine: AMD Ryzen 7 7700 8-Core Processor (16 logical CPUs), Windows 10.0.26200, headless Chromium 149.0.7827.55, software GL (SwiftShader), device pixel ratio 1.

RendererBarsPan frame p95Full zoom-out frame p95Tick p95, 10 studies
canvas2d10,0002.6 ms to 2.5 ms (same)7.8 ms to 8.6 ms (1.1x slower)22.1 ms to 21.6 ms (same)
canvas2d50,0002.6 ms to 2.5 ms (same)22.9 ms to 21.5 ms (1.1x faster)48.4 ms to 51.1 ms (1.1x slower)
canvas2d200,0002.7 ms to 2.6 ms (same)66.6 ms to 63.6 ms (same)175.7 ms to 178.3 ms (same)
webgl210,00012.7 ms to 12.8 ms (same)14.8 ms to 15.2 ms (same)34.1 ms to 32.5 ms (same)
webgl250,00013.3 ms to 13 ms (same)24.2 ms to 23.4 ms (same)67.7 ms to 64.1 ms (1.1x faster)
webgl2200,00013 ms to 12.6 ms (same)77.1 ms to 76.7 ms (same)193.2 ms to 189 ms (same)

2.5.10

Measured 2026-09-30 against 2.5.9, both run in one session on one machine: each cell is the lowest p95 of 5 runs of 2.5.10 and 5 of 2.5.9.

Machine: AMD Ryzen 7 7700 8-Core Processor (16 logical CPUs), Windows 10.0.26200, headless Chromium 149.0.7827.55, software GL (SwiftShader), device pixel ratio 1.

RendererBarsPan frame p95Full zoom-out frame p95Tick p95, 10 studies
canvas2d10,0002.4 ms to 2.4 ms (same)8.2 ms to 8.1 ms (same)21.1 ms to 21.1 ms (same)
canvas2d50,0002.5 ms to 2.6 ms (same)21.3 ms to 22.7 ms (1.1x slower)46.8 ms to 46.8 ms (same)
canvas2d200,0002.6 ms to 2.6 ms (same)57.6 ms to 62.7 ms (1.1x slower)152.5 ms to 157.6 ms (same)
webgl210,00012.4 ms to 12.5 ms (same)14.4 ms to 14.7 ms (same)29.8 ms to 30.2 ms (same)
webgl250,00012.1 ms to 12.3 ms (same)22.9 ms to 24 ms (same)58.1 ms to 60 ms (same)
webgl2200,00012.6 ms to 12.4 ms (same)70.8 ms to 73.3 ms (same)169.4 ms to 171.1 ms (same)

2.5.9

Measured 2026-09-27 against 2.5.8, both run in one session on one machine: each cell is the lowest p95 of 5 runs of 2.5.9 and 5 of 2.5.8.

Machine: AMD Ryzen 7 7700 8-Core Processor (16 logical CPUs), Windows 10.0.26200, headless Chromium 149.0.7827.55, software GL (SwiftShader), device pixel ratio 1.

RendererBarsPan frame p95Full zoom-out frame p95Tick p95, 10 studies
canvas2d10,0002.2 ms to 2.2 ms (same)5.9 ms to 6.8 ms (1.2x slower)20.2 ms to 20.1 ms (same)
canvas2d50,0002.1 ms to 2.2 ms (same)19.7 ms to 20.1 ms (same)60 ms to 53.6 ms (1.1x faster)
canvas2d200,0002.2 ms to 2.3 ms (same)52.1 ms to 56 ms (1.1x slower)143.7 ms to 149.6 ms (same)
webgl210,00011.7 ms to 11.1 ms (1.1x faster)13.4 ms to 12.8 ms (same)27.7 ms to 27.6 ms (same)
webgl250,00010.9 ms to 10.1 ms (1.1x faster)22 ms to 20.7 ms (1.1x faster)54.7 ms to 54.3 ms (same)
webgl2200,00011.8 ms to 11.5 ms (same)59.5 ms to 58.6 ms (same)158.3 ms to 159.3 ms (same)

2.5.8

Measured 2026-09-27 against 2.5.7, both run in one session on one machine: each cell is the lowest p95 of 5 runs of 2.5.8 and 2 of 2.5.7.

Machine: AMD Ryzen 7 7700 8-Core Processor (16 logical CPUs), Windows 10.0.26200, headless Chromium 149.0.7827.55, software GL (SwiftShader), device pixel ratio 1.

RendererBarsPan frame p95Full zoom-out frame p95Tick p95, 10 studies
canvas2d10,0002.3 ms to 2.3 ms (same)19.2 ms to 6.4 ms (3.0x faster)198.4 ms to 20.8 ms (9.5x faster)
canvas2d50,0002.3 ms to 2.2 ms (same)58.2 ms to 20.5 ms (2.8x faster)1066.9 ms to 46.9 ms (22.7x faster)
canvas2d200,0002.2 ms to 2.2 ms (same)243.2 ms to 55.2 ms (4.4x faster)5799.1 ms to 150.8 ms (38.5x faster)
webgl210,00011.4 ms to 11.2 ms (same)18.8 ms to 13.4 ms (1.4x faster)203.8 ms to 28.7 ms (7.1x faster)
webgl250,00011.1 ms to 11.3 ms (same)58 ms to 21.6 ms (2.7x faster)1093.4 ms to 56.2 ms (19.5x faster)
webgl2200,00011 ms to 11.1 ms (same)236.3 ms to 61.2 ms (3.9x faster)5181.9 ms to 169 ms (30.7x faster)