Cytoscape.js GPU benchmarks

v4 (src/) vs v3 (v3/src/) · Mitata · times are per-iteration p50 · 2026-08-12 22:46 · c2d24c2e (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)
Commitc2d24c2e
docs: the summary goes day by day, from the commit record
Machine id5cf3f79c
Median speedup (geo-mean) 32× 96 v3-vs-gpu comparisons
Biggest win 266× frame: pan far-zoom ÷8 @ N=19.607k
v3 still ahead 0 comparisons
Total run time 21.1 min renderer profile

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

frame: pan far-zoom ÷8 @ 19.607k
266×
frame: pan fit-all (labels) @ 100k
243×
frame: pan fit-all @ 100k
214×
frame: pan far-zoom ÷8 @ 100k
208×
frame: pan fit-all (labels) @ 25k
144×
frame: pan far-zoom ÷8 @ 25k
135×
frame: pan fit-all @ 25k
134×
frame: pan fit-all (labels) @ 19.607k
132×
frame: pan fit-all @ 26k
130×
frame: pan fit-all @ 19.607k
125×
frame: pan fit-all (labels) @ 26k
125×
frame: pan fit-all (labels) @ 25k
125×
frame: pan far-zoom ÷8 @ 26k
125×
frame: pan fit-all @ 25k
122×
frame: pan far-zoom ÷8 @ 25k
118×
frame: pan zoomed-in 20× (labels) @ 100k
112×
frame: pan zoomed-in 20× @ 100k
106×
frame: pan zoomed-in 20× (labels) @ 19.607k
97×
frame: pan zoomed-in 20× @ 19.607k
78×
frame: pan fit-all (labels) @ 25k
48×
frame: pan fit-all (labels) @ 25k
45×
frame: pan fit-all (labels) @ 25k
45×
frame: pan fit-all (labels) @ 25k
45×
init: create + ready (labels) @ 19.607k
45×
frame: pan fit-all (labels) @ 25k
44×
init: create + ready @ 19.607k
44×
frame: pan fit-all (labels) @ 25k
44×
frame: pan fit-all @ 25k
40×
frame: pan far-zoom ÷8 @ 25k
40×
frame: pan far-zoom ÷8 @ 25k
39×
frame: pan far-zoom ÷8 @ 25k
39×
frame: pan far-zoom ÷8 @ 25k
38×
frame: pan fit-all @ 25k
38×
frame: pan far-zoom ÷8 @ 25k
38×
frame: pan fit-all @ 25k
38×
frame: pan fit-all @ 25k
38×
frame: pan fit-all @ 25k
38×
frame: pan fit-all @ 25k
38×
frame: pan far-zoom ÷8 @ 25k
38×
frame: pan fit-all (labels) @ 25k
38×
init: create + ready @ 26k
37×
init: create + ready @ 25k
37×
export: png full (≤2048 px) @ 19.607k
35×
frame: pan fit-all @ 25k
34×
frame: pan far-zoom ÷8 @ 25k
34×
init: create + ready @ 25k
32×
frame: pan zoomed-in 20× (labels) @ 25k
32×
init: create + ready @ 25k
32×
init: create + ready @ 25k
31×
init: create + ready @ 25k
31×
frame: pan zoomed-in 20× (labels) @ 25k
31×
frame: pan zoomed-in 20× @ 25k
30×
frame: pan zoomed-in 20× @ 25k
29×
init: create + ready (labels) @ 25k
26×
init: create + ready @ 25k
26×
export: png full (≤2048 px) @ 100k
25×
init: create + ready @ 100k
24×
init: create + ready (labels) @ 25k
24×
init: create + ready @ 25k
24×
init: create + ready (labels) @ 25k
23×
frame: pan zoomed-in 20× (labels) @ 25k
22×
init: create + ready (labels) @ 100k
22×
init: create + ready (labels) @ 25k
22×
frame: pan zoomed-in 20× (labels) @ 25k
21×
init: create + ready (labels) @ 25k
21×
init: create + ready @ 25k
20×
init: create + ready (labels) @ 25k
20×
frame: pan zoomed-in 20× @ 25k
20×
frame: pan zoomed-in 20× (labels) @ 25k
20×
init: create + ready (labels) @ 26k
20×
frame: pan zoomed-in 20× (labels) @ 25k
20×
init: create + ready @ 25k
20×
frame: pan zoomed-in 20× (labels) @ 25k
20×
frame: pan zoomed-in 20× @ 25k
19×
frame: pan zoomed-in 20× @ 25k
18×
frame: pan zoomed-in 20× (labels) @ 25k
18×
init: create + ready (labels) @ 25k
18×
frame: pan zoomed-in 20× @ 25k
18×
frame: pan zoomed-in 20× @ 25k
18×
frame: pan zoomed-in 20× (labels) @ 25k
18×
frame: pan zoomed-in 20× @ 25k
18×
frame: pan zoomed-in 20× @ 25k
17×
init: create + ready (labels) @ 25k
17×
frame: pan zoomed-in 20× @ 26k
15×
frame: pan zoomed-in 20× (labels) @ 26k
15×
export: png full (≤2048 px) @ 25k
14×
export: png full (≤2048 px) @ 25k
14×
init: create + ready (labels) @ 25k
14×
export: png full (≤2048 px) @ 25k
7.3×
export: png full (≤2048 px) @ 25k
6.4×
export: png full (≤2048 px) @ 25k
5.8×
export: png full (≤2048 px) @ 25k
5.3×
export: png full (≤2048 px) @ 25k
5.1×
export: png full (≤2048 px) @ 26k
5.1×
export: png full (≤2048 px) @ 25k
4.5×
export: png full (≤2048 px) @ 25k
2.3×
10×100×1000×

