Cytoscape.js GPU benchmarks

v4 (src/) vs v3 (v3/src/) · Mitata · times are per-iteration p50 · 2026-08-09 16:52 · e37d2444 (v4) · Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz · GPU: amd gcn-4 · chromium v24.18.0 · renderer profile

Machine and provenance
CPUIntel(R) Core(TM) i9-9900K CPU @ 3.60GHz
Cores8 physical / 16 logical · 3.6 GHz base · 5 GHz max
Memory62.6 GiB
GPUCoffeeLake-S GT2 [UHD Graphics 630] i915
Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (8.0 GiB) amdgpu
Adapteramd gcn-4
Browserchromium 149.0.7827.55
OSFedora Linux 43 (Workstation Edition) · 6.19.14-200.fc43.x86_64 · x64
Nodev24.18.0 (v8 13.6.233.17-node.50)
Commite37d2444 + uncommitted changes
docs: round 60 closes — the record, the header, and the summary's week 4
Machine id5cf3f79c
Median speedup (geo-mean) 27× 96 v3-vs-gpu comparisons
Biggest win 261× frame: pan fit-all (labels) @ N=100k
v3 still ahead 0 comparisons
Total run time 19.9 min renderer profile

Speedup overview v3 p50 ÷ gpu p50, log scale · right of the 1× line = gpu faster

frame: pan fit-all (labels) @ 100k
261×
frame: pan far-zoom ÷8 @ 19.607k
255×
frame: pan fit-all @ 100k
218×
frame: pan far-zoom ÷8 @ 100k
212×
frame: pan fit-all (labels) @ 25k
146×
frame: pan fit-all (labels) @ 19.607k
142×
frame: pan fit-all @ 25k
138×
frame: pan far-zoom ÷8 @ 25k
137×
frame: pan fit-all @ 19.607k
128×
frame: pan fit-all @ 26k
127×
frame: pan far-zoom ÷8 @ 26k
126×
frame: pan fit-all (labels) @ 25k
124×
frame: pan fit-all (labels) @ 26k
123×
frame: pan fit-all @ 25k
122×
frame: pan far-zoom ÷8 @ 25k
117×
frame: pan zoomed-in 20× (labels) @ 100k
114×
frame: pan zoomed-in 20× @ 100k
108×
frame: pan zoomed-in 20× (labels) @ 19.607k
98×
frame: pan zoomed-in 20× @ 19.607k
76×
frame: pan fit-all (labels) @ 25k
47×
frame: pan fit-all (labels) @ 25k
46×
frame: pan fit-all (labels) @ 25k
45×
frame: pan fit-all (labels) @ 25k
45×
frame: pan fit-all (labels) @ 25k
44×
frame: pan fit-all (labels) @ 25k
44×
frame: pan far-zoom ÷8 @ 25k
41×
frame: pan fit-all @ 25k
40×
frame: pan fit-all @ 25k
40×
frame: pan far-zoom ÷8 @ 25k
40×
frame: pan fit-all @ 25k
39×
frame: pan fit-all @ 25k
39×
frame: pan far-zoom ÷8 @ 25k
39×
frame: pan fit-all @ 25k
39×
frame: pan far-zoom ÷8 @ 25k
39×
frame: pan far-zoom ÷8 @ 25k
39×
frame: pan fit-all (labels) @ 25k
38×
frame: pan fit-all @ 25k
37×
export: png full (≤2048 px) @ 19.607k
37×
frame: pan far-zoom ÷8 @ 25k
37×
frame: pan far-zoom ÷8 @ 25k
34×
frame: pan fit-all @ 25k
34×
frame: pan zoomed-in 20× (labels) @ 25k
32×
frame: pan zoomed-in 20× @ 25k
31×
frame: pan zoomed-in 20× (labels) @ 25k
31×
frame: pan zoomed-in 20× @ 25k
29×
export: png full (≤2048 px) @ 100k
28×
frame: pan zoomed-in 20× (labels) @ 25k
23×
frame: pan zoomed-in 20× (labels) @ 25k
21×
frame: pan zoomed-in 20× (labels) @ 25k
21×
frame: pan zoomed-in 20× (labels) @ 25k
20×
frame: pan zoomed-in 20× @ 25k
20×
frame: pan zoomed-in 20× (labels) @ 25k
20×
frame: pan zoomed-in 20× (labels) @ 25k
20×
frame: pan zoomed-in 20× @ 25k
19×
frame: pan zoomed-in 20× @ 25k
19×
frame: pan zoomed-in 20× @ 25k
19×
frame: pan zoomed-in 20× (labels) @ 25k
18×
frame: pan zoomed-in 20× @ 25k
18×
export: png full (≤2048 px) @ 25k
18×
frame: pan zoomed-in 20× @ 25k
18×
init: create + ready @ 26k
17×
frame: pan zoomed-in 20× @ 25k
17×
export: png full (≤2048 px) @ 25k
17×
init: create + ready @ 25k
16×
init: create + ready (labels) @ 25k
15×
frame: pan zoomed-in 20× (labels) @ 26k
15×
init: create + ready (labels) @ 26k
14×
init: create + ready (labels) @ 25k
14×
frame: pan zoomed-in 20× @ 26k
14×
init: create + ready (labels) @ 19.607k
14×
init: create + ready (labels) @ 25k
13×
init: create + ready (labels) @ 25k
13×
init: create + ready (labels) @ 25k
13×
init: create + ready @ 25k
13×
init: create + ready (labels) @ 25k
13×
init: create + ready @ 25k
13×
init: create + ready @ 25k
12×
init: create + ready @ 25k
12×
init: create + ready (labels) @ 25k
12×
init: create + ready @ 19.607k
12×
init: create + ready @ 100k
12×
init: create + ready (labels) @ 25k
12×
init: create + ready @ 25k
11×
init: create + ready @ 25k
11×
init: create + ready @ 25k
11×
init: create + ready (labels) @ 100k
11×
init: create + ready (labels) @ 25k
10×
init: create + ready @ 25k
8.9×
export: png full (≤2048 px) @ 25k
6.7×
export: png full (≤2048 px) @ 25k
6.4×
export: png full (≤2048 px) @ 25k
6.2×
export: png full (≤2048 px) @ 26k
5.3×
export: png full (≤2048 px) @ 25k
4.8×
export: png full (≤2048 px) @ 25k
4.8×
export: png full (≤2048 px) @ 25k
4.0×
export: png full (≤2048 px) @ 25k
2.7×
10×100×1000×

render — generated 25k × 50k N=25,000 · 1.2 minv4 (gpu) v3

