Cytoscape.js GPU benchmarks

v4 (src/) vs v3 (v3/src/) · Mitata · times are per-iteration p50 · 2026-08-13 01:09 · 0d3561de (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)
Commit0d3561de
merge: the round 69/70 algorithm matrix into v4
Machine id5cf3f79c
Median speedup (geo-mean) 33× 96 v3-vs-gpu comparisons
Biggest win 299× 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
299×
frame: pan fit-all (labels) @ 100k
261×
frame: pan fit-all @ 100k
213×
frame: pan far-zoom ÷8 @ 100k
195×
frame: pan fit-all (labels) @ 25k
145×
frame: pan fit-all (labels) @ 19.607k
140×
frame: pan far-zoom ÷8 @ 25k
134×
frame: pan fit-all @ 25k
133×
frame: pan fit-all @ 19.607k
129×
frame: pan fit-all (labels) @ 25k
128×
frame: pan fit-all @ 26k
123×
frame: pan far-zoom ÷8 @ 25k
122×
frame: pan far-zoom ÷8 @ 26k
122×
frame: pan fit-all (labels) @ 26k
120×
frame: pan zoomed-in 20× (labels) @ 100k
114×
frame: pan fit-all @ 25k
111×
frame: pan zoomed-in 20× @ 100k
106×
frame: pan zoomed-in 20× (labels) @ 19.607k
98×
frame: pan zoomed-in 20× @ 19.607k
78×
frame: pan fit-all (labels) @ 25k
47×
frame: pan fit-all (labels) @ 25k
46×
frame: pan fit-all (labels) @ 25k
46×
frame: pan fit-all (labels) @ 25k
45×
frame: pan fit-all (labels) @ 25k
44×
frame: pan fit-all (labels) @ 25k
43×
init: create + ready @ 19.607k
42×
init: create + ready (labels) @ 19.607k
40×
frame: pan fit-all @ 25k
40×
frame: pan far-zoom ÷8 @ 25k
40×
frame: pan fit-all @ 25k
39×
frame: pan fit-all (labels) @ 25k
39×
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
38×
frame: pan far-zoom ÷8 @ 25k
38×
init: create + ready @ 25k
38×
frame: pan far-zoom ÷8 @ 25k
38×
frame: pan fit-all @ 25k
38×
frame: pan far-zoom ÷8 @ 25k
37×
frame: pan far-zoom ÷8 @ 25k
36×
init: create + ready @ 26k
35×
frame: pan fit-all @ 25k
35×
init: create + ready @ 25k
33×
export: png full (≤2048 px) @ 19.607k
33×
init: create + ready @ 25k
32×
frame: pan zoomed-in 20× (labels) @ 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 @ 25k
28×
init: create + ready (labels) @ 25k
27×
init: create + ready @ 25k
27×
init: create + ready @ 100k
27×
export: png full (≤2048 px) @ 100k
27×
init: create + ready (labels) @ 100k
24×
init: create + ready (labels) @ 25k
24×
init: create + ready @ 25k
23×
init: create + ready (labels) @ 25k
22×
frame: pan zoomed-in 20× (labels) @ 25k
21×
init: create + ready (labels) @ 25k
21×
init: create + ready (labels) @ 26k
21×
frame: pan zoomed-in 20× (labels) @ 25k
21×
init: create + ready (labels) @ 25k
20×
init: create + ready (labels) @ 25k
20×
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× @ 25k
20×
frame: pan zoomed-in 20× (labels) @ 25k
19×
frame: pan zoomed-in 20× (labels) @ 25k
19×
init: create + ready @ 25k
19×
frame: pan zoomed-in 20× @ 25k
19×
frame: pan zoomed-in 20× @ 25k
18×
init: create + ready (labels) @ 25k
18×
frame: pan zoomed-in 20× (labels) @ 25k
18×
init: create + ready (labels) @ 25k
18×
init: create + ready (labels) @ 25k
18×
frame: pan zoomed-in 20× @ 25k
18×
init: create + ready @ 25k
18×
frame: pan zoomed-in 20× @ 25k
17×
frame: pan zoomed-in 20× @ 25k
17×
export: png full (≤2048 px) @ 25k
16×
export: png full (≤2048 px) @ 25k
15×
frame: pan zoomed-in 20× (labels) @ 26k
14×
frame: pan zoomed-in 20× @ 26k
14×
export: png full (≤2048 px) @ 25k
7.7×
export: png full (≤2048 px) @ 25k
7.2×
export: png full (≤2048 px) @ 25k
6.2×
export: png full (≤2048 px) @ 26k
5.4×
export: png full (≤2048 px) @ 25k
4.9×
export: png full (≤2048 px) @ 25k
4.9×
export: png full (≤2048 px) @ 25k
4.6×
export: png full (≤2048 px) @ 25k
2.7×
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×
17×
frame: pan far-zoom ÷8
37×
frame: pan fit-all (labels)
43×
frame: pan zoomed-in 20× (labels)
18×
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)
464 µs
compaction: pan fit-all, 10% live — gpu device (compacted)
984 µs
compaction: compact() one-shot — gpu
27.7 ms
init: create + ready
19×
init: create + ready (labels)
20×
init: columnar form (gpu-only) — gpu
101 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
24.7 ms
export: png full (≤2048 px)
4.9×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 627 ms642 ms 646 ms618 ms 12
frame: pan fit-allgpu 16.7 ms16.7 ms 16.8 ms16.5 ms 121
frame: pan fit-allgpu (device) 3.40 ms3.40 ms 3.41 ms3.39 ms 121
frame: pan zoomed-in 20×v3 287 ms285 ms 308 ms200 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.43 ms4.43 ms 4.44 ms4.41 ms 121
frame: pan far-zoom ÷8v3 611 ms625 ms 647 ms597 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 725 ms742 ms 763 ms709 ms 11
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.67 ms3.67 ms 3.68 ms3.66 ms 121
frame: pan zoomed-in 20× (labels)v3 306 ms301 ms 320 ms217 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 121
pick: hover while panninggpu 17.3 ms16.9 ms 18.2 ms200 µs 80
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) 464 µs472 µs 643 µs462 µs 120
compaction: pan fit-all, 10% livegpu device (compacted) 984 µs984 µs 988 µs976 µs 121
compaction: compact() one-shotgpu 27.7 ms27.7 ms 27.7 ms27.7 ms 1
init: create + readyv3 2.51 s2.51 s 2.51 s2.51 s 1
init: create + readygpu 133 ms133 ms 133 ms133 ms 1
init: create + ready (labels)v3 3.70 s3.70 s 3.70 s3.70 s 1
init: create + ready (labels)gpu 181 ms181 ms 181 ms181 ms 1
init: columnar form (gpu-only)gpu 101 ms101 ms 101 ms101 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 24.7 ms24.7 ms 24.7 ms24.7 ms 1
export: png full (≤2048 px)v3 1.41 s1.41 s 1.41 s1.41 s 1
export: png full (≤2048 px)gpu 289 ms289 ms 289 ms289 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
213×
frame: pan zoomed-in 20×
106×
frame: pan far-zoom ÷8
195×
frame: pan fit-all (labels)
261×
frame: pan zoomed-in 20× (labels)
114×
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)
954 µs
compaction: pan fit-all, 10% live — gpu device (compacted)
539 µs
compaction: compact() one-shot — gpu
66.4 ms
init: create + ready
27×
init: create + ready (labels)
24×
init: columnar form (gpu-only) — gpu
523 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
224 ms
export: png full (≤2048 px)
27×
100 µs1 ms10 ms100 ms1 s10 s100 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 3.56 s3.84 s 3.56 s3.56 s 3
frame: pan fit-allgpu 16.7 ms16.7 ms 16.8 ms16.5 ms 121
frame: pan fit-allgpu (device) 9.31 ms9.31 ms 9.33 ms9.30 ms 121
frame: pan zoomed-in 20×v3 1.77 s1.80 s 2.03 s1.26 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.25 s3.34 s 3.25 s3.24 s 3
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.8 ms16.4 ms 121
frame: pan far-zoom ÷8gpu (device) 1.67 ms1.67 ms 1.67 ms1.66 ms 121
frame: pan fit-all (labels)v3 4.35 s4.61 s 4.35 s4.35 s 2
frame: pan fit-all (labels)gpu 16.7 ms16.7 ms 16.9 ms16.5 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.90 s1.95 s 2.20 s1.35 s 5
frame: pan zoomed-in 20× (labels)gpu 16.7 ms20.3 ms 33.5 ms16.4 ms 100
frame: pan zoomed-in 20× (labels)gpu (device) 20.1 ms20.1 ms 20.2 ms20.0 ms 100
pick: hover while panninggpu 19.3 ms18.4 ms 20.8 ms500 µ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.8 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 954 µs955 µs 958 µs951 µs 121
compaction: pan fit-all, 10% livegpu device (compacted) 539 µs540 µs 541 µs489 µs 121
compaction: compact() one-shotgpu 66.4 ms66.4 ms 66.4 ms66.4 ms 1
init: create + readyv3 16.0 s16.0 s 16.0 s16.0 s 1
init: create + readygpu 595 ms595 ms 595 ms595 ms 1
init: create + ready (labels)v3 19.0 s19.0 s 19.0 s19.0 s 1
init: create + ready (labels)gpu 798 ms798 ms 798 ms798 ms 1
init: columnar form (gpu-only)gpu 523 ms523 ms 523 ms523 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 224 ms224 ms 224 ms224 ms 1
export: png full (≤2048 px)v3 6.53 s6.53 s 6.53 s6.53 s 1
export: png full (≤2048 px)gpu 246 ms246 ms 246 ms246 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
129×
frame: pan zoomed-in 20×
78×
frame: pan far-zoom ÷8
299×
frame: pan fit-all (labels)
140×
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
64.3 ms
init: create + ready
42×
init: create + ready (labels)
40×
init: columnar form (gpu-only) — gpu
413 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
47.5 ms
export: png full (≤2048 px)
33×
100 µs1 ms10 ms100 ms1 s10 s100 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 4.30 s4.75 s 4.30 s4.30 s 2
frame: pan fit-allgpu 33.4 ms36.7 ms 50.1 ms33.1 ms 54
frame: pan fit-allgpu (device) 36.4 ms36.4 ms 36.8 ms36.1 ms 55
frame: pan zoomed-in 20×v3 2.58 s2.80 s 2.58 s2.49 s 3
frame: pan zoomed-in 20×gpu 33.3 ms35.7 ms 50.1 ms33.1 ms 57
frame: pan zoomed-in 20×gpu (device) 35.3 ms35.3 ms 36.1 ms34.4 ms 57
frame: pan far-zoom ÷8v3 4.99 s5.60 s 4.99 s4.99 s 2
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.9 ms16.3 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.69 s5.19 s 4.69 s4.69 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.8 ms36.8 ms 37.4 ms36.4 ms 55
frame: pan zoomed-in 20× (labels)v3 3.26 s3.25 s 3.26 s3.16 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.3 ms 38.0 ms36.3 ms 54
pick: hover while panninggpu 400 µs23.8 ms 72.4 ms0.00 ns 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.2 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 1.45 ms1.45 ms 1.47 ms1.44 ms 121
compaction: pan fit-all, 10% livegpu device (compacted) 928 µs930 µs 971 µs923 µs 121
compaction: compact() one-shotgpu 64.3 ms64.3 ms 64.3 ms64.3 ms 1
init: create + readyv3 20.7 s20.7 s 20.7 s20.7 s 1
init: create + readygpu 487 ms487 ms 487 ms487 ms 1
init: create + ready (labels)v3 23.8 s23.8 s 23.8 s23.8 s 1
init: create + ready (labels)gpu 599 ms599 ms 599 ms599 ms 1
init: columnar form (gpu-only)gpu 413 ms413 ms 413 ms413 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 47.5 ms47.5 ms 47.5 ms47.5 ms 1
export: png full (≤2048 px)v3 6.58 s6.58 s 6.58 s6.58 s 1
export: png full (≤2048 px)gpu 198 ms198 ms 198 ms198 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
39×
frame: pan zoomed-in 20×
17×
frame: pan far-zoom ÷8
38×
frame: pan fit-all (labels)
46×
frame: pan zoomed-in 20× (labels)
19×
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)
567 µs
compaction: pan fit-all, 10% live — gpu device (compacted)
468 µs
compaction: compact() one-shot — gpu
15.0 ms
init: create + ready
27×
init: create + ready (labels)
18×
init: columnar form (gpu-only) — gpu
94.6 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
17.0 ms
export: png full (≤2048 px)
7.7×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 655 ms672 ms 692 ms629 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 292 ms292 ms 321 ms216 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.83 ms3.83 ms 3.86 ms3.80 ms 121
frame: pan far-zoom ÷8v3 643 ms651 ms 670 ms637 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 761 ms767 ms 773 ms733 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 320 ms312 ms 323 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) 4.17 ms4.17 ms 4.19 ms4.14 ms 121
pick: hover while panninggpu 17.8 ms17.7 ms 19.7 ms7.80 ms 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.3 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 567 µs561 µs 573 µs497 µs 122
compaction: pan fit-all, 10% livegpu device (compacted) 468 µs465 µs 670 µs407 µs 121
compaction: compact() one-shotgpu 15.0 ms15.0 ms 15.0 ms15.0 ms 1
init: create + readyv3 3.35 s3.35 s 3.35 s3.35 s 1
init: create + readygpu 123 ms123 ms 123 ms123 ms 1
init: create + ready (labels)v3 3.85 s3.85 s 3.85 s3.85 s 1
init: create + ready (labels)gpu 215 ms215 ms 215 ms215 ms 1
init: columnar form (gpu-only)gpu 94.6 ms94.6 ms 94.6 ms94.6 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 17.0 ms17.0 ms 17.0 ms17.0 ms 1
export: png full (≤2048 px)v3 2.08 s2.08 s 2.08 s2.08 s 1
export: png full (≤2048 px)gpu 270 ms270 ms 270 ms270 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
123×
frame: pan zoomed-in 20×
14×
frame: pan far-zoom ÷8
122×
frame: pan fit-all (labels)
120×
frame: pan zoomed-in 20× (labels)
14×
pick: hover while panning — gpu
17.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)
482 µs
compaction: pan fit-all, 10% live — gpu device (compacted)
959 µs
compaction: compact() one-shot — gpu
13.4 ms
init: create + ready
35×
init: create + ready (labels)
21×
init: columnar form (gpu-only) — gpu
124 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
34.6 ms
export: png full (≤2048 px)
5.4×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 2.06 s2.07 s 2.07 s2.03 s 4
frame: pan fit-allgpu 16.7 ms16.7 ms 16.8 ms16.4 ms 121
frame: pan fit-allgpu (device) 2.14 ms2.14 ms 2.14 ms2.09 ms 121
frame: pan zoomed-in 20×v3 236 ms239 ms 247 ms233 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.21 ms4.21 ms 4.24 ms4.16 ms 121
frame: pan far-zoom ÷8v3 2.04 s2.08 s 2.04 s2.04 s 4
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.9 ms1.70 ms 121
frame: pan far-zoom ÷8gpu (device) 1.38 ms1.19 ms 1.38 ms565 µs 120
frame: pan fit-all (labels)v3 2.00 s2.02 s 2.00 s1.97 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 239 ms240 ms 243 ms237 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.55 ms 4.59 ms4.51 ms 121
pick: hover while panninggpu 17.1 ms10.0 ms 17.9 ms200 µ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.8 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 482 µs680 µs 1.10 ms480 µs 121
compaction: pan fit-all, 10% livegpu device (compacted) 959 µs959 µs 964 µs950 µs 121
compaction: compact() one-shotgpu 13.4 ms13.4 ms 13.4 ms13.4 ms 1
init: create + readyv3 5.20 s5.20 s 5.20 s5.20 s 1
init: create + readygpu 147 ms147 ms 147 ms147 ms 1
init: create + ready (labels)v3 6.44 s6.44 s 6.44 s6.44 s 1
init: create + ready (labels)gpu 308 ms308 ms 308 ms308 ms 1
init: columnar form (gpu-only)gpu 124 ms124 ms 124 ms124 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 34.6 ms34.6 ms 34.6 ms34.6 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 258 ms258 ms 258 ms258 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
39×
frame: pan zoomed-in 20×
20×
frame: pan far-zoom ÷8
38×
frame: pan fit-all (labels)
44×
frame: pan zoomed-in 20× (labels)
21×
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)
1.18 ms
compaction: pan fit-all, 10% live — gpu device (compacted)
985 µs
compaction: compact() one-shot — gpu
14.2 ms
init: create + ready
28×
init: create + ready (labels)
22×
init: columnar form (gpu-only) — gpu
114 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
29.9 ms
export: png full (≤2048 px)
16×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 658 ms658 ms 672 ms641 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 331 ms334 ms 345 ms325 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.46 ms4.46 ms 4.48 ms4.44 ms 121
frame: pan far-zoom ÷8v3 640 ms653 ms 672 ms630 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 739 ms742 ms 747 ms731 ms 11
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.71 ms3.71 ms 3.72 ms3.70 ms 121
frame: pan zoomed-in 20× (labels)v3 356 ms357 ms 366 ms351 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.9 ms17.8 ms 18.9 ms9.30 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.18 ms1.18 ms 1.18 ms1.17 ms 121
compaction: pan fit-all, 10% livegpu device (compacted) 985 µs985 µs 991 µs971 µs 121
compaction: compact() one-shotgpu 14.2 ms14.2 ms 14.2 ms14.2 ms 1
init: create + readyv3 4.22 s4.22 s 4.22 s4.22 s 1
init: create + readygpu 153 ms153 ms 153 ms153 ms 1
init: create + ready (labels)v3 5.14 s5.14 s 5.14 s5.14 s 1
init: create + ready (labels)gpu 230 ms230 ms 230 ms230 ms 1
init: columnar form (gpu-only)gpu 114 ms114 ms 114 ms114 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 29.9 ms29.9 ms 29.9 ms29.9 ms 1
export: png full (≤2048 px)v3 4.51 s4.51 s 4.51 s4.51 s 1
export: png full (≤2048 px)gpu 279 ms279 ms 279 ms279 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
40×
frame: pan zoomed-in 20×
19×
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)
983 µs
compaction: compact() one-shot — gpu
10.0 ms
init: create + ready
31×
init: create + ready (labels)
24×
init: columnar form (gpu-only) — gpu
85.0 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
23.3 ms
export: png full (≤2048 px)
4.6×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 661 ms680 ms 704 ms650 ms 12
frame: pan fit-allgpu 16.7 ms16.7 ms 16.9 ms16.5 ms 121
frame: pan fit-allgpu (device) 3.40 ms3.40 ms 3.41 ms3.39 ms 121
frame: pan zoomed-in 20×v3 310 ms304 ms 316 ms227 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.43 ms4.43 ms 4.44 ms4.41 ms 121
frame: pan far-zoom ÷8v3 642 ms657 ms 702 ms635 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 756 ms774 ms 800 ms748 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.57 ms4.52 ms 121
frame: pan zoomed-in 20× (labels)v3 338 ms331 ms 343 ms235 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.95 ms 5.97 ms5.90 ms 121
pick: hover while panninggpu 17.3 ms17.2 ms 17.6 ms6.90 ms 80
compaction: pan fit-all, 10% livegpu (peak slots) 16.7 ms16.7 ms 16.9 ms15.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.17 ms889 µs 1.17 ms462 µs 121
compaction: pan fit-all, 10% livegpu device (compacted) 983 µs984 µs 1.00 ms977 µs 121
compaction: compact() one-shotgpu 10.0 ms10.0 ms 10.0 ms10.0 ms 1
init: create + readyv3 3.03 s3.03 s 3.03 s3.03 s 1
init: create + readygpu 98.1 ms98.1 ms 98.1 ms98.1 ms 1
init: create + ready (labels)v3 4.49 s4.49 s 4.49 s4.49 s 1
init: create + ready (labels)gpu 190 ms190 ms 190 ms190 ms 1
init: columnar form (gpu-only)gpu 85.0 ms85.0 ms 85.0 ms85.0 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.40 s1.40 s 1.40 s1.40 s 1
export: png full (≤2048 px)gpu 308 ms308 ms 308 ms308 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
35×
frame: pan zoomed-in 20×
20×
frame: pan far-zoom ÷8
36×
frame: pan fit-all (labels)
39×
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)
464 µs
compaction: pan fit-all, 10% live — gpu device (compacted)
984 µs
compaction: compact() one-shot — gpu
9.30 ms
init: create + ready
23×
init: create + ready (labels)
20×
init: columnar form (gpu-only) — gpu
101 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
33.0 ms
export: png full (≤2048 px)
2.7×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 585 ms599 ms 590 ms579 ms 12
frame: pan fit-allgpu 16.7 ms16.7 ms 16.8 ms16.5 ms 121
frame: pan fit-allgpu (device) 1.66 ms1.66 ms 1.67 ms1.65 ms 121
frame: pan zoomed-in 20×v3 326 ms319 ms 337 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) 1.43 ms1.43 ms 1.44 ms1.42 ms 121
frame: pan far-zoom ÷8v3 594 ms598 ms 602 ms586 ms 12
frame: pan far-zoom ÷8gpu 16.7 ms16.7 ms 16.8 ms16.5 ms 121
frame: pan far-zoom ÷8gpu (device) 1.15 ms1.15 ms 1.16 ms1.14 ms 121
frame: pan fit-all (labels)v3 655 ms669 ms 676 ms635 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.97 ms 1.97 ms1.96 ms 121
frame: pan zoomed-in 20× (labels)v3 346 ms338 ms 349 ms241 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) 1.63 ms1.63 ms 1.66 ms1.62 ms 121
pick: hover while panninggpu 17.3 ms17.5 ms 26.1 ms4.20 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) 464 µs511 µs 1.17 ms462 µs 121
compaction: pan fit-all, 10% livegpu device (compacted) 984 µs984 µs 989 µs976 µs 121
compaction: compact() one-shotgpu 9.30 ms9.30 ms 9.30 ms9.30 ms 1
init: create + readyv3 2.88 s2.88 s 2.88 s2.88 s 1
init: create + readygpu 125 ms125 ms 125 ms125 ms 1
init: create + ready (labels)v3 4.05 s4.05 s 4.05 s4.05 s 1
init: create + ready (labels)gpu 198 ms198 ms 198 ms198 ms 1
init: columnar form (gpu-only)gpu 101 ms101 ms 101 ms101 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 33.0 ms33.0 ms 33.0 ms33.0 ms 1
export: png full (≤2048 px)v3 702 ms702 ms 702 ms702 ms 1
export: png full (≤2048 px)gpu 259 ms259 ms 259 ms259 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
111×
frame: pan zoomed-in 20×
30×
frame: pan far-zoom ÷8
122×
frame: pan fit-all (labels)
128×
frame: pan zoomed-in 20× (labels)
31×
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)
466 µs
compaction: pan fit-all, 10% live — gpu device (compacted)
990 µs
compaction: compact() one-shot — gpu
14.2 ms
init: create + ready
38×
init: create + ready (labels)
18×
init: columnar form (gpu-only) — gpu
98.5 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
23.1 ms
export: png full (≤2048 px)
7.2×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 1.85 s1.94 s 2.00 s1.83 s 5
frame: pan fit-allgpu 16.7 ms16.7 ms 16.9 ms16.4 ms 121
frame: pan fit-allgpu (device) 3.54 ms3.54 ms 3.55 ms3.53 ms 121
frame: pan zoomed-in 20×v3 502 ms494 ms 508 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.65 ms 121
frame: pan far-zoom ÷8v3 2.04 s2.05 s 2.05 s2.01 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.45 ms1.44 ms 1.46 ms1.43 ms 121
frame: pan fit-all (labels)v3 2.13 s2.12 s 2.14 s1.98 s 4
frame: pan fit-all (labels)gpu 16.7 ms16.7 ms 16.9 ms15.8 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 517 ms512 ms 525 ms422 ms 12
frame: pan zoomed-in 20× (labels)gpu 16.7 ms16.7 ms 16.8 ms16.5 ms 121
frame: pan zoomed-in 20× (labels)gpu (device) 5.01 ms5.01 ms 5.03 ms5.00 ms 121
pick: hover while panninggpu 17.4 ms17.6 ms 17.7 ms13.7 ms 80
compaction: pan fit-all, 10% livegpu (peak slots) 16.7 ms16.7 ms 16.8 ms16.3 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) 466 µs468 µs 468 µs464 µs 121
compaction: pan fit-all, 10% livegpu device (compacted) 990 µs990 µs 996 µs982 µs 121
compaction: compact() one-shotgpu 14.2 ms14.2 ms 14.2 ms14.2 ms 1
init: create + readyv3 3.65 s3.65 s 3.65 s3.65 s 1
init: create + readygpu 95.0 ms95.0 ms 95.0 ms95.0 ms 1
init: create + ready (labels)v3 4.24 s4.24 s 4.24 s4.24 s 1
init: create + ready (labels)gpu 233 ms233 ms 233 ms233 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) 23.1 ms23.1 ms 23.1 ms23.1 ms 1
export: png full (≤2048 px)v3 2.32 s2.32 s 2.32 s2.32 s 1
export: png full (≤2048 px)gpu 324 ms324 ms 324 ms324 ms 1