render — generated 25k × 50k 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
38×
frame: pan zoomed-in 20×
18×
frame: pan far-zoom ÷8
38×
frame: pan fit-all (labels)
44×
frame: pan zoomed-in 20× (labels)
18×
pick: hover while panning — gpu
17.4 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
19.8 ms
init: create + ready
20×
init: create + ready (labels)
21×
init: columnar form (gpu-only) — gpu
87.0 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
24.1 ms
export: png full (≤2048 px)
5.1×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 640 ms660 ms 695 ms627 ms 12
frame: pan fit-allgpu 16.7 ms16.7 ms 16.9 ms16.2 ms 121
frame: pan fit-allgpu (device) 3.40 ms3.40 ms 3.41 ms3.39 ms 121
frame: pan zoomed-in 20×v3 296 ms290 ms 304 ms208 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.44 ms4.40 ms 121
frame: pan far-zoom ÷8v3 638 ms649 ms 663 ms622 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.39 ms 121
frame: pan fit-all (labels)v3 735 ms747 ms 758 ms709 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.67 ms3.67 ms 3.68 ms3.66 ms 121
frame: pan zoomed-in 20× (labels)v3 300 ms295 ms 307 ms220 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) 4.77 ms4.77 ms 4.78 ms4.75 ms 121
pick: hover while panninggpu 17.4 ms17.4 ms 18.4 ms4.70 ms 80
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.8 ms16.5 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 1.17 ms1.17 ms 1.18 ms1.16 ms 121
compaction: pan fit-all, 10% livegpu device (compacted) 984 µs983 µs 987 µs978 µs 121
compaction: compact() one-shotgpu 19.8 ms19.8 ms 19.8 ms19.8 ms 1
init: create + readyv3 2.71 s2.71 s 2.71 s2.71 s 1
init: create + readygpu 133 ms133 ms 133 ms133 ms 1
init: create + ready (labels)v3 3.88 s3.88 s 3.88 s3.88 s 1
init: create + ready (labels)gpu 187 ms187 ms 187 ms187 ms 1
init: columnar form (gpu-only)gpu 87.0 ms87.0 ms 87.0 ms87.0 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 24.1 ms24.1 ms 24.1 ms24.1 ms 1
export: png full (≤2048 px)v3 1.49 s1.49 s 1.49 s1.49 s 1
export: png full (≤2048 px)gpu 291 ms291 ms 291 ms291 ms 1