Wall frame times are vsync-bound (both sides floor at the display refresh when fast); “gpu (device)” table rows are GPU-pass time via timestamp-query — the unbounded cost metric. init/export rows are one-shot timings. Adapter: amd gcn-4; dpr 2; 1280×800; adaptive render scale pinned to 1.

frame: pan fit-all
37×
frame: pan zoomed-in 20×
17×
frame: pan far-zoom ÷8
37×
frame: pan fit-all (labels)
44×
frame: pan zoomed-in 20× (labels)
18×
pick: hover while panning — gpu
17.7 ms
compaction: pan fit-all, 10% live — gpu (peak slots)
16.7 ms
compaction: pan fit-all, 10% live — gpu (compacted)
16.7 ms
compaction: pan fit-all, 10% live — gpu device (peak slots)
464 µs
compaction: pan fit-all, 10% live — gpu device (compacted)
984 µs
compaction: compact() one-shot — gpu
19.2 ms
init: create + ready
8.9×
init: create + ready (labels)
10×
init: columnar form (gpu-only) — gpu
141 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
23.1 ms
export: png full (≤2048 px)
4.8×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 620 ms638 ms 664 ms606 ms 12
frame: pan fit-allgpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan fit-allgpu (device) 3.40 ms3.40 ms 3.41 ms3.39 ms 118
frame: pan zoomed-in 20×v3 281 ms280 ms 287 ms203 ms 12
frame: pan zoomed-in 20×gpu 16.7 ms16.7 ms 16.8 ms16.4 ms 121
frame: pan zoomed-in 20×gpu (device) 4.43 ms4.43 ms 4.45 ms4.41 ms 120
frame: pan far-zoom ÷8v3 619 ms620 ms 636 ms600 ms 12
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan far-zoom ÷8gpu (device) 1.41 ms1.41 ms 1.42 ms1.40 ms 119
frame: pan fit-all (labels)v3 739 ms753 ms 765 ms724 ms 11
frame: pan fit-all (labels)gpu 16.7 ms16.7 ms 16.8 ms16.5 ms 121
frame: pan fit-all (labels)gpu (device) 3.67 ms3.67 ms 3.68 ms3.66 ms 119
frame: pan zoomed-in 20× (labels)v3 305 ms306 ms 308 ms212 ms 12
frame: pan zoomed-in 20× (labels)gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan zoomed-in 20× (labels)gpu (device) 4.77 ms4.77 ms 4.79 ms4.75 ms 120
pick: hover while panninggpu 17.7 ms18.0 ms 18.7 ms4.20 ms 25
compaction: pan fit-all, 10% livegpu (peak slots) 16.7 ms16.7 ms 16.9 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu (compacted) 16.7 ms16.7 ms 16.9 ms16.3 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 464 µs467 µs 467 µs462 µs 111
compaction: pan fit-all, 10% livegpu device (compacted) 984 µs984 µs 995 µs975 µs 118
compaction: compact() one-shotgpu 19.2 ms19.2 ms 19.2 ms19.2 ms 1
init: create + readyv3 2.60 s2.60 s 2.60 s2.60 s 1
init: create + readygpu 291 ms291 ms 291 ms291 ms 1
init: create + ready (labels)v3 3.51 s3.51 s 3.51 s3.51 s 1
init: create + ready (labels)gpu 349 ms349 ms 349 ms349 ms 1
init: columnar form (gpu-only)gpu 141 ms141 ms 141 ms141 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 23.1 ms23.1 ms 23.1 ms23.1 ms 1
export: png full (≤2048 px)v3 1.40 s1.40 s 1.40 s1.40 s 1
export: png full (≤2048 px)gpu 290 ms290 ms 290 ms290 ms 1

render — generated 100k × 300k N=100,000 · 2.9 minv4 (gpu) v3

Wall frame times are vsync-bound (both sides floor at the display refresh when fast); “gpu (device)” table rows are GPU-pass time via timestamp-query — the unbounded cost metric. init/export rows are one-shot timings. Adapter: amd gcn-4; dpr 2; 1280×800; adaptive render scale pinned to 1.

frame: pan fit-all
218×
frame: pan zoomed-in 20×
108×
frame: pan far-zoom ÷8
212×
frame: pan fit-all (labels)
261×
frame: pan zoomed-in 20× (labels)
114×
pick: hover while panning — gpu
19.1 ms
compaction: pan fit-all, 10% live — gpu (peak slots)
16.7 ms
compaction: pan fit-all, 10% live — gpu (compacted)
16.7 ms
compaction: pan fit-all, 10% live — gpu device (peak slots)
2.26 ms
compaction: pan fit-all, 10% live — gpu device (compacted)
538 µs
compaction: compact() one-shot — gpu
67.4 ms
init: create + ready
12×
init: create + ready (labels)
11×
init: columnar form (gpu-only) — gpu
780 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
110 ms
export: png full (≤2048 px)
28×
100 µs1 ms10 ms100 ms1 s10 s100 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 3.63 s4.13 s 3.63 s3.63 s 2
frame: pan fit-allgpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan fit-allgpu (device) 9.31 ms9.32 ms 9.34 ms9.30 ms 121
frame: pan zoomed-in 20×v3 1.81 s1.78 s 1.83 s1.35 s 5
frame: pan zoomed-in 20×gpu 16.7 ms19.0 ms 33.5 ms16.3 ms 106
frame: pan zoomed-in 20×gpu (device) 18.7 ms18.7 ms 18.8 ms18.6 ms 107
frame: pan far-zoom ÷8v3 3.54 s3.57 s 3.54 s3.51 s 3
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan far-zoom ÷8gpu (device) 1.67 ms1.67 ms 1.71 ms1.66 ms 117
frame: pan fit-all (labels)v3 4.35 s4.71 s 4.35 s4.35 s 2
frame: pan fit-all (labels)gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan fit-all (labels)gpu (device) 10.4 ms10.4 ms 10.4 ms10.4 ms 119
frame: pan zoomed-in 20× (labels)v3 1.90 s2.02 s 2.24 s1.34 s 4
frame: pan zoomed-in 20× (labels)gpu 16.7 ms20.4 ms 33.6 ms16.4 ms 99
frame: pan zoomed-in 20× (labels)gpu (device) 20.1 ms20.1 ms 20.2 ms20.0 ms 98
pick: hover while panninggpu 19.1 ms16.9 ms 19.5 ms500 µs 25
compaction: pan fit-all, 10% livegpu (peak slots) 16.7 ms16.7 ms 16.9 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu (compacted) 16.7 ms16.7 ms 16.9 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 2.26 ms2.26 ms 2.26 ms2.24 ms 121
compaction: pan fit-all, 10% livegpu device (compacted) 538 µs538 µs 540 µs535 µs 116
compaction: compact() one-shotgpu 67.4 ms67.4 ms 67.4 ms67.4 ms 1
init: create + readyv3 16.1 s16.1 s 16.1 s16.1 s 1
init: create + readygpu 1.40 s1.40 s 1.40 s1.40 s 1
init: create + ready (labels)v3 19.7 s19.7 s 19.7 s19.7 s 1
init: create + ready (labels)gpu 1.83 s1.83 s 1.83 s1.83 s 1
init: columnar form (gpu-only)gpu 780 ms780 ms 780 ms780 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 110 ms110 ms 110 ms110 ms 1
export: png full (≤2048 px)v3 6.89 s6.89 s 6.89 s6.89 s 1
export: png full (≤2048 px)gpu 245 ms245 ms 245 ms245 ms 1