render — generated 25k × 50k arrows (half hollow, 0.6 alpha) N=25,000 · 1.8 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
133×
frame: pan zoomed-in 20×
29×
frame: pan far-zoom ÷8
134×
frame: pan fit-all (labels)
145×
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)
466 µs
compaction: pan fit-all, 10% live — gpu device (compacted)
991 µs
compaction: compact() one-shot — gpu
14.9 ms
init: create + ready
18×
init: create + ready (labels)
18×
init: columnar form (gpu-only) — gpu
156 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
26.7 ms
export: png full (≤2048 px)
15×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 2.23 s2.25 s 2.27 s2.19 s 4
frame: pan fit-allgpu 16.7 ms16.7 ms 16.9 ms16.5 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 493 ms412 ms 12
frame: pan zoomed-in 20×gpu 16.7 ms16.7 ms 16.8 ms16.3 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.23 s2.36 s 2.26 s2.17 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.45 ms1.45 ms 1.46 ms1.43 ms 121
frame: pan fit-all (labels)v3 2.42 s2.49 s 2.51 s2.41 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) 3.81 ms3.81 ms 3.82 ms3.80 ms 121
frame: pan zoomed-in 20× (labels)v3 511 ms505 ms 524 ms429 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.03 ms5.00 ms 121
pick: hover while panninggpu 17.7 ms17.3 ms 18.5 ms400 µ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 ms16.4 ms 121
compaction: pan fit-all, 10% livegpu device (peak slots) 466 µs473 µs 644 µs463 µs 121
compaction: pan fit-all, 10% livegpu device (compacted) 991 µs991 µs 996 µs983 µs 121
compaction: compact() one-shotgpu 14.9 ms14.9 ms 14.9 ms14.9 ms 1
init: create + readyv3 3.73 s3.73 s 3.73 s3.73 s 1
init: create + readygpu 213 ms213 ms 213 ms213 ms 1
init: create + ready (labels)v3 4.61 s4.61 s 4.61 s4.61 s 1
init: create + ready (labels)gpu 251 ms251 ms 251 ms251 ms 1
init: columnar form (gpu-only)gpu 156 ms156 ms 156 ms156 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 26.7 ms26.7 ms 26.7 ms26.7 ms 1
export: png full (≤2048 px)v3 4.29 s4.29 s 4.29 s4.29 s 1
export: png full (≤2048 px)gpu 283 ms283 ms 283 ms283 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
39×
frame: pan zoomed-in 20×
18×
frame: pan far-zoom ÷8
39×
frame: pan fit-all (labels)
46×
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)
1.17 ms
compaction: pan fit-all, 10% live — gpu device (compacted)
982 µs
compaction: compact() one-shot — gpu
9.80 ms
init: create + ready
33×
init: create + ready (labels)
21×
init: columnar form (gpu-only) — gpu
82.2 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
21.6 ms
export: png full (≤2048 px)
4.9×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 643 ms658 ms 660 ms636 ms 12
frame: pan fit-allgpu 16.7 ms16.7 ms 16.8 ms16.5 ms 121
frame: pan fit-allgpu (device) 3.41 ms3.41 ms 3.42 ms3.40 ms 121
frame: pan zoomed-in 20×v3 294 ms295 ms 308 ms208 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.48 ms4.48 ms 4.50 ms4.46 ms 121
frame: pan far-zoom ÷8v3 646 ms650 ms 666 ms637 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 766 ms781 ms 790 ms753 ms 11
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.68 ms3.68 ms 3.69 ms3.67 ms 121
frame: pan zoomed-in 20× (labels)v3 329 ms326 ms 347 ms230 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.9 ms18.4 ms 18.9 ms400 µs 80
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.3 ms 120
compaction: pan fit-all, 10% livegpu device (peak slots) 1.17 ms1.17 ms 1.17 ms1.16 ms 120
compaction: pan fit-all, 10% livegpu device (compacted) 982 µs983 µs 988 µs977 µs 120
compaction: compact() one-shotgpu 9.80 ms9.80 ms 9.80 ms9.80 ms 1
init: create + readyv3 3.43 s3.43 s 3.43 s3.43 s 1
init: create + readygpu 103 ms103 ms 103 ms103 ms 1
init: create + ready (labels)v3 3.98 s3.98 s 3.98 s3.98 s 1
init: create + ready (labels)gpu 190 ms190 ms 190 ms190 ms 1
init: columnar form (gpu-only)gpu 82.2 ms82.2 ms 82.2 ms82.2 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 21.6 ms21.6 ms 21.6 ms21.6 ms 1
export: png full (≤2048 px)v3 1.60 s1.60 s 1.60 s1.60 s 1
export: png full (≤2048 px)gpu 327 ms327 ms 327 ms327 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
39×
frame: pan zoomed-in 20×
18×
frame: pan far-zoom ÷8
40×
frame: pan fit-all (labels)
47×
frame: pan zoomed-in 20× (labels)
19×
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)
467 µs
compaction: pan fit-all, 10% live — gpu device (compacted)
983 µs
compaction: compact() one-shot — gpu
9.00 ms
init: create + ready
32×
init: create + ready (labels)
27×
init: columnar form (gpu-only) — gpu
85.7 ms
init: columnar form (gpu-only) — convert (toColumnarElements)
23.2 ms
export: png full (≤2048 px)
6.2×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
frame: pan fit-allv3 647 ms665 ms 671 ms638 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 308 ms302 ms 312 ms224 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.51 ms4.51 ms 4.53 ms4.50 ms 121
frame: pan far-zoom ÷8v3 660 ms665 ms 705 ms639 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.43 ms1.40 ms 121
frame: pan fit-all (labels)v3 778 ms791 ms 794 ms763 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 323 ms318 ms 334 ms231 ms 12
frame: pan zoomed-in 20× (labels)gpu 16.6 ms16.7 ms 16.9 ms15.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.4 ms16.7 ms 18.1 ms100 µs 80
compaction: pan fit-all, 10% livegpu (peak slots) 16.7 ms16.7 ms 16.8 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) 467 µs797 µs 1.18 ms463 µs 121
compaction: pan fit-all, 10% livegpu device (compacted) 983 µs983 µs 988 µs976 µs 121
compaction: compact() one-shotgpu 9.00 ms9.00 ms 9.00 ms9.00 ms 1
init: create + readyv3 3.35 s3.35 s 3.35 s3.35 s 1
init: create + readygpu 103 ms103 ms 103 ms103 ms 1
init: create + ready (labels)v3 4.49 s4.49 s 4.49 s4.49 s 1
init: create + ready (labels)gpu 165 ms165 ms 165 ms165 ms 1
init: columnar form (gpu-only)gpu 85.7 ms85.7 ms 85.7 ms85.7 ms 1
init: columnar form (gpu-only)convert (toColumnarElements) 23.2 ms23.2 ms 23.2 ms23.2 ms 1
export: png full (≤2048 px)v3 1.67 s1.67 s 1.67 s1.67 s 1
export: png full (≤2048 px)gpu 269 ms269 ms 269 ms269 ms 1