render — generated 100k × 300k N=100,000 · 3.0 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
214×
frame: pan zoomed-in 20×
106×
frame: pan far-zoom ÷8
208×
frame: pan fit-all (labels)
243×
frame: pan zoomed-in 20× (labels)
112×
pick: hover while panning — gpu
19.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)
2.26 ms
compaction: pan fit-all, 10% live — gpu device (compacted)
538 µs
compaction: compact() one-shot — gpu
64.9 ms
init: create + ready
24×
init: create + ready (labels)
22×
init: columnar form (gpu-only) — gpu
541 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
204 ms
export: png full (≤2048 px)
25×
100 µs1 ms10 ms100 ms1 s10 s100 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 3.58 s4.04 s 3.58 s3.58 s 2
frame: pan fit-allgpu 16.7 ms16.7 ms 16.8 ms16.4 ms 121
frame: pan fit-allgpu (device) 9.31 ms9.31 ms 9.33 ms9.29 ms 121
frame: pan zoomed-in 20×v3 1.78 s1.75 s 1.80 s1.30 s 5
frame: pan zoomed-in 20×gpu 16.7 ms19.0 ms 33.5 ms16.4 ms 106
frame: pan zoomed-in 20×gpu (device) 18.7 ms18.7 ms 18.8 ms18.6 ms 106
frame: pan far-zoom ÷8v3 3.48 s3.45 s 3.48 s3.32 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.67 ms1.67 ms 121
frame: pan fit-all (labels)v3 4.05 s4.53 s 4.05 s4.05 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 121
frame: pan zoomed-in 20× (labels)v3 1.87 s1.96 s 2.18 s1.36 s 5
frame: pan zoomed-in 20× (labels)gpu 16.7 ms20.4 ms 33.5 ms16.4 ms 99
frame: pan zoomed-in 20× (labels)gpu (device) 20.0 ms20.1 ms 20.2 ms20.0 ms 100
pick: hover while panninggpu 19.3 ms18.5 ms 19.8 ms400 µs 80
compaction: pan fit-all, 10% livegpu (peak slots) 16.7 ms16.7 ms 16.9 ms16.4 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) 2.26 ms2.26 ms 2.27 ms2.25 ms 122
compaction: pan fit-all, 10% livegpu device (compacted) 538 µs536 µs 540 µs487 µs 121
compaction: compact() one-shotgpu 64.9 ms64.9 ms 64.9 ms64.9 ms 1
init: create + readyv3 15.9 s15.9 s 15.9 s15.9 s 1
init: create + readygpu 667 ms667 ms 667 ms667 ms 1
init: create + ready (labels)v3 19.6 s19.6 s 19.6 s19.6 s 1
init: create + ready (labels)gpu 898 ms898 ms 898 ms898 ms 1
init: columnar form (gpu-only)gpu 541 ms541 ms 541 ms541 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 204 ms204 ms 204 ms204 ms 1
export: png full (≤2048 px)v3 6.68 s6.68 s 6.68 s6.68 s 1
export: png full (≤2048 px)gpu 266 ms266 ms 266 ms266 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
125×
frame: pan zoomed-in 20×
78×
frame: pan far-zoom ÷8
266×
frame: pan fit-all (labels)
132×
frame: pan zoomed-in 20× (labels)
97×
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)
927 µs
compaction: compact() one-shot — gpu
64.7 ms
init: create + ready
44×
init: create + ready (labels)
45×
init: columnar form (gpu-only) — gpu
449 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
56.3 ms
export: png full (≤2048 px)
35×
100 µs1 ms10 ms100 ms1 s10 s100 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 4.18 s4.69 s 4.18 s4.18 s 2
frame: pan fit-allgpu 33.4 ms36.7 ms 50.1 ms33.2 ms 55
frame: pan fit-allgpu (device) 36.4 ms36.4 ms 36.8 ms36.1 ms 56
frame: pan zoomed-in 20×v3 2.61 s2.74 s 2.61 s2.56 s 3
frame: pan zoomed-in 20×gpu 33.4 ms35.7 ms 50.1 ms33.0 ms 57
frame: pan zoomed-in 20×gpu (device) 35.3 ms35.3 ms 36.0 ms34.2 ms 57
frame: pan far-zoom ÷8v3 4.44 s5.31 s 4.44 s4.44 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.56 ms 121
frame: pan fit-all (labels)v3 4.42 s5.05 s 4.42 s4.42 s 2
frame: pan fit-all (labels)gpu 33.4 ms37.0 ms 50.1 ms33.1 ms 54
frame: pan fit-all (labels)gpu (device) 36.7 ms36.8 ms 37.5 ms36.4 ms 55
frame: pan zoomed-in 20× (labels)v3 3.24 s3.23 s 3.24 s3.17 s 3
frame: pan zoomed-in 20× (labels)gpu 33.4 ms37.7 ms 50.1 ms33.1 ms 54
frame: pan zoomed-in 20× (labels)gpu (device) 37.3 ms37.2 ms 37.9 ms36.2 ms 54
pick: hover while panninggpu 400 µs23.4 ms 70.0 ms0.00 ns 80
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.8 ms 16.8 ms200 µs 120
compaction: pan fit-all, 10% livegpu device (peak slots) 1.45 ms1.46 ms 1.47 ms1.44 ms 121
compaction: pan fit-all, 10% livegpu device (compacted) 927 µs945 µs 932 µs625 µs 119
compaction: compact() one-shotgpu 64.7 ms64.7 ms 64.7 ms64.7 ms 1
init: create + readyv3 20.8 s20.8 s 20.8 s20.8 s 1
init: create + readygpu 472 ms472 ms 472 ms472 ms 1
init: create + ready (labels)v3 24.6 s24.6 s 24.6 s24.6 s 1
init: create + ready (labels)gpu 551 ms551 ms 551 ms551 ms 1
init: columnar form (gpu-only)gpu 449 ms449 ms 449 ms449 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 56.3 ms56.3 ms 56.3 ms56.3 ms 1
export: png full (≤2048 px)v3 7.15 s7.15 s 7.15 s7.15 s 1
export: png full (≤2048 px)gpu 203 ms203 ms 203 ms203 ms 1