render — ndex-x-large (19.6k × 465k) N=19,607 · 3.2 minv4 (gpu) v3

Wall frame times are vsync-bound (both sides floor at the display refresh when fast); “gpu (device)” table rows are GPU-pass time via timestamp-query — the unbounded cost metric. init/export rows are one-shot timings. Adapter: amd gcn-4; dpr 2; 1280×800; adaptive render scale pinned to 1.

frame: pan fit-all
128×
frame: pan zoomed-in 20×
76×
frame: pan far-zoom ÷8
255×
frame: pan fit-all (labels)
142×
frame: pan zoomed-in 20× (labels)
98×
pick: hover while panning — gpu
400 µs
compaction: pan fit-all, 10% live — gpu (peak slots)
16.7 ms
compaction: pan fit-all, 10% live — gpu (compacted)
16.7 ms
compaction: pan fit-all, 10% live — gpu device (peak slots)
1.45 ms
compaction: pan fit-all, 10% live — gpu device (compacted)
928 µs
compaction: compact() one-shot — gpu
72.3 ms
init: create + ready
12×
init: create + ready (labels)
14×
init: columnar form (gpu-only) — gpu
925 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
68.6 ms
export: png full (≤2048 px)
37×
100 µs1 ms10 ms100 ms1 s10 s100 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 4.27 s5.19 s 4.27 s4.27 s 2
frame: pan fit-allgpu 33.4 ms36.7 ms 50.1 ms33.1 ms 55
frame: pan fit-allgpu (device) 36.4 ms36.4 ms 36.8 ms36.1 ms 55
frame: pan zoomed-in 20×v3 2.53 s2.70 s 2.60 s2.51 s 4
frame: pan zoomed-in 20×gpu 33.3 ms35.4 ms 50.1 ms33.1 ms 57
frame: pan zoomed-in 20×gpu (device) 35.3 ms35.3 ms 36.1 ms34.3 ms 58
frame: pan far-zoom ÷8v3 4.25 s5.19 s 4.25 s4.25 s 2
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan far-zoom ÷8gpu (device) 1.57 ms1.57 ms 1.61 ms1.55 ms 119
frame: pan fit-all (labels)v3 4.74 s5.28 s 4.74 s4.74 s 2
frame: pan fit-all (labels)gpu 33.4 ms37.3 ms 50.1 ms33.0 ms 55
frame: pan fit-all (labels)gpu (device) 36.7 ms36.8 ms 37.4 ms36.4 ms 55
frame: pan zoomed-in 20× (labels)v3 3.27 s3.28 s 3.27 s3.22 s 3
frame: pan zoomed-in 20× (labels)gpu 33.4 ms37.7 ms 50.2 ms33.0 ms 54
frame: pan zoomed-in 20× (labels)gpu (device) 37.2 ms37.2 ms 38.0 ms36.3 ms 54
pick: hover while panninggpu 400 µs16.6 ms 64.7 ms0.00 ns 25
compaction: pan fit-all, 10% livegpu (peak slots) 16.7 ms16.7 ms 16.8 ms16.5 ms 121
compaction: pan fit-all, 10% livegpu (compacted) 16.7 ms16.7 ms 16.8 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 1.45 ms1.45 ms 1.47 ms1.44 ms 116
compaction: pan fit-all, 10% livegpu device (compacted) 928 µs929 µs 971 µs922 µs 117
compaction: compact() one-shotgpu 72.3 ms72.3 ms 72.3 ms72.3 ms 1
init: create + readyv3 20.8 s20.8 s 20.8 s20.8 s 1
init: create + readygpu 1.78 s1.78 s 1.78 s1.78 s 1
init: create + ready (labels)v3 24.5 s24.5 s 24.5 s24.5 s 1
init: create + ready (labels)gpu 1.81 s1.81 s 1.81 s1.81 s 1
init: columnar form (gpu-only)gpu 925 ms925 ms 925 ms925 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 68.6 ms68.6 ms 68.6 ms68.6 ms 1
export: png full (≤2048 px)v3 7.39 s7.39 s 7.39 s7.39 s 1
export: png full (≤2048 px)gpu 199 ms199 ms 199 ms199 ms 1

render — generated 25k × 50k curved (bezier pairs) N=25,000 · 1.3 minv4 (gpu) v3

Wall frame times are vsync-bound (both sides floor at the display refresh when fast); “gpu (device)” table rows are GPU-pass time via timestamp-query — the unbounded cost metric. init/export rows are one-shot timings. Adapter: amd gcn-4; dpr 2; 1280×800; adaptive render scale pinned to 1.