render — generated 25k × 50k curved (bezier pairs) 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
38×
frame: pan zoomed-in 20×
17×
frame: pan far-zoom ÷8
39×
frame: pan fit-all (labels)
45×
frame: pan zoomed-in 20× (labels)
18×
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
14.6 ms
init: create + ready
26×
init: create + ready (labels)
24×
init: columnar form (gpu-only) — gpu
99.7 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
23.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 639 ms661 ms 702 ms631 ms 12
frame: pan fit-allgpu 16.7 ms16.7 ms 16.8 ms16.5 ms 121
frame: pan fit-allgpu (device) 10.6 ms10.6 ms 10.7 ms10.6 ms 121
frame: pan zoomed-in 20×v3 289 ms283 ms 294 ms207 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) 3.84 ms3.83 ms 3.86 ms3.80 ms 121
frame: pan far-zoom ÷8v3 652 ms664 ms 686 ms644 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.19 ms 121
frame: pan fit-all (labels)v3 752 ms763 ms 770 ms731 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 308 ms301 ms 311 ms219 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.17 ms4.17 ms 4.20 ms4.13 ms 121
pick: hover while panninggpu 17.9 ms18.0 ms 19.6 ms8.00 ms 80
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 121
compaction: pan fit-all, 10% livegpu device (peak slots) 567 µs569 µs 574 µs562 µs 121
compaction: pan fit-all, 10% livegpu device (compacted) 1.32 ms1.32 ms 1.33 ms1.31 ms 121
compaction: compact() one-shotgpu 14.6 ms14.6 ms 14.6 ms14.6 ms 1
init: create + readyv3 3.25 s3.25 s 3.25 s3.25 s 1
init: create + readygpu 124 ms124 ms 124 ms124 ms 1
init: create + ready (labels)v3 4.06 s4.06 s 4.06 s4.06 s 1
init: create + ready (labels)gpu 170 ms170 ms 170 ms170 ms 1
init: columnar form (gpu-only)gpu 99.7 ms99.7 ms 99.7 ms99.7 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 23.3 ms23.3 ms 23.3 ms23.3 ms 1
export: png full (≤2048 px)v3 1.97 s1.97 s 1.97 s1.97 s 1
export: png full (≤2048 px)gpu 310 ms310 ms 310 ms310 ms 1

render — generated 25k × 50k compound (1k parents) N=26,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
130×
frame: pan zoomed-in 20×
15×
frame: pan far-zoom ÷8
125×
frame: pan fit-all (labels)
125×
frame: pan zoomed-in 20× (labels)
15×
pick: hover while panning — gpu
900 µ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.10 ms
compaction: pan fit-all, 10% live — gpu device (compacted)
959 µs
compaction: compact() one-shot — gpu
13.9 ms
init: create + ready
37×
init: create + ready (labels)
20×
init: columnar form (gpu-only) — gpu
128 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
34.7 ms
export: png full (≤2048 px)
5.1×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 2.17 s2.17 s 2.17 s2.15 s 4
frame: pan fit-allgpu 16.7 ms16.7 ms 16.9 ms15.7 ms 121
frame: pan fit-allgpu (device) 2.14 ms2.14 ms 2.15 ms2.09 ms 121
frame: pan zoomed-in 20×v3 250 ms257 ms 270 ms242 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.21 ms4.21 ms 4.24 ms4.16 ms 121
frame: pan far-zoom ÷8v3 2.09 s2.09 s 2.09 s2.08 s 4
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.8 ms16.4 ms 121
frame: pan far-zoom ÷8gpu (device) 1.38 ms1.38 ms 1.39 ms1.37 ms 121
frame: pan fit-all (labels)v3 2.09 s2.11 s 2.11 s2.04 s 4
frame: pan fit-all (labels)gpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan fit-all (labels)gpu (device) 2.38 ms2.38 ms 2.42 ms2.37 ms 121
frame: pan zoomed-in 20× (labels)v3 246 ms247 ms 251 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.56 ms4.56 ms 4.59 ms4.51 ms 121
pick: hover while panninggpu 900 µs8.77 ms 18.1 ms400 µs 80
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.9 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 1.10 ms1.10 ms 1.11 ms1.09 ms 121
compaction: pan fit-all, 10% livegpu device (compacted) 959 µs959 µs 965 µs950 µs 121
compaction: compact() one-shotgpu 13.9 ms13.9 ms 13.9 ms13.9 ms 1
init: create + readyv3 5.26 s5.26 s 5.26 s5.26 s 1
init: create + readygpu 141 ms141 ms 141 ms141 ms 1
init: create + ready (labels)v3 6.05 s6.05 s 6.05 s6.05 s 1
init: create + ready (labels)gpu 305 ms305 ms 305 ms305 ms 1
init: columnar form (gpu-only)gpu 128 ms128 ms 128 ms128 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 34.7 ms34.7 ms 34.7 ms34.7 ms 1
export: png full (≤2048 px)v3 1.36 s1.36 s 1.36 s1.36 s 1
export: png full (≤2048 px)gpu 267 ms267 ms 267 ms267 ms 1

render — generated 25k × 50k images (icon-per-type) 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
38×
frame: pan zoomed-in 20×
20×
frame: pan far-zoom ÷8
38×
frame: pan fit-all (labels)
45×
frame: pan zoomed-in 20× (labels)
22×
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)
985 µs
compaction: compact() one-shot — gpu
14.2 ms
init: create + ready
31×
init: create + ready (labels)
22×
init: columnar form (gpu-only) — gpu
111 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
30.2 ms
export: png full (≤2048 px)
14×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 641 ms643 ms 657 ms635 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 121
frame: pan zoomed-in 20×v3 334 ms338 ms 347 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.44 ms 121
frame: pan far-zoom ÷8v3 643 ms650 ms 680 ms628 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 121
frame: pan fit-all (labels)v3 751 ms755 ms 768 ms743 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.69 ms 121
frame: pan zoomed-in 20× (labels)v3 368 ms368 ms 371 ms364 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.79 ms 121
pick: hover while panninggpu 17.8 ms17.7 ms 18.2 ms8.40 ms 80
compaction: pan fit-all, 10% livegpu (peak slots) 16.7 ms16.7 ms 17.0 ms16.4 ms 121
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) 1.17 ms1.17 ms 1.18 ms1.17 ms 121
compaction: pan fit-all, 10% livegpu device (compacted) 985 µs985 µs 991 µs979 µs 121
compaction: compact() one-shotgpu 14.2 ms14.2 ms 14.2 ms14.2 ms 1
init: create + readyv3 4.27 s4.27 s 4.27 s4.27 s 1
init: create + readygpu 139 ms139 ms 139 ms139 ms 1
init: create + ready (labels)v3 5.26 s5.26 s 5.26 s5.26 s 1
init: create + ready (labels)gpu 244 ms244 ms 244 ms244 ms 1
init: columnar form (gpu-only)gpu 111 ms111 ms 111 ms111 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 30.2 ms30.2 ms 30.2 ms30.2 ms 1
export: png full (≤2048 px)v3 4.53 s4.53 s 4.53 s4.53 s 1
export: png full (≤2048 px)gpu 318 ms318 ms 318 ms318 ms 1

render — generated 25k × 50k wrapped labels 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
38×
frame: pan zoomed-in 20×
18×
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.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)
1.17 ms
compaction: pan fit-all, 10% live — gpu device (compacted)
983 µs
compaction: compact() one-shot — gpu
12.6 ms
init: create + ready
31×
init: create + ready (labels)
14×
init: columnar form (gpu-only) — gpu
84.1 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
23.9 ms
export: png full (≤2048 px)
5.3×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 642 ms656 ms 650 ms630 ms 12
frame: pan fit-allgpu 16.7 ms16.7 ms 16.9 ms16.2 ms 121
frame: pan fit-allgpu (device) 3.40 ms3.40 ms 3.41 ms3.39 ms 121
frame: pan zoomed-in 20×v3 309 ms305 ms 327 ms220 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.42 ms4.43 ms 4.44 ms4.41 ms 121
frame: pan far-zoom ÷8v3 646 ms649 ms 656 ms637 ms 12
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.9 ms13.9 ms 121
frame: pan far-zoom ÷8gpu (device) 1.41 ms1.41 ms 1.44 ms722 µs 121
frame: pan fit-all (labels)v3 737 ms751 ms 765 ms725 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.55 ms4.55 ms 4.56 ms4.54 ms 121
frame: pan zoomed-in 20× (labels)v3 326 ms325 ms 353 ms225 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) 5.95 ms5.94 ms 5.97 ms5.87 ms 121
pick: hover while panninggpu 17.3 ms17.8 ms 17.6 ms100 µs 80
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 ms15.0 ms 120
compaction: pan fit-all, 10% livegpu device (peak slots) 1.17 ms1.17 ms 1.17 ms1.16 ms 121
compaction: pan fit-all, 10% livegpu device (compacted) 983 µs983 µs 989 µs976 µs 120
compaction: compact() one-shotgpu 12.6 ms12.6 ms 12.6 ms12.6 ms 1
init: create + readyv3 3.23 s3.23 s 3.23 s3.23 s 1
init: create + readygpu 105 ms105 ms 105 ms105 ms 1
init: create + ready (labels)v3 4.13 s4.13 s 4.13 s4.13 s 1
init: create + ready (labels)gpu 298 ms298 ms 298 ms298 ms 1
init: columnar form (gpu-only)gpu 84.1 ms84.1 ms 84.1 ms84.1 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 23.9 ms23.9 ms 23.9 ms23.9 ms 1
export: png full (≤2048 px)v3 1.42 s1.42 s 1.42 s1.42 s 1
export: png full (≤2048 px)gpu 268 ms268 ms 268 ms268 ms 1