frame: pan fit-all
40×
frame: pan zoomed-in 20×
18×
frame: pan far-zoom ÷8
41×
frame: pan fit-all (labels)
45×
frame: pan zoomed-in 20× (labels)
20×
pick: hover while panning — gpu
17.9 ms
compaction: pan fit-all, 10% live — gpu (peak slots)
16.7 ms
compaction: pan fit-all, 10% live — gpu (compacted)
16.7 ms
compaction: pan fit-all, 10% live — gpu device (peak slots)
567 µs
compaction: pan fit-all, 10% live — gpu device (compacted)
1.32 ms
compaction: compact() one-shot — gpu
15.4 ms
init: create + ready
11×
init: create + ready (labels)
13×
init: columnar form (gpu-only) — gpu
159 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
14.9 ms
export: png full (≤2048 px)
6.7×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 662 ms664 ms 673 ms648 ms 12
frame: pan fit-allgpu 16.7 ms16.7 ms 16.8 ms16.4 ms 121
frame: pan fit-allgpu (device) 10.6 ms10.6 ms 10.7 ms10.6 ms 121
frame: pan zoomed-in 20×v3 294 ms288 ms 305 ms207 ms 12
frame: pan zoomed-in 20×gpu 16.7 ms16.7 ms 16.9 ms16.5 ms 121
frame: pan zoomed-in 20×gpu (device) 3.83 ms3.84 ms 3.86 ms3.80 ms 120
frame: pan far-zoom ÷8v3 682 ms690 ms 722 ms669 ms 12
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan far-zoom ÷8gpu (device) 7.21 ms7.21 ms 7.23 ms7.20 ms 121
frame: pan fit-all (labels)v3 756 ms775 ms 792 ms744 ms 11
frame: pan fit-all (labels)gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan fit-all (labels)gpu (device) 10.9 ms10.9 ms 10.9 ms10.9 ms 121
frame: pan zoomed-in 20× (labels)v3 329 ms330 ms 338 ms323 ms 12
frame: pan zoomed-in 20× (labels)gpu 16.7 ms16.7 ms 16.8 ms16.4 ms 121
frame: pan zoomed-in 20× (labels)gpu (device) 4.17 ms4.17 ms 4.20 ms4.14 ms 121
pick: hover while panninggpu 17.9 ms17.5 ms 18.2 ms7.60 ms 25
compaction: pan fit-all, 10% livegpu (peak slots) 16.7 ms16.7 ms 16.9 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu (compacted) 16.7 ms16.7 ms 16.9 ms16.5 ms 120
compaction: pan fit-all, 10% livegpu device (peak slots) 567 µs565 µs 573 µs499 µs 119
compaction: pan fit-all, 10% livegpu device (compacted) 1.32 ms1.32 ms 1.34 ms1.32 ms 119
compaction: compact() one-shotgpu 15.4 ms15.4 ms 15.4 ms15.4 ms 1
init: create + readyv3 3.04 s3.04 s 3.04 s3.04 s 1
init: create + readygpu 271 ms271 ms 271 ms271 ms 1
init: create + ready (labels)v3 4.05 s4.05 s 4.05 s4.05 s 1
init: create + ready (labels)gpu 310 ms310 ms 310 ms310 ms 1
init: columnar form (gpu-only)gpu 159 ms159 ms 159 ms159 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 14.9 ms14.9 ms 14.9 ms14.9 ms 1
export: png full (≤2048 px)v3 2.12 s2.12 s 2.12 s2.12 s 1
export: png full (≤2048 px)gpu 317 ms317 ms 317 ms317 ms 1

render — generated 25k × 50k compound (1k parents) N=26,000 · 1.5 minv4 (gpu) v3

Wall frame times are vsync-bound (both sides floor at the display refresh when fast); “gpu (device)” table rows are GPU-pass time via timestamp-query — the unbounded cost metric. init/export rows are one-shot timings. Adapter: amd gcn-4; dpr 2; 1280×800; adaptive render scale pinned to 1.

frame: pan fit-all
127×
frame: pan zoomed-in 20×
14×
frame: pan far-zoom ÷8
126×
frame: pan fit-all (labels)
123×
frame: pan zoomed-in 20× (labels)
15×
pick: hover while panning — gpu
17.2 ms
compaction: pan fit-all, 10% live — gpu (peak slots)
16.7 ms
compaction: pan fit-all, 10% live — gpu (compacted)
16.6 ms
compaction: pan fit-all, 10% live — gpu device (peak slots)
1.10 ms
compaction: pan fit-all, 10% live — gpu device (compacted)
960 µs
compaction: compact() one-shot — gpu
14.0 ms
init: create + ready
17×
init: create + ready (labels)
14×
init: columnar form (gpu-only) — gpu
198 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
37.7 ms
export: png full (≤2048 px)
5.3×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 2.12 s2.18 s 2.16 s2.12 s 4
frame: pan fit-allgpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan fit-allgpu (device) 2.14 ms2.14 ms 2.15 ms2.10 ms 118
frame: pan zoomed-in 20×v3 237 ms240 ms 249 ms236 ms 12
frame: pan zoomed-in 20×gpu 16.7 ms16.7 ms 16.9 ms16.3 ms 121
frame: pan zoomed-in 20×gpu (device) 4.22 ms4.21 ms 4.25 ms4.17 ms 121
frame: pan far-zoom ÷8v3 2.11 s2.13 s 2.12 s2.10 s 4
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan far-zoom ÷8gpu (device) 1.38 ms1.38 ms 1.39 ms1.37 ms 120
frame: pan fit-all (labels)v3 2.05 s2.09 s 2.06 s2.03 s 4
frame: pan fit-all (labels)gpu 16.7 ms16.7 ms 16.9 ms16.5 ms 121
frame: pan fit-all (labels)gpu (device) 3.49 ms3.49 ms 3.50 ms3.49 ms 120
frame: pan zoomed-in 20× (labels)v3 250 ms249 ms 251 ms246 ms 12
frame: pan zoomed-in 20× (labels)gpu 16.7 ms16.7 ms 16.9 ms16.2 ms 121
frame: pan zoomed-in 20× (labels)gpu (device) 4.55 ms4.55 ms 4.59 ms4.51 ms 120
pick: hover while panninggpu 17.2 ms10.4 ms 18.1 ms500 µs 25
compaction: pan fit-all, 10% livegpu (peak slots) 16.7 ms16.7 ms 16.9 ms16.5 ms 121
compaction: pan fit-all, 10% livegpu (compacted) 16.6 ms16.7 ms 17.0 ms16.4 ms 120
compaction: pan fit-all, 10% livegpu device (peak slots) 1.10 ms1.10 ms 1.11 ms1.09 ms 117
compaction: pan fit-all, 10% livegpu device (compacted) 960 µs960 µs 975 µs952 µs 120
compaction: compact() one-shotgpu 14.0 ms14.0 ms 14.0 ms14.0 ms 1
init: create + readyv3 4.99 s4.99 s 4.99 s4.99 s 1
init: create + readygpu 289 ms289 ms 289 ms289 ms 1
init: create + ready (labels)v3 6.34 s6.34 s 6.34 s6.34 s 1
init: create + ready (labels)gpu 442 ms442 ms 442 ms442 ms 1
init: columnar form (gpu-only)gpu 198 ms198 ms 198 ms198 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 37.7 ms37.7 ms 37.7 ms37.7 ms 1
export: png full (≤2048 px)v3 1.38 s1.38 s 1.38 s1.38 s 1
export: png full (≤2048 px)gpu 259 ms259 ms 259 ms259 ms 1

render — generated 25k × 50k images (icon-per-type) N=25,000 · 1.4 minv4 (gpu) v3

Wall frame times are vsync-bound (both sides floor at the display refresh when fast); “gpu (device)” table rows are GPU-pass time via timestamp-query — the unbounded cost metric. init/export rows are one-shot timings. Adapter: amd gcn-4; dpr 2; 1280×800; adaptive render scale pinned to 1.

frame: pan fit-all
39×
frame: pan zoomed-in 20×
20×
frame: pan far-zoom ÷8
40×
frame: pan fit-all (labels)
46×
frame: pan zoomed-in 20× (labels)
23×
pick: hover while panning — gpu
17.3 ms
compaction: pan fit-all, 10% live — gpu (peak slots)
16.7 ms
compaction: pan fit-all, 10% live — gpu (compacted)
16.7 ms
compaction: pan fit-all, 10% live — gpu device (peak slots)
465 µs
compaction: pan fit-all, 10% live — gpu device (compacted)
986 µs
compaction: compact() one-shot — gpu
18.8 ms
init: create + ready
16×
init: create + ready (labels)
15×
init: columnar form (gpu-only) — gpu
166 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
26.0 ms
export: png full (≤2048 px)
18×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 659 ms663 ms 671 ms650 ms 12
frame: pan fit-allgpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan fit-allgpu (device) 3.44 ms3.44 ms 3.45 ms3.43 ms 118
frame: pan zoomed-in 20×v3 334 ms334 ms 339 ms328 ms 12
frame: pan zoomed-in 20×gpu 16.7 ms16.7 ms 16.9 ms16.5 ms 121
frame: pan zoomed-in 20×gpu (device) 4.46 ms4.46 ms 4.48 ms4.45 ms 120
frame: pan far-zoom ÷8v3 660 ms661 ms 665 ms655 ms 12
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan far-zoom ÷8gpu (device) 1.45 ms1.45 ms 1.46 ms1.44 ms 119
frame: pan fit-all (labels)v3 775 ms777 ms 788 ms764 ms 11
frame: pan fit-all (labels)gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan fit-all (labels)gpu (device) 3.71 ms3.71 ms 3.72 ms3.70 ms 121
frame: pan zoomed-in 20× (labels)v3 377 ms381 ms 387 ms374 ms 12
frame: pan zoomed-in 20× (labels)gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan zoomed-in 20× (labels)gpu (device) 4.80 ms4.80 ms 4.82 ms4.78 ms 120
pick: hover while panninggpu 17.3 ms17.0 ms 17.6 ms9.20 ms 25
compaction: pan fit-all, 10% livegpu (peak slots) 16.7 ms16.7 ms 16.9 ms16.4 ms 120
compaction: pan fit-all, 10% livegpu (compacted) 16.7 ms16.7 ms 16.9 ms16.5 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 465 µs650 µs 1.18 ms463 µs 116
compaction: pan fit-all, 10% livegpu device (compacted) 986 µs986 µs 993 µs981 µs 121
compaction: compact() one-shotgpu 18.8 ms18.8 ms 18.8 ms18.8 ms 1
init: create + readyv3 4.25 s4.25 s 4.25 s4.25 s 1
init: create + readygpu 263 ms263 ms 263 ms263 ms 1
init: create + ready (labels)v3 4.99 s4.99 s 4.99 s4.99 s 1
init: create + ready (labels)gpu 330 ms330 ms 330 ms330 ms 1
init: columnar form (gpu-only)gpu 166 ms166 ms 166 ms166 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 26.0 ms26.0 ms 26.0 ms26.0 ms 1
export: png full (≤2048 px)v3 4.92 s4.92 s 4.92 s4.92 s 1
export: png full (≤2048 px)gpu 280 ms280 ms 280 ms280 ms 1

render — generated 25k × 50k wrapped labels N=25,000 · 1.3 minv4 (gpu) v3

Wall frame times are vsync-bound (both sides floor at the display refresh when fast); “gpu (device)” table rows are GPU-pass time via timestamp-query — the unbounded cost metric. init/export rows are one-shot timings. Adapter: amd gcn-4; dpr 2; 1280×800; adaptive render scale pinned to 1.

frame: pan fit-all
39×
frame: pan zoomed-in 20×
19×
frame: pan far-zoom ÷8
39×
frame: pan fit-all (labels)
45×
frame: pan zoomed-in 20× (labels)
21×
pick: hover while panning — gpu
17.2 ms
compaction: pan fit-all, 10% live — gpu (peak slots)
16.7 ms
compaction: pan fit-all, 10% live — gpu (compacted)
16.7 ms
compaction: pan fit-all, 10% live — gpu device (peak slots)
1.17 ms
compaction: pan fit-all, 10% live — gpu device (compacted)
984 µs
compaction: compact() one-shot — gpu
9.00 ms
init: create + ready
11×
init: create + ready (labels)
13×
init: columnar form (gpu-only) — gpu
152 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
18.9 ms
export: png full (≤2048 px)
4.0×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 651 ms669 ms 657 ms644 ms 12
frame: pan fit-allgpu 16.7 ms16.7 ms 16.8 ms16.4 ms 121
frame: pan fit-allgpu (device) 3.40 ms3.40 ms 3.41 ms3.39 ms 118
frame: pan zoomed-in 20×v3 320 ms312 ms 322 ms225 ms 12
frame: pan zoomed-in 20×gpu 16.7 ms16.7 ms 16.8 ms16.5 ms 121
frame: pan zoomed-in 20×gpu (device) 4.43 ms4.43 ms 4.45 ms4.41 ms 121
frame: pan far-zoom ÷8v3 658 ms667 ms 705 ms645 ms 12
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 17.0 ms16.4 ms 121
frame: pan far-zoom ÷8gpu (device) 1.41 ms1.41 ms 1.42 ms1.40 ms 120
frame: pan fit-all (labels)v3 756 ms766 ms 771 ms737 ms 11
frame: pan fit-all (labels)gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan fit-all (labels)gpu (device) 4.56 ms4.56 ms 4.57 ms4.54 ms 121
frame: pan zoomed-in 20× (labels)v3 346 ms338 ms 350 ms239 ms 12
frame: pan zoomed-in 20× (labels)gpu 16.7 ms16.7 ms 16.9 ms16.2 ms 121
frame: pan zoomed-in 20× (labels)gpu (device) 5.95 ms5.95 ms 5.97 ms5.85 ms 121
pick: hover while panninggpu 17.2 ms17.0 ms 17.7 ms8.20 ms 25
compaction: pan fit-all, 10% livegpu (peak slots) 16.7 ms16.7 ms 16.9 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu (compacted) 16.7 ms16.7 ms 16.9 ms16.3 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 1.17 ms918 µs 1.18 ms462 µs 118
compaction: pan fit-all, 10% livegpu device (compacted) 984 µs985 µs 993 µs976 µs 117
compaction: compact() one-shotgpu 9.00 ms9.00 ms 9.00 ms9.00 ms 1
init: create + readyv3 2.71 s2.71 s 2.71 s2.71 s 1
init: create + readygpu 243 ms243 ms 243 ms243 ms 1
init: create + ready (labels)v3 4.23 s4.23 s 4.23 s4.23 s 1
init: create + ready (labels)gpu 332 ms332 ms 332 ms332 ms 1
init: columnar form (gpu-only)gpu 152 ms152 ms 152 ms152 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 18.9 ms18.9 ms 18.9 ms18.9 ms 1
export: png full (≤2048 px)v3 1.43 s1.43 s 1.43 s1.43 s 1
export: png full (≤2048 px)gpu 361 ms361 ms 361 ms361 ms 1