render — generated 25k × 50k half-invisible / half-inert 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
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.4 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)
984 µs
compaction: compact() one-shot — gpu
13.3 ms
init: create + ready
24×
init: create + ready (labels)
20×
init: columnar form (gpu-only) — gpu
98.5 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
26.1 ms
export: png full (≤2048 px)
2.3×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 573 ms589 ms 579 ms569 ms 12
frame: pan fit-allgpu 16.7 ms16.7 ms 16.9 ms15.6 ms 121
frame: pan fit-allgpu (device) 1.66 ms1.66 ms 1.67 ms1.66 ms 121
frame: pan zoomed-in 20×v3 303 ms298 ms 311 ms220 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) 2.24 ms2.24 ms 2.26 ms2.22 ms 121
frame: pan far-zoom ÷8v3 566 ms576 ms 615 ms554 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.15 ms1.15 ms 1.16 ms1.15 ms 121
frame: pan fit-all (labels)v3 638 ms653 ms 662 ms627 ms 12
frame: pan fit-all (labels)gpu 16.7 ms16.7 ms 16.8 ms16.4 ms 121
frame: pan fit-all (labels)gpu (device) 1.97 ms1.97 ms 1.98 ms1.96 ms 121
frame: pan zoomed-in 20× (labels)v3 332 ms324 ms 344 ms223 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) 1.63 ms1.63 ms 1.65 ms1.62 ms 121
pick: hover while panninggpu 17.4 ms17.2 ms 18.1 ms4.00 ms 80
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) 465 µs470 µs 642 µs462 µs 121
compaction: pan fit-all, 10% livegpu device (compacted) 984 µs984 µs 990 µs977 µs 121
compaction: compact() one-shotgpu 13.3 ms13.3 ms 13.3 ms13.3 ms 1
init: create + readyv3 3.14 s3.14 s 3.14 s3.14 s 1
init: create + readygpu 132 ms132 ms 132 ms132 ms 1
init: create + ready (labels)v3 4.11 s4.11 s 4.11 s4.11 s 1
init: create + ready (labels)gpu 205 ms205 ms 205 ms205 ms 1
init: columnar form (gpu-only)gpu 98.5 ms98.5 ms 98.5 ms98.5 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 26.1 ms26.1 ms 26.1 ms26.1 ms 1
export: png full (≤2048 px)v3 718 ms718 ms 718 ms718 ms 1
export: png full (≤2048 px)gpu 307 ms307 ms 307 ms307 ms 1