render — generated 25k × 50k half-invisible / half-inert N=25,000 · 1.2 minv4 (gpu) v3

Wall frame times are vsync-bound (both sides floor at the display refresh when fast); “gpu (device)” table rows are GPU-pass time via timestamp-query — the unbounded cost metric. init/export rows are one-shot timings. Adapter: amd gcn-4; dpr 2; 1280×800; adaptive render scale pinned to 1.

frame: pan fit-all
34×
frame: pan zoomed-in 20×
18×
frame: pan far-zoom ÷8
34×
frame: pan fit-all (labels)
38×
frame: pan zoomed-in 20× (labels)
20×
pick: hover while panning — gpu
17.5 ms
compaction: pan fit-all, 10% live — gpu (peak slots)
16.7 ms
compaction: pan fit-all, 10% live — gpu (compacted)
16.7 ms
compaction: pan fit-all, 10% live — gpu device (peak slots)
464 µs
compaction: pan fit-all, 10% live — gpu device (compacted)
984 µs
compaction: compact() one-shot — gpu
10.3 ms
init: create + ready
11×
init: create + ready (labels)
12×
init: columnar form (gpu-only) — gpu
154 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
23.6 ms
export: png full (≤2048 px)
2.7×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 570 ms584 ms 586 ms562 ms 12
frame: pan fit-allgpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan fit-allgpu (device) 1.66 ms1.66 ms 1.67 ms1.66 ms 120
frame: pan zoomed-in 20×v3 295 ms288 ms 298 ms208 ms 12
frame: pan zoomed-in 20×gpu 16.6 ms16.7 ms 16.9 ms16.3 ms 121
frame: pan zoomed-in 20×gpu (device) 1.43 ms1.43 ms 1.44 ms1.42 ms 119
frame: pan far-zoom ÷8v3 572 ms577 ms 580 ms568 ms 12
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.9 ms16.3 ms 121
frame: pan far-zoom ÷8gpu (device) 1.15 ms1.15 ms 1.16 ms1.15 ms 119
frame: pan fit-all (labels)v3 628 ms647 ms 651 ms624 ms 12
frame: pan fit-all (labels)gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan fit-all (labels)gpu (device) 1.96 ms1.96 ms 1.97 ms1.96 ms 119
frame: pan zoomed-in 20× (labels)v3 331 ms327 ms 353 ms230 ms 12
frame: pan zoomed-in 20× (labels)gpu 16.7 ms16.7 ms 16.9 ms16.5 ms 121
frame: pan zoomed-in 20× (labels)gpu (device) 2.57 ms2.57 ms 2.59 ms2.55 ms 119
pick: hover while panninggpu 17.5 ms16.8 ms 17.7 ms3.80 ms 25
compaction: pan fit-all, 10% livegpu (peak slots) 16.7 ms16.7 ms 16.9 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu (compacted) 16.7 ms16.7 ms 16.9 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 464 µs470 µs 642 µs461 µs 115
compaction: pan fit-all, 10% livegpu device (compacted) 984 µs984 µs 991 µs978 µs 118
compaction: compact() one-shotgpu 10.3 ms10.3 ms 10.3 ms10.3 ms 1
init: create + readyv3 2.91 s2.91 s 2.91 s2.91 s 1
init: create + readygpu 267 ms267 ms 267 ms267 ms 1
init: create + ready (labels)v3 3.95 s3.95 s 3.95 s3.95 s 1
init: create + ready (labels)gpu 342 ms342 ms 342 ms342 ms 1
init: columnar form (gpu-only)gpu 154 ms154 ms 154 ms154 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 23.6 ms23.6 ms 23.6 ms23.6 ms 1
export: png full (≤2048 px)v3 691 ms691 ms 691 ms691 ms 1
export: png full (≤2048 px)gpu 260 ms260 ms 260 ms260 ms 1

render — generated 25k × 50k arrows (filled) N=25,000 · 1.5 minv4 (gpu) v3

Wall frame times are vsync-bound (both sides floor at the display refresh when fast); “gpu (device)” table rows are GPU-pass time via timestamp-query — the unbounded cost metric. init/export rows are one-shot timings. Adapter: amd gcn-4; dpr 2; 1280×800; adaptive render scale pinned to 1.