render — generated 25k × 50k arrows (filled) 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
122×
frame: pan zoomed-in 20×
29×
frame: pan far-zoom ÷8
118×
frame: pan fit-all (labels)
125×
frame: pan zoomed-in 20× (labels)
31×
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)
468 µs
compaction: pan fit-all, 10% live — gpu device (compacted)
989 µs
compaction: compact() one-shot — gpu
13.1 ms
init: create + ready
37×
init: create + ready (labels)
18×
init: columnar form (gpu-only) — gpu
92.7 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
23.8 ms
export: png full (≤2048 px)
7.3×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 2.03 s2.04 s 2.05 s2.02 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 121
frame: pan zoomed-in 20×v3 487 ms483 ms 494 ms410 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.67 ms4.67 ms 4.69 ms4.66 ms 121
frame: pan far-zoom ÷8v3 1.97 s2.00 s 2.02 s1.94 s 4
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.8 ms16.4 ms 121
frame: pan far-zoom ÷8gpu (device) 1.45 ms1.45 ms 1.46 ms1.43 ms 121
frame: pan fit-all (labels)v3 2.09 s2.10 s 2.12 s2.04 s 4
frame: pan fit-all (labels)gpu 16.7 ms16.7 ms 16.9 ms16.3 ms 121
frame: pan fit-all (labels)gpu (device) 3.81 ms3.81 ms 3.82 ms3.80 ms 121
frame: pan zoomed-in 20× (labels)v3 512 ms507 ms 523 ms425 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.01 ms5.02 ms 5.03 ms5.00 ms 121
pick: hover while panninggpu 17.7 ms16.9 ms 18.3 ms300 µs 80
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.7 ms16.7 ms 16.9 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 468 µs770 µs 1.18 ms464 µs 121
compaction: pan fit-all, 10% livegpu device (compacted) 989 µs990 µs 1.00 ms981 µs 121
compaction: compact() one-shotgpu 13.1 ms13.1 ms 13.1 ms13.1 ms 1
init: create + readyv3 3.87 s3.87 s 3.87 s3.87 s 1
init: create + readygpu 104 ms104 ms 104 ms104 ms 1
init: create + ready (labels)v3 4.55 s4.55 s 4.55 s4.55 s 1
init: create + ready (labels)gpu 248 ms248 ms 248 ms248 ms 1
init: columnar form (gpu-only)gpu 92.7 ms92.7 ms 92.7 ms92.7 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 23.8 ms23.8 ms 23.8 ms23.8 ms 1
export: png full (≤2048 px)v3 2.09 s2.09 s 2.09 s2.09 s 1
export: png full (≤2048 px)gpu 286 ms286 ms 286 ms286 ms 1

render — generated 25k × 50k arrows (half hollow, 0.6 alpha) N=25,000 · 1.7 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
134×
frame: pan zoomed-in 20×
30×
frame: pan far-zoom ÷8
135×
frame: pan fit-all (labels)
144×
frame: pan zoomed-in 20× (labels)
32×
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)
466 µs
compaction: pan fit-all, 10% live — gpu device (compacted)
989 µs
compaction: compact() one-shot — gpu
13.7 ms
init: create + ready
20×
init: create + ready (labels)
17×
init: columnar form (gpu-only) — gpu
152 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
28.2 ms
export: png full (≤2048 px)
14×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 2.23 s2.25 s 2.29 s2.17 s 4
frame: pan fit-allgpu 16.7 ms16.7 ms 16.8 ms16.5 ms 122
frame: pan fit-allgpu (device) 3.55 ms3.55 ms 3.56 ms3.54 ms 122
frame: pan zoomed-in 20×v3 507 ms501 ms 515 ms425 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.68 ms4.68 ms 4.70 ms4.66 ms 121
frame: pan far-zoom ÷8v3 2.25 s2.32 s 2.27 s2.21 s 4
frame: pan far-zoom ÷8gpu 16.6 ms16.7 ms 16.9 ms16.3 ms 121
frame: pan far-zoom ÷8gpu (device) 1.45 ms1.45 ms 1.45 ms1.43 ms 121
frame: pan fit-all (labels)v3 2.41 s2.42 s 2.43 s2.40 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.82 ms3.82 ms 3.83 ms3.81 ms 121
frame: pan zoomed-in 20× (labels)v3 530 ms526 ms 540 ms438 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) 5.02 ms5.02 ms 5.04 ms5.00 ms 121
pick: hover while panninggpu 17.3 ms17.2 ms 17.6 ms7.40 ms 80
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 121
compaction: pan fit-all, 10% livegpu device (peak slots) 466 µs698 µs 1.18 ms464 µs 121
compaction: pan fit-all, 10% livegpu device (compacted) 989 µs989 µs 996 µs983 µs 121
compaction: compact() one-shotgpu 13.7 ms13.7 ms 13.7 ms13.7 ms 1
init: create + readyv3 3.72 s3.72 s 3.72 s3.72 s 1
init: create + readygpu 190 ms190 ms 190 ms190 ms 1
init: create + ready (labels)v3 4.23 s4.23 s 4.23 s4.23 s 1
init: create + ready (labels)gpu 245 ms245 ms 245 ms245 ms 1
init: columnar form (gpu-only)gpu 152 ms152 ms 152 ms152 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 28.2 ms28.2 ms 28.2 ms28.2 ms 1
export: png full (≤2048 px)v3 4.56 s4.56 s 4.56 s4.56 s 1
export: png full (≤2048 px)gpu 325 ms325 ms 325 ms325 ms 1

render — generated 25k × 50k hexagon borders (solid) 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
38×
frame: pan zoomed-in 20×
18×
frame: pan far-zoom ÷8
38×
frame: pan fit-all (labels)
45×
frame: pan zoomed-in 20× (labels)
20×
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)
1.17 ms
compaction: pan fit-all, 10% live — gpu device (compacted)
982 µs
compaction: compact() one-shot — gpu
13.1 ms
init: create + ready
32×
init: create + ready (labels)
23×
init: columnar form (gpu-only) — gpu
86.2 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
26.0 ms
export: png full (≤2048 px)
5.8×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 641 ms654 ms 649 ms632 ms 12
frame: pan fit-allgpu 16.7 ms16.7 ms 16.9 ms15.3 ms 121
frame: pan fit-allgpu (device) 3.41 ms3.41 ms 3.43 ms3.40 ms 121
frame: pan zoomed-in 20×v3 307 ms301 ms 314 ms219 ms 12
frame: pan zoomed-in 20×gpu 16.7 ms16.7 ms 16.9 ms15.7 ms 121
frame: pan zoomed-in 20×gpu (device) 4.48 ms4.48 ms 4.50 ms4.46 ms 121
frame: pan far-zoom ÷8v3 642 ms649 ms 675 ms625 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 121
frame: pan fit-all (labels)v3 748 ms769 ms 771 ms742 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 330 ms323 ms 334 ms229 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.82 ms4.82 ms 4.83 ms4.80 ms 121
pick: hover while panninggpu 17.3 ms17.7 ms 17.7 ms7.60 ms 80
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) 1.17 ms1.01 ms 1.17 ms464 µs 121
compaction: pan fit-all, 10% livegpu device (compacted) 982 µs982 µs 986 µs975 µs 121
compaction: compact() one-shotgpu 13.1 ms13.1 ms 13.1 ms13.1 ms 1
init: create + readyv3 3.30 s3.30 s 3.30 s3.30 s 1
init: create + readygpu 104 ms104 ms 104 ms104 ms 1
init: create + ready (labels)v3 4.28 s4.28 s 4.28 s4.28 s 1
init: create + ready (labels)gpu 183 ms183 ms 183 ms183 ms 1
init: columnar form (gpu-only)gpu 86.2 ms86.2 ms 86.2 ms86.2 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 1.58 s1.58 s 1.58 s1.58 s 1
export: png full (≤2048 px)gpu 273 ms273 ms 273 ms273 ms 1

render — generated 25k × 50k hexagon borders (dashed) 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
40×
frame: pan zoomed-in 20×
19×
frame: pan far-zoom ÷8
40×
frame: pan fit-all (labels)
48×
frame: pan zoomed-in 20× (labels)
21×
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)
467 µs
compaction: pan fit-all, 10% live — gpu device (compacted)
981 µs
compaction: compact() one-shot — gpu
10.1 ms
init: create + ready
32×
init: create + ready (labels)
26×
init: columnar form (gpu-only) — gpu
90.2 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
22.5 ms
export: png full (≤2048 px)
4.5×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 669 ms687 ms 710 ms665 ms 12
frame: pan fit-allgpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan fit-allgpu (device) 3.41 ms3.41 ms 3.42 ms3.40 ms 121
frame: pan zoomed-in 20×v3 318 ms312 ms 323 ms234 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 121
frame: pan far-zoom ÷8v3 666 ms670 ms 707 ms648 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 121
frame: pan fit-all (labels)v3 795 ms811 ms 806 ms781 ms 10
frame: pan fit-all (labels)gpu 16.7 ms16.7 ms 16.9 ms16.3 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 352 ms344 ms 357 ms241 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.85 ms4.85 ms 4.86 ms4.83 ms 121
pick: hover while panninggpu 17.3 ms17.1 ms 18.0 ms9.60 ms 80
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.9 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 467 µs470 µs 469 µs465 µs 121
compaction: pan fit-all, 10% livegpu device (compacted) 981 µs787 µs 988 µs362 µs 121
compaction: compact() one-shotgpu 10.1 ms10.1 ms 10.1 ms10.1 ms 1
init: create + readyv3 3.35 s3.35 s 3.35 s3.35 s 1
init: create + readygpu 104 ms104 ms 104 ms104 ms 1
init: create + ready (labels)v3 4.47 s4.47 s 4.47 s4.47 s 1
init: create + ready (labels)gpu 170 ms170 ms 170 ms170 ms 1
init: columnar form (gpu-only)gpu 90.2 ms90.2 ms 90.2 ms90.2 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 22.5 ms22.5 ms 22.5 ms22.5 ms 1
export: png full (≤2048 px)v3 1.70 s1.70 s 1.70 s1.70 s 1
export: png full (≤2048 px)gpu 377 ms377 ms 377 ms377 ms 1