frame: pan fit-all
122×
frame: pan zoomed-in 20×
29×
frame: pan far-zoom ÷8
117×
frame: pan fit-all (labels)
124×
frame: pan zoomed-in 20× (labels)
31×
pick: hover while panning — gpu
17.8 ms
compaction: pan fit-all, 10% live — gpu (peak slots)
16.7 ms
compaction: pan fit-all, 10% live — gpu (compacted)
16.7 ms
compaction: pan fit-all, 10% live — gpu device (peak slots)
1.18 ms
compaction: pan fit-all, 10% live — gpu device (compacted)
991 µs
compaction: compact() one-shot — gpu
9.40 ms
init: create + ready
13×
init: create + ready (labels)
14×
init: columnar form (gpu-only) — gpu
148 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
26.3 ms
export: png full (≤2048 px)
6.4×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 2.04 s1.98 s 2.06 s1.83 s 5
frame: pan fit-allgpu 16.7 ms16.7 ms 16.8 ms16.3 ms 121
frame: pan fit-allgpu (device) 3.54 ms3.55 ms 3.56 ms3.53 ms 118
frame: pan zoomed-in 20×v3 485 ms480 ms 491 ms419 ms 12
frame: pan zoomed-in 20×gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan zoomed-in 20×gpu (device) 4.67 ms4.67 ms 4.69 ms4.65 ms 120
frame: pan far-zoom ÷8v3 1.96 s1.94 s 2.04 s1.80 s 5
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.9 ms16.3 ms 121
frame: pan far-zoom ÷8gpu (device) 1.44 ms1.44 ms 1.45 ms1.43 ms 118
frame: pan fit-all (labels)v3 2.07 s2.08 s 2.13 s1.95 s 4
frame: pan fit-all (labels)gpu 16.7 ms16.7 ms 16.8 ms16.4 ms 121
frame: pan fit-all (labels)gpu (device) 3.81 ms3.81 ms 3.83 ms3.80 ms 120
frame: pan zoomed-in 20× (labels)v3 519 ms514 ms 532 ms427 ms 12
frame: pan zoomed-in 20× (labels)gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan zoomed-in 20× (labels)gpu (device) 5.02 ms5.02 ms 5.04 ms5.00 ms 121
pick: hover while panninggpu 17.8 ms17.7 ms 18.5 ms10.4 ms 25
compaction: pan fit-all, 10% livegpu (peak slots) 16.7 ms16.7 ms 16.9 ms16.3 ms 122
compaction: pan fit-all, 10% livegpu (compacted) 16.7 ms16.7 ms 16.9 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 1.18 ms1.01 ms 1.19 ms465 µs 120
compaction: pan fit-all, 10% livegpu device (compacted) 991 µs991 µs 1.00 ms982 µs 119
compaction: compact() one-shotgpu 9.40 ms9.40 ms 9.40 ms9.40 ms 1
init: create + readyv3 3.66 s3.66 s 3.66 s3.66 s 1
init: create + readygpu 283 ms283 ms 283 ms283 ms 1
init: create + ready (labels)v3 4.54 s4.54 s 4.54 s4.54 s 1
init: create + ready (labels)gpu 318 ms318 ms 318 ms318 ms 1
init: columnar form (gpu-only)gpu 148 ms148 ms 148 ms148 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 26.3 ms26.3 ms 26.3 ms26.3 ms 1
export: png full (≤2048 px)v3 2.06 s2.06 s 2.06 s2.06 s 1
export: png full (≤2048 px)gpu 322 ms322 ms 322 ms322 ms 1

render — generated 25k × 50k arrows (half hollow, 0.6 alpha) N=25,000 · 1.6 minv4 (gpu) v3

Wall frame times are vsync-bound (both sides floor at the display refresh when fast); “gpu (device)” table rows are GPU-pass time via timestamp-query — the unbounded cost metric. init/export rows are one-shot timings. Adapter: amd gcn-4; dpr 2; 1280×800; adaptive render scale pinned to 1.

frame: pan fit-all
138×
frame: pan zoomed-in 20×
31×
frame: pan far-zoom ÷8
137×
frame: pan fit-all (labels)
146×
frame: pan zoomed-in 20× (labels)
32×
pick: hover while panning — gpu
17.9 ms
compaction: pan fit-all, 10% live — gpu (peak slots)
16.7 ms
compaction: pan fit-all, 10% live — gpu (compacted)
16.7 ms
compaction: pan fit-all, 10% live — gpu device (peak slots)
469 µs
compaction: pan fit-all, 10% live — gpu device (compacted)
990 µs
compaction: compact() one-shot — gpu
8.60 ms
init: create + ready
13×
init: create + ready (labels)
12×
init: columnar form (gpu-only) — gpu
219 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
30.5 ms
export: png full (≤2048 px)
17×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 2.31 s2.27 s 2.32 s2.08 s 4
frame: pan fit-allgpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan fit-allgpu (device) 3.55 ms3.55 ms 3.56 ms3.53 ms 120
frame: pan zoomed-in 20×v3 524 ms518 ms 528 ms439 ms 12
frame: pan zoomed-in 20×gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan zoomed-in 20×gpu (device) 4.68 ms4.68 ms 4.70 ms4.66 ms 118
frame: pan far-zoom ÷8v3 2.29 s2.30 s 2.30 s2.28 s 4
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan far-zoom ÷8gpu (device) 1.44 ms1.44 ms 1.45 ms1.43 ms 119
frame: pan fit-all (labels)v3 2.44 s2.55 s 2.54 s2.42 s 4
frame: pan fit-all (labels)gpu 16.7 ms16.7 ms 17.0 ms16.4 ms 121
frame: pan fit-all (labels)gpu (device) 3.82 ms3.82 ms 3.83 ms3.80 ms 121
frame: pan zoomed-in 20× (labels)v3 536 ms533 ms 553 ms449 ms 12
frame: pan zoomed-in 20× (labels)gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan zoomed-in 20× (labels)gpu (device) 5.02 ms5.02 ms 5.04 ms5.01 ms 120
pick: hover while panninggpu 17.9 ms17.5 ms 18.2 ms7.60 ms 25
compaction: pan fit-all, 10% livegpu (peak slots) 16.7 ms16.7 ms 16.9 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu (compacted) 16.7 ms16.7 ms 16.9 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 469 µs773 µs 1.18 ms465 µs 119
compaction: pan fit-all, 10% livegpu device (compacted) 990 µs991 µs 998 µs984 µs 116
compaction: compact() one-shotgpu 8.60 ms8.60 ms 8.60 ms8.60 ms 1
init: create + readyv3 3.50 s3.50 s 3.50 s3.50 s 1
init: create + readygpu 274 ms274 ms 274 ms274 ms 1
init: create + ready (labels)v3 4.37 s4.37 s 4.37 s4.37 s 1
init: create + ready (labels)gpu 372 ms372 ms 372 ms372 ms 1
init: columnar form (gpu-only)gpu 219 ms219 ms 219 ms219 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 30.5 ms30.5 ms 30.5 ms30.5 ms 1
export: png full (≤2048 px)v3 4.79 s4.79 s 4.79 s4.79 s 1
export: png full (≤2048 px)gpu 287 ms287 ms 287 ms287 ms 1

render — generated 25k × 50k hexagon borders (solid) N=25,000 · 1.3 minv4 (gpu) v3

Wall frame times are vsync-bound (both sides floor at the display refresh when fast); “gpu (device)” table rows are GPU-pass time via timestamp-query — the unbounded cost metric. init/export rows are one-shot timings. Adapter: amd gcn-4; dpr 2; 1280×800; adaptive render scale pinned to 1.

frame: pan fit-all
39×
frame: pan zoomed-in 20×
19×
frame: pan far-zoom ÷8
39×
frame: pan fit-all (labels)
44×
frame: pan zoomed-in 20× (labels)
20×
pick: hover while panning — gpu
17.2 ms
compaction: pan fit-all, 10% live — gpu (peak slots)
16.7 ms
compaction: pan fit-all, 10% live — gpu (compacted)
16.7 ms
compaction: pan fit-all, 10% live — gpu device (peak slots)
466 µs
compaction: pan fit-all, 10% live — gpu device (compacted)
983 µs
compaction: compact() one-shot — gpu
8.60 ms
init: create + ready
12×
init: create + ready (labels)
13×
init: columnar form (gpu-only) — gpu
150 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
23.5 ms
export: png full (≤2048 px)
4.8×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 659 ms671 ms 676 ms646 ms 12
frame: pan fit-allgpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan fit-allgpu (device) 3.42 ms3.41 ms 3.43 ms3.40 ms 121
frame: pan zoomed-in 20×v3 319 ms311 ms 322 ms223 ms 12
frame: pan zoomed-in 20×gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan zoomed-in 20×gpu (device) 4.48 ms4.48 ms 4.50 ms4.46 ms 118
frame: pan far-zoom ÷8v3 649 ms650 ms 672 ms631 ms 12
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan far-zoom ÷8gpu (device) 1.41 ms1.41 ms 1.42 ms1.40 ms 120
frame: pan fit-all (labels)v3 735 ms752 ms 760 ms720 ms 11
frame: pan fit-all (labels)gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan fit-all (labels)gpu (device) 3.68 ms3.68 ms 3.69 ms3.67 ms 121
frame: pan zoomed-in 20× (labels)v3 338 ms329 ms 340 ms231 ms 12
frame: pan zoomed-in 20× (labels)gpu 16.7 ms16.7 ms 16.9 ms16.3 ms 121
frame: pan zoomed-in 20× (labels)gpu (device) 4.82 ms4.82 ms 4.83 ms4.80 ms 120
pick: hover while panninggpu 17.2 ms16.9 ms 17.5 ms8.10 ms 25
compaction: pan fit-all, 10% livegpu (peak slots) 16.7 ms16.7 ms 16.9 ms16.3 ms 121
compaction: pan fit-all, 10% livegpu (compacted) 16.7 ms16.7 ms 16.8 ms16.5 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 466 µs466 µs 468 µs464 µs 112
compaction: pan fit-all, 10% livegpu device (compacted) 983 µs947 µs 990 µs361 µs 120
compaction: compact() one-shotgpu 8.60 ms8.60 ms 8.60 ms8.60 ms 1
init: create + readyv3 3.07 s3.07 s 3.07 s3.07 s 1
init: create + readygpu 255 ms255 ms 255 ms255 ms 1
init: create + ready (labels)v3 3.94 s3.94 s 3.94 s3.94 s 1
init: create + ready (labels)gpu 299 ms299 ms 299 ms299 ms 1
init: columnar form (gpu-only)gpu 150 ms150 ms 150 ms150 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 23.5 ms23.5 ms 23.5 ms23.5 ms 1
export: png full (≤2048 px)v3 1.58 s1.58 s 1.58 s1.58 s 1
export: png full (≤2048 px)gpu 331 ms331 ms 331 ms331 ms 1

render — generated 25k × 50k hexagon borders (dashed) N=25,000 · 1.3 minv4 (gpu) v3

Wall frame times are vsync-bound (both sides floor at the display refresh when fast); “gpu (device)” table rows are GPU-pass time via timestamp-query — the unbounded cost metric. init/export rows are one-shot timings. Adapter: amd gcn-4; dpr 2; 1280×800; adaptive render scale pinned to 1.

frame: pan fit-all
40×
frame: pan zoomed-in 20×
19×
frame: pan far-zoom ÷8
39×
frame: pan fit-all (labels)
47×
frame: pan zoomed-in 20× (labels)
21×
pick: hover while panning — gpu
17.8 ms
compaction: pan fit-all, 10% live — gpu (peak slots)
16.7 ms
compaction: pan fit-all, 10% live — gpu (compacted)
16.7 ms
compaction: pan fit-all, 10% live — gpu device (peak slots)
1.17 ms
compaction: pan fit-all, 10% live — gpu device (compacted)
984 µs
compaction: compact() one-shot — gpu
9.40 ms
init: create + ready
12×
init: create + ready (labels)
13×
init: columnar form (gpu-only) — gpu
144 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
22.3 ms
export: png full (≤2048 px)
6.2×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 665 ms679 ms 674 ms655 ms 12
frame: pan fit-allgpu 16.7 ms16.7 ms 16.9 ms16.3 ms 121
frame: pan fit-allgpu (device) 3.41 ms3.41 ms 3.43 ms3.40 ms 120
frame: pan zoomed-in 20×v3 318 ms310 ms 321 ms222 ms 12
frame: pan zoomed-in 20×gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan zoomed-in 20×gpu (device) 4.51 ms4.51 ms 4.53 ms4.49 ms 120
frame: pan far-zoom ÷8v3 646 ms668 ms 724 ms641 ms 12
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan far-zoom ÷8gpu (device) 1.41 ms1.41 ms 1.42 ms1.40 ms 117
frame: pan fit-all (labels)v3 784 ms801 ms 813 ms767 ms 10
frame: pan fit-all (labels)gpu 16.7 ms16.7 ms 16.8 ms15.6 ms 121
frame: pan fit-all (labels)gpu (device) 3.68 ms3.68 ms 3.69 ms3.67 ms 120
frame: pan zoomed-in 20× (labels)v3 350 ms341 ms 352 ms242 ms 12
frame: pan zoomed-in 20× (labels)gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan zoomed-in 20× (labels)gpu (device) 4.85 ms4.85 ms 4.87 ms4.83 ms 121
pick: hover while panninggpu 17.8 ms16.9 ms 18.1 ms6.60 ms 25
compaction: pan fit-all, 10% livegpu (peak slots) 16.7 ms16.7 ms 16.9 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu (compacted) 16.7 ms16.7 ms 16.9 ms16.3 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 1.17 ms1.17 ms 1.17 ms1.16 ms 118
compaction: pan fit-all, 10% livegpu device (compacted) 984 µs984 µs 989 µs977 µs 115
compaction: compact() one-shotgpu 9.40 ms9.40 ms 9.40 ms9.40 ms 1
init: create + readyv3 3.12 s3.12 s 3.12 s3.12 s 1
init: create + readygpu 256 ms256 ms 256 ms256 ms 1
init: create + ready (labels)v3 4.24 s4.24 s 4.24 s4.24 s 1
init: create + ready (labels)gpu 328 ms328 ms 328 ms328 ms 1
init: columnar form (gpu-only)gpu 144 ms144 ms 144 ms144 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 22.3 ms22.3 ms 22.3 ms22.3 ms 1
export: png full (≤2048 px)v3 1.64 s1.64 s 1.64 s1.64 s 1
export: png full (≤2048 px)gpu 265 ms265 ms 265 ms265 ms 1