7 runs, oldest first. Only runs from this machine are compared — a cross-machine line would be a hardware history wearing a performance history's clothes.
cf5727b4 · 2026-08-10 04:38
1f324088 · 2026-08-10 18:46
— round 65 baseline: all profile after 65.1-65.9b — style-bundle measures again for the first time since round 42
44e55dc9 · 2026-08-10 21:55
— round 65.10: all profile after sparse pageRank and the flat hierarchical merge engine — both CPU-executor changes, so the v3-comparative rows move
c2d24c2e · 2026-08-12 15:45
— round 68 status refresh: full core sweep, medians of 3
0d3561de · 2026-08-13 00:24
— post-merge baseline at 0d3561de: full core sweep, medians of 3
5107c36e · 2026-09-01 23:46
— round 113 review run at 5107c36e (before the 113.2 filter fix): the full core sweep, medians of 3, Node 24 — the first published run after the fingerprint re-stamp, so it is the first to compare against 13 Aug
9ed49abc · 2026-09-02 02:03
— round 113 verification run at 9ed49abc, after the 113.2 predicate-filter fix: 269 pairs, geo-mean 10.7x, minimum 1.02x, zero v4-slower; against 13 Aug zero screened regressions and the three filter(fn) rows as the improvements
Of the 759 rows that could be compared, 1 moved beyond its own measured noise, slower. 2 moved beyond it faster. 14 other row(s) moved beyond ±10% but carry no evidence about their own noise — listed below, ranked nowhere.
Drift: across the 759 row measurements shared between consecutive runs, the geometric mean change is −0.5%. A row moving near that factor is the box (thermals, load, driver), not the commit — and the frozen twin beside each mover is the same control per row, since v3 (and, for the executor sweep, the cpu side) is not what changed.
Runs are grouped by machine and by harness version. The benchmark
harness has been corrected several times — most consequentially round 62.5c, which equalised
inline-cache state between the v3 and v4 sides and moved v4 rows 12–35% with the library
untouched. Rows measured across such a change are not comparable, so this page shows a
⋮ harness break instead of a change. Within one epoch, a change is screened against the row's own run-to-run band where the
run was made with --repeat.
| row | p50 | change | noise control | evidence | span |
|---|---|---|---|---|---|
| compaction · control: nodes({ selected }) scan (order-list, expected parity) [peak] | 22.4 µs → 25.2 µs | +13% | no frozen twin | median of 3, band +3.9% | 5107c36e → 9ed49abc |
| row | p50 | change | noise control | evidence | span |
|---|---|---|---|---|---|
| core+collection · core: filter(fn) [gpu] | 429 µs → 99.9 µs | −76.7% | +2.6% (v3 twin) | median of 3, band +0.4% | 5107c36e → 9ed49abc |
| materializers · sweep: filter(fn) [gpu] | 265 µs → 76.3 µs | −71.2% | −1.2% (v3 twin) | median of 3, band +1.4% | 5107c36e → 9ed49abc |
| row | p50 | change | noise control | why unscreened | span |
|---|---|---|---|---|---|
| load · load: v4 ingest forms (construct + dispose) [def clone alone (control)] | 301 µs → 617 µs | ×2.05 | no frozen twin | inside the row's own 111% run-to-run band | 5107c36e → 9ed49abc |
| curves · curve premium: edge.controlPoints x 4000 [straight] | 2.70 ms → 1.43 ms | −47.2% | no frozen twin | one-shot row (a single measurement) | 5107c36e → 9ed49abc |
| curves · curve premium: edge.hide/show x 1000 (bundle re-fan) [curved] | 4.50 ms → 3.72 ms | −17.4% | no frozen twin | one-shot row (a single measurement) | 5107c36e → 9ed49abc |
| style-bundle · colour-valued vs numeric reads (the string build) [gpu width (number)] | 67.3 ns → 58.6 ns | −12.9% | no frozen twin | inside the row's own 25% run-to-run band | 5107c36e → 9ed49abc |
| compaction · control: whole-graph boundingBox (expected parity) [peak] | 100 µs → 112 µs | +12% | no frozen twin | inside the row's own 17% run-to-run band | 5107c36e → 9ed49abc |
| core+collection · iter: map() [gpu] | 10.3 µs → 11.5 µs | +12% | −3.2% (v3 twin) | inside the row's own 16% run-to-run band | 5107c36e → 9ed49abc |
| compaction · control: whole-graph boundingBox (expected parity) [compacted] | 101 µs → 112 µs | +11% | no frozen twin | inside the row's own 19% run-to-run band | 5107c36e → 9ed49abc |
| style-bundle · the getters that ride readProp [gpu renderedStyle( width )] | 86.8 ns → 77.2 ns | −11.0% | no frozen twin | inside the row's own 30% run-to-run band | 5107c36e → 9ed49abc |
| surface · dimensions: rendered dims (4 calls) [gpu] | 224 ns → 249 ns | +11% | −2.6% (v3 twin) | inside the row's own 26% run-to-run band | 5107c36e → 9ed49abc |
| surface · collection: layoutDimensions() [gpu] | 169 ns → 187 ns | +11% | +0.7% (v3 twin) | inside the row's own 21% run-to-run band | 5107c36e → 9ed49abc |
| algorithms · algo: floydWarshall [gpu] | 127 ms → 140 ms | +10% | +0.2% (v3 twin) | inside the row's own 14% run-to-run band | 5107c36e → 9ed49abc |
| style-bundle · the getters that ride readProp [gpu numericStyle( width )] | 67.9 ns → 61.0 ns | −10.1% | no frozen twin | inside the row's own 26% run-to-run band | 5107c36e → 9ed49abc |
| algorithms · algo: tarjan SCC [gpu] | 169 µs → 152 µs | −10.1% | +1.2% (v3 twin) | inside the row's own 13% run-to-run band | 5107c36e → 9ed49abc |
| materializers · sweep: all nodes ($("node") vs filter({group})) [gpu] | 57.4 µs → 63.2 µs | +10% | +0.5% (v3 twin) | inside the row's own 11% run-to-run band | 5107c36e → 9ed49abc |
Each cell is that run's p50 with its change against the nearest earlier run
that measured the same row. A dash means the run did not measure it (a
--suite filter, or the row did not exist yet) — gaps are shown, never dropped.
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| core: getElementById() [v3] | 96.2 ns | 95.0 ns −1.2% | 86.7 ns −8.7% | 89.2 ns ⋮ harness | 90.8 ns +1.8% | 94.8 ns +4.4% | 93.4 ns −1.4% |
| core: getElementById() [gpu] | 86.2 ns | 83.1 ns −3.6% | 84.4 ns +1.5% | 91.2 ns ⋮ harness | 91.2 ns +0.1% | 91.2 ns −0.0% | 90.1 ns −1.3% |
| core: id lookup ($("#id") vs $id()) [v3] | 2.19 µs | 2.03 µs −7.5% | 2.00 µs −1.4% | 1.95 µs ⋮ harness | 2.03 µs +4.1% | 1.99 µs −1.8% | 2.09 µs +4.6% |
| core: id lookup ($("#id") vs $id()) [gpu] | 79.4 ns | 78.4 ns −1.2% | 76.7 ns −2.2% | 84.6 ns ⋮ harness | 84.5 ns −0.1% | 84.7 ns +0.3% | 84.6 ns −0.2% |
| core: nodes() [v3] | 421 µs | 419 µs −0.3% | 422 µs +0.6% | 412 µs ⋮ harness | 421 µs +2.2% | 415 µs −1.4% | 418 µs +0.8% |
| core: nodes() [gpu] | 8.21 ns | 8.20 ns −0.1% | 8.16 ns −0.6% | 8.15 ns ⋮ harness | 8.21 ns +0.6% | 8.21 ns −0.0% | 7.92 ns −3.5% |
| core: edges() [v3] | 733 µs | 742 µs +1.2% | 732 µs −1.4% | 725 µs ⋮ harness | 727 µs +0.3% | 724 µs −0.4% | 723 µs −0.1% |
| core: edges() [gpu] | 7.89 ns | 7.93 ns +0.5% | 8.10 ns +2.2% | 7.74 ns ⋮ harness | 7.91 ns +2.2% | 7.89 ns −0.2% | 7.73 ns −2.0% |
| core: elements() [v3] | 147 µs | 162 µs +10% | 153 µs −6.1% | 142 µs ⋮ harness | 149 µs +4.9% | 142 µs −4.2% | 145 µs +1.8% |
| core: elements() [gpu] | 6.93 ns | 6.94 ns +0.2% | 6.84 ns −1.5% | 6.96 ns ⋮ harness | 6.89 ns −1.0% | 6.99 ns +1.5% | 6.94 ns −0.8% |
| core: nodes ($("node") vs filter({group})) [v3] | 553 µs | 562 µs +1.6% | 562 µs +0.1% | 548 µs ⋮ harness | 550 µs +0.4% | 550 µs −0.1% | 539 µs −1.9% |
| core: nodes ($("node") vs filter({group})) [gpu] | 98.3 µs | 100 µs +1.7% | 99.5 µs −0.4% | 113 µs ⋮ harness | 113 µs +0.4% | 114 µs +1.1% | 114 µs −0.4% |
| core: selected ($(":selected") vs filter({selected})) [v3] | 347 µs | 364 µs +4.8% | 357 µs −1.8% | 346 µs ⋮ harness | 362 µs +4.7% | 329 µs −9.3% | 349 µs +6.2% |
| core: selected ($(":selected") vs filter({selected})) [gpu] | 25.3 µs | 25.6 µs +1.3% | 24.8 µs −3.0% | 24.9 µs ⋮ harness | 25.0 µs +0.5% | 25.1 µs +0.1% | 25.8 µs +3.0% |
| core: filter(fn) [v3] | 416 µs | 415 µs −0.4% | 423 µs +1.9% | 414 µs ⋮ harness | 424 µs +2.6% | 410 µs −3.4% | 421 µs +2.6% |
| core: filter(fn) [gpu] | 344 µs | 351 µs +2.0% | 345 µs −1.7% | 418 µs ⋮ harness | 419 µs +0.0% | 429 µs +2.4% | 99.9 µs −76.7% |
| core: collection() [v3] | 477 ns | 476 ns −0.1% | 459 ns −3.6% | 463 ns ⋮ harness | 458 ns −1.1% | 456 ns −0.4% | 459 ns +0.7% |
| core: collection() [gpu] | 68.2 ns | 67.4 ns −1.2% | 68.0 ns +1.0% | 64.4 ns ⋮ harness | 64.8 ns +0.6% | 65.2 ns +0.6% | 63.6 ns −2.5% |
| core: pan() get (x32) [v3] | 45.6 ns | 45.6 ns −0.1% | 44.5 ns −2.3% | 44.5 ns ⋮ harness | 44.5 ns +0.0% | 44.7 ns +0.3% | 44.5 ns −0.3% |
| core: pan() get (x32) [gpu] | 33.8 ns | 34.1 ns +0.9% | 33.3 ns −2.1% | 33.9 ns ⋮ harness | 33.8 ns −0.3% | 34.3 ns +1.5% | 34.3 ns −0.0% |
| core: extent() [v3] | 22.7 ns | 22.8 ns +0.5% | 22.4 ns −1.8% | 22.9 ns ⋮ harness | 22.6 ns −1.4% | 22.7 ns +0.6% | 22.5 ns −0.7% |
| core: extent() [gpu] | 20.7 ns | 20.8 ns +0.3% | 21.5 ns +3.3% | 20.5 ns ⋮ harness | 20.6 ns +0.6% | 21.5 ns +4.3% | 20.0 ns −7.0% |
| core: add + remove [v3] | 120 µs | 130 µs +7.9% | 131 µs +0.6% | 121 µs ⋮ harness | 120 µs −1.1% | 129 µs +7.3% | 127 µs −1.3% |
| core: add + remove [gpu] | 6.96 µs | 7.56 µs +8.7% | 7.50 µs −0.8% | 6.77 µs ⋮ harness | 6.77 µs +0.0% | 6.70 µs −1.1% | 6.57 µs −1.9% |
| core: zoom set [v3] | 1.28 µs | 1.26 µs −1.8% | 1.23 µs −2.5% | 1.33 µs ⋮ harness | 1.37 µs +3.2% | 1.36 µs −0.8% | 1.35 µs −0.7% |
| core: zoom set [gpu] | 662 ns | 704 ns +6.4% | 697 ns −0.9% | 583 ns ⋮ harness | 568 ns −2.5% | 586 ns +3.2% | 585 ns −0.2% |
| traverse: neighborhood() [v3] | 3.61 µs | 3.60 µs −0.5% | 3.69 µs +2.5% | 3.70 µs ⋮ harness | 3.64 µs −1.5% | 3.55 µs −2.6% | 3.58 µs +0.9% |
| traverse: neighborhood() [gpu] | 1.03 µs | 942 ns −8.4% | 1.08 µs +15% | 976 ns ⋮ harness | 972 ns −0.5% | 960 ns −1.2% | 967 ns +0.7% |
| traverse: connectedEdges() [v3] | 1.05 µs | 1.01 µs −3.8% | 1.03 µs +1.8% | 1.05 µs ⋮ harness | 1.06 µs +0.3% | 1.06 µs +0.2% | 1.07 µs +1.0% |
| traverse: connectedEdges() [gpu] | 442 ns | 388 ns −12.3% | 471 ns +21% | 385 ns ⋮ harness | 383 ns −0.6% | 386 ns +0.8% | 383 ns −0.7% |
| traverse: outgoers() [v3] | 2.38 µs | 2.35 µs −1.0% | 2.31 µs −1.8% | 2.44 µs ⋮ harness | 2.39 µs −1.9% | 2.43 µs +1.7% | 2.41 µs −0.7% |
| traverse: outgoers() [gpu] | 495 ns | 453 ns −8.4% | 531 ns +17% | 454 ns ⋮ harness | 451 ns −0.7% | 488 ns +8.3% | 473 ns −3.2% |
| traverse: incomers() [v3] | 2.42 µs | 2.44 µs +0.8% | 2.32 µs −5.2% | 2.42 µs ⋮ harness | 2.41 µs −0.3% | 2.44 µs +1.2% | 2.37 µs −2.7% |
| traverse: incomers() [gpu] | 497 ns | 462 ns −7.0% | 538 ns +17% | 460 ns ⋮ harness | 451 ns −2.1% | 488 ns +8.3% | 461 ns −5.5% |
| traverse: components() [v3] | 79.7 ms | 82.5 ms +3.5% | 78.3 ms −5.2% | 80.2 ms ⋮ harness | 81.1 ms +1.2% | 80.9 ms −0.3% | 79.9 ms −1.3% |
| traverse: components() [gpu] | 2.02 ms | 2.04 ms +1.4% | 2.03 ms −0.7% | 1.93 ms ⋮ harness | 1.94 ms +0.1% | 1.97 ms +1.6% | 1.93 ms −1.9% |
| degree: node.degree() [v3] | 3.63 µs | 3.37 µs −7.1% | 3.33 µs −1.4% | 3.66 µs ⋮ harness | 3.41 µs −6.8% | 3.61 µs +5.9% | 3.50 µs −2.9% |
| degree: node.degree() [gpu] | 28.7 ns | 28.3 ns −1.1% | 29.0 ns +2.5% | 41.5 ns ⋮ harness | 41.6 ns +0.2% | 41.5 ns −0.2% | 41.3 ns −0.5% |
| degree: nodes.totalDegree() [v3] | 7.81 ms | 7.29 ms −6.6% | 8.45 ms +16% | 7.27 ms ⋮ harness | 7.12 ms −2.0% | 7.24 ms +1.7% | 7.24 ms −0.1% |
| degree: nodes.totalDegree() [gpu] | 43.7 µs | 43.6 µs −0.2% | 50.4 µs +16% | 64.7 µs ⋮ harness | 64.2 µs −0.8% | 63.7 µs −0.7% | 64.9 µs +1.9% |
| degree: nodes.maxDegree() [v3] | 7.47 ms | 7.26 ms −2.9% | 7.31 ms +0.7% | 7.25 ms ⋮ harness | 7.19 ms −0.8% | 7.16 ms −0.4% | 7.05 ms −1.5% |
| degree: nodes.maxDegree() [gpu] | 51.6 µs | 51.6 µs +0.0% | 57.4 µs +11% | 75.2 µs ⋮ harness | 74.0 µs −1.6% | 73.6 µs −0.5% | 76.4 µs +3.8% |
| data: get [v3] | 30.1 ns | 30.0 ns −0.3% | 30.7 ns +2.2% | 30.0 ns ⋮ harness | 30.5 ns +1.5% | 30.4 ns −0.1% | 30.3 ns −0.5% |
| data: get [gpu] | 27.6 ns | 26.0 ns −6.0% | 25.9 ns −0.3% | 29.2 ns ⋮ harness | 29.1 ns −0.4% | 29.1 ns −0.1% | 29.8 ns +2.4% |
| position: get [v3] | 31.0 ns | 31.4 ns +1.4% | 33.8 ns +7.5% | 35.8 ns ⋮ harness | 31.9 ns −11.1% | 34.0 ns +6.7% | 35.2 ns +3.5% |
| position: get [gpu] | 20.9 ns | 20.8 ns −0.3% | 24.3 ns +17% | 21.8 ns ⋮ harness | 21.8 ns +0.1% | 21.8 ns −0.2% | 21.9 ns +0.5% |
| json: element [v3] | 303 ns | 294 ns −2.9% | 300 ns +1.9% | 300 ns ⋮ harness | 302 ns +0.8% | 300 ns −0.9% | 300 ns +0.2% |
| json: element [gpu] | 153 ns | 152 ns −0.4% | 160 ns +4.7% | 160 ns ⋮ harness | 159 ns −0.0% | 160 ns +0.2% | 160 ns +0.1% |
| set: union() [v3] | 102 µs | 94.2 µs −7.7% | 93.1 µs −1.1% | 93.3 µs ⋮ harness | 93.0 µs −0.3% | 94.9 µs +2.1% | 94.8 µs −0.2% |
| set: union() [gpu] | 17.2 µs | 18.3 µs +6.0% | 16.5 µs −9.6% | 18.1 µs ⋮ harness | 17.8 µs −1.8% | 18.1 µs +1.7% | 18.1 µs −0.2% |
| set: intersection() [v3] | 92.3 µs | 91.4 µs −0.9% | 90.1 µs −1.4% | 92.6 µs ⋮ harness | 92.0 µs −0.7% | 94.0 µs +2.2% | 89.5 µs −4.9% |
| set: intersection() [gpu] | 3.84 µs | 3.41 µs −11.1% | 3.48 µs +1.9% | 3.56 µs ⋮ harness | 3.51 µs −1.6% | 3.48 µs −0.7% | 3.59 µs +2.9% |
| set: difference() [v3] | 93.3 µs | 99.0 µs +6.1% | 90.5 µs −8.6% | 91.1 µs ⋮ harness | 91.7 µs +0.6% | 93.7 µs +2.2% | 90.0 µs −4.0% |
| set: difference() [gpu] | 3.92 µs | 3.41 µs −13.0% | 3.44 µs +0.9% | 3.54 µs ⋮ harness | 3.43 µs −3.0% | 3.44 µs +0.1% | 3.55 µs +3.2% |
| iter: map() [v3] | 27.1 µs | 23.9 µs −12.0% | 28.6 µs +20% | 29.6 µs ⋮ harness | 29.0 µs −1.9% | 28.3 µs −2.4% | 27.4 µs −3.2% |
| iter: map() [gpu] | 11.1 µs | 10.1 µs −8.6% | 10.4 µs +2.4% | 10.3 µs ⋮ harness | 10.3 µs +0.3% | 10.3 µs −0.0% | 11.5 µs +12% |
| iter: forEach() [v3] | 3.48 µs | 3.44 µs −1.0% | 3.45 µs +0.1% | 3.48 µs ⋮ harness | 3.49 µs +0.1% | 3.47 µs −0.5% | 3.51 µs +1.2% |
| iter: forEach() [gpu] | 3.31 µs | 3.31 µs −0.1% | 3.32 µs +0.5% | 3.35 µs ⋮ harness | 3.32 µs −0.8% | 3.31 µs −0.2% | 3.32 µs +0.2% |
| iter: filter(fn) [v3] | 245 µs | 240 µs −2.3% | 245 µs +2.3% | 245 µs ⋮ harness | 242 µs −1.3% | 246 µs +1.4% | 242 µs −1.3% |
| iter: filter(fn) [gpu] | 147 µs | 128 µs −12.9% | 130 µs +1.1% | 138 µs ⋮ harness | 133 µs −3.6% | 127 µs −4.1% | 115 µs −10.0% |
| compare: same() [v3] | 117 µs | 113 µs −3.5% | 116 µs +3.0% | 119 µs ⋮ harness | 124 µs +3.8% | 124 µs +0.0% | 121 µs −2.5% |
| compare: same() [gpu] | 14.9 ns | 14.8 ns −0.7% | 14.9 ns +0.4% | 14.6 ns ⋮ harness | 15.0 ns +2.8% | 14.7 ns −2.0% | 14.8 ns +0.3% |
| compare: contains() [v3] | 6.01 µs | 6.07 µs +1.1% | 5.97 µs −1.7% | 6.12 µs ⋮ harness | 6.12 µs −0.1% | 6.26 µs +2.4% | 6.22 µs −0.6% |
| compare: contains() [gpu] | 1.25 µs | 1.29 µs +2.9% | 1.21 µs −6.1% | 1.26 µs ⋮ harness | 1.28 µs +1.8% | 1.26 µs −1.5% | 1.24 µs −1.6% |
| mut: data set [v3] | 445 ns | 454 ns +2.1% | 417 ns −8.1% | 618 ns ⋮ harness | 642 ns +3.9% | 630 ns −1.9% | 617 ns −2.0% |
| mut: data set [gpu] | 108 ns | 109 ns +0.4% | 108 ns −0.6% | 230 ns ⋮ harness | 233 ns +1.3% | 231 ns −0.8% | 234 ns +1.2% |
| mut: position set [v3] | 1.30 µs | 1.22 µs −5.7% | 1.22 µs −0.2% | 1.18 µs ⋮ harness | 1.23 µs +4.4% | 1.21 µs −1.8% | 1.20 µs −0.6% |
| mut: position set [gpu] | 47.6 ns | 50.7 ns +6.6% | 70.4 ns +39% | 52.1 ns ⋮ harness | 53.7 ns +3.2% | 49.2 ns −8.4% | 52.3 ns +6.4% |
| mut: select + unselect [v3] | 2.76 µs | 2.54 µs −7.8% | 2.60 µs +2.3% | 2.43 µs ⋮ harness | 2.61 µs +7.4% | 2.61 µs +0.0% | 2.53 µs −2.8% |
| mut: select + unselect [gpu] | 686 ns | 670 ns −2.3% | 712 ns +6.3% | 610 ns ⋮ harness | 625 ns +2.5% | 620 ns −0.9% | 596 ns −3.9% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| sweep: nodes() [v3] | 412 µs | 413 µs +0.1% | 415 µs +0.6% | 417 µs +0.4% | 437 µs +4.7% | 413 µs −5.6% | 410 µs −0.7% |
| sweep: nodes() [gpu] | 2.41 ns | 2.46 ns +2.1% | 2.41 ns −1.9% | 2.41 ns −0.1% | 2.41 ns +0.1% | 2.41 ns −0.1% | 2.41 ns +0.1% |
| sweep: edges() [v3] | 729 µs | 781 µs +7.1% | 741 µs −5.1% | 717 µs −3.3% | 739 µs +3.1% | 715 µs −3.2% | 714 µs −0.2% |
| sweep: edges() [gpu] | 2.51 ns | 2.56 ns +2.1% | 2.51 ns −2.0% | 2.51 ns −0.0% | 2.51 ns +0.0% | 2.51 ns −0.0% | 2.52 ns +0.1% |
| sweep: elements() [v3] | 143 µs | 144 µs +0.9% | 159 µs +11% | 139 µs −12.3% | 157 µs +12% | 141 µs −10.0% | 139 µs −1.6% |
| sweep: elements() [gpu] | 4.86 ns | 4.80 ns −1.1% | 4.81 ns +0.1% | 4.85 ns +1.0% | 4.85 ns −0.0% | 4.80 ns −1.1% | 4.76 ns −0.8% |
| sweep: all nodes ($("node") vs filter({group})) [v3] | 544 µs | 550 µs +1.1% | 552 µs +0.4% | 545 µs −1.4% | 574 µs +5.4% | 543 µs −5.4% | 546 µs +0.5% |
| sweep: all nodes ($("node") vs filter({group})) [gpu] | 61.2 µs | 58.5 µs −4.4% | 60.2 µs +2.9% | 57.5 µs −4.5% | 58.0 µs +0.9% | 57.4 µs −1.0% | 63.2 µs +10% |
| sweep: selected ($(":selected") vs filter({selected})) [v3] | 349 µs | 345 µs −1.1% | 359 µs +4.1% | 328 µs −8.6% | 351 µs +6.9% | 329 µs −6.3% | 339 µs +3.1% |
| sweep: selected ($(":selected") vs filter({selected})) [gpu] | 25.8 µs | 26.5 µs +2.4% | 26.3 µs −0.8% | 25.8 µs −1.8% | 26.4 µs +2.5% | 25.8 µs −2.4% | 25.7 µs −0.3% |
| sweep: selected nodes ($("node:selected") vs filter({group, selected})) [v3] | 322 µs | 332 µs +3.3% | 330 µs −0.5% | 318 µs −3.6% | 338 µs +6.0% | 320 µs −5.3% | 325 µs +1.8% |
| sweep: selected nodes ($("node:selected") vs filter({group, selected})) [gpu] | 9.01 µs | 9.53 µs +5.8% | 9.46 µs −0.8% | 9.03 µs −4.5% | 9.52 µs +5.5% | 9.11 µs −4.3% | 9.07 µs −0.4% |
| sweep: nodes(":selected") vs nodes({selected}) [v3] | 533 µs | 532 µs −0.3% | 552 µs +3.9% | 529 µs −4.3% | 556 µs +5.2% | 531 µs −4.6% | 532 µs +0.3% |
| sweep: nodes(":selected") vs nodes({selected}) [gpu] | 8.97 µs | 9.04 µs +0.8% | 8.99 µs −0.5% | 9.03 µs +0.4% | 9.37 µs +3.8% | 8.92 µs −4.8% | 8.95 µs +0.4% |
| sweep: filter(fn) [v3] | 412 µs | 415 µs +0.8% | 418 µs +0.7% | 409 µs −2.1% | 432 µs +5.6% | 412 µs −4.7% | 407 µs −1.2% |
| sweep: filter(fn) [gpu] | 242 µs | 246 µs +1.7% | 263 µs +6.6% | 242 µs −7.9% | 246 µs +1.5% | 265 µs +7.9% | 76.3 µs −71.2% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| mut-bulk: select + unselect [v3] | 2.21 ms | 1.89 ms −14.7% | 1.88 ms −0.6% | 2.00 ms ⋮ harness | 2.19 ms +9.5% | 1.97 ms −9.9% | 2.12 ms +7.4% |
| mut-bulk: select + unselect [gpu] | 254 µs | 267 µs +5.0% | 264 µs −1.2% | 255 µs ⋮ harness | 278 µs +9.1% | 248 µs −10.9% | 261 µs +5.2% |
| mut-bulk: hide + show [v3] | 60.4 ms | 60.3 ms −0.1% | 60.7 ms +0.6% | 57.7 ms ⋮ harness | 59.6 ms +3.3% | 54.5 ms −8.6% | 56.4 ms +3.5% |
| mut-bulk: hide + show [gpu] | 214 µs | 213 µs −0.2% | 225 µs +5.3% | 216 µs ⋮ harness | 216 µs +0.2% | 214 µs −0.9% | 214 µs −0.2% |
| mut-bulk: lock + unlock [v3] | 1.99 ms | 2.00 ms +0.4% | 2.20 ms +10% | 2.09 ms ⋮ harness | 2.04 ms −2.8% | 2.06 ms +1.3% | 2.04 ms −0.9% |
| mut-bulk: lock + unlock [gpu] | 38.5 µs | 38.5 µs −0.2% | 38.6 µs +0.4% | 38.7 µs ⋮ harness | 38.6 µs −0.4% | 38.4 µs −0.5% | 38.3 µs −0.2% |
| mut-bulk: positions(obj) [v3] | 2.28 ms | 2.17 ms −4.7% | 2.37 ms +9.1% | 2.39 ms ⋮ harness | 2.21 ms −7.7% | 2.16 ms −1.8% | 2.28 ms +5.4% |
| mut-bulk: positions(obj) [gpu] | 20.4 µs | 20.6 µs +1.3% | 20.5 µs −0.9% | 37.0 µs ⋮ harness | 37.5 µs +1.4% | 36.8 µs −1.9% | 36.8 µs −0.0% |
| mut-bulk: positions(fn) [v3] | 3.37 ms | 3.45 ms +2.5% | 3.40 ms −1.5% | 3.41 ms ⋮ harness | 3.40 ms −0.3% | 3.40 ms +0.2% | 3.36 ms −1.4% |
| mut-bulk: positions(fn) [gpu] | 34.8 µs | 34.7 µs −0.2% | 34.8 µs +0.4% | 148 µs ⋮ harness | 146 µs −0.8% | 146 µs −0.3% | 146 µs −0.2% |
| mut-bulk: shift [v3] | 3.41 ms | 3.41 ms +0.1% | 3.66 ms +7.3% | 3.58 ms ⋮ harness | 3.41 ms −4.8% | 3.41 ms +0.1% | 3.40 ms −0.2% |
| mut-bulk: shift [gpu] | 34.3 µs | 34.0 µs −0.8% | 34.1 µs +0.2% | 32.3 µs ⋮ harness | 32.3 µs −0.1% | 32.3 µs +0.1% | 32.3 µs −0.1% |
| mut-bulk: data set [v3] | 919 µs | 850 µs −7.5% | 836 µs −1.7% | 907 µs ⋮ harness | 867 µs −4.4% | 876 µs +1.0% | 871 µs −0.5% |
| mut-bulk: data set [gpu] | 62.4 µs | 62.3 µs −0.2% | 56.5 µs −9.3% | 63.5 µs ⋮ harness | 65.6 µs +3.4% | 64.7 µs −1.4% | 65.7 µs +1.6% |
| mut-bulk: remove + re-add (256 nodes + cascade) [v3] | 41.2 ms | 41.4 ms +0.6% | 41.3 ms −0.3% | 41.4 ms ⋮ harness | 40.4 ms −2.4% | 41.2 ms +1.9% | 41.6 ms +0.9% |
| mut-bulk: remove + re-add (256 nodes + cascade) [gpu] | 6.89 ms | 6.73 ms −2.2% | 6.71 ms −0.3% | 6.49 ms ⋮ harness | 6.47 ms −0.3% | 6.45 ms −0.4% | 6.35 ms −1.6% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| scn: explore (expand 2-hop + select + fit) [v3] | 297 µs | 307 µs +3.4% | 302 µs −1.6% | 300 µs −0.9% | 290 µs −3.1% | 288 µs −0.8% | 297 µs +3.1% |
| scn: explore (expand 2-hop + select + fit) [gpu] | 37.6 µs | 37.6 µs −0.0% | 38.2 µs +1.6% | 37.6 µs −1.6% | 37.5 µs −0.2% | 37.0 µs −1.3% | 37.3 µs +0.8% |
| scn: select-all + fit (listeners on) [v3] | 25.3 ms | 23.9 ms −5.6% | 24.2 ms +1.5% | 25.3 ms +4.5% | 25.1 ms −1.1% | 23.7 ms −5.3% | 25.1 ms +5.7% |
| scn: select-all + fit (listeners on) [gpu] | 910 µs | 910 µs +0.1% | 955 µs +5.0% | 969 µs +1.4% | 922 µs −4.8% | 905 µs −1.9% | 931 µs +2.9% |
| scn: drag (select band of 100 + 8-step shift, position listener) [v3] | 1.64 ms | 1.64 ms +0.4% | 1.60 ms −2.7% | 1.62 ms +1.3% | 1.64 ms +1.1% | 1.63 ms −0.4% | 1.65 ms +1.2% |
| scn: drag (select band of 100 + 8-step shift, position listener) [gpu] | 99.9 µs | 102 µs +2.4% | 102 µs −0.8% | 99.9 µs −1.6% | 102 µs +1.6% | 97.7 µs −3.8% | 102 µs +4.0% |
| scn: edit (remove + re-add 256 nodes + cascade, add/remove listeners) [v3] | 50.9 ms | 47.2 ms −7.3% | 44.6 ms −5.5% | 44.5 ms −0.1% | 47.4 ms +6.5% | 45.2 ms −4.7% | 44.6 ms −1.2% |
| scn: edit (remove + re-add 256 nodes + cascade, add/remove listeners) [gpu] | 7.08 ms | 7.09 ms +0.1% | 6.88 ms −3.0% | 6.57 ms −4.5% | 6.51 ms −0.8% | 6.79 ms +4.2% | 6.53 ms −3.8% |
| scn: refresh (bulk data write + mapped labels + filter + fit, data listener) [v3] | 7.72 ms | 7.53 ms −2.5% | 7.61 ms +1.0% | 7.57 ms −0.5% | 7.74 ms +2.2% | 7.86 ms +1.7% | 7.50 ms −4.7% |
| scn: refresh (bulk data write + mapped labels + filter + fit, data listener) [gpu] | 4.20 ms | 4.22 ms +0.5% | 4.14 ms −2.0% | 4.23 ms +2.2% | 4.22 ms −0.1% | 4.21 ms −0.3% | 4.13 ms −1.9% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| trav: neighborhood() [v3] | 3.91 µs | 4.04 µs +3.2% | 3.78 µs −6.4% | 3.97 µs +5.0% | 3.99 µs +0.5% | 4.00 µs +0.2% | 3.94 µs −1.4% |
| trav: neighborhood() [gpu] | 1.01 µs | 1.02 µs +1.2% | 1.02 µs +0.4% | 1.03 µs +0.9% | 1.02 µs −1.0% | 999 ns −2.1% | 1.01 µs +1.2% |
| trav: closedNeighborhood() [v3] | 5.93 µs | 5.55 µs −6.4% | 5.76 µs +3.7% | 5.81 µs +0.9% | 5.87 µs +0.9% | 5.64 µs −3.8% | 5.83 µs +3.3% |
| trav: closedNeighborhood() [gpu] | 2.16 µs | 2.20 µs +1.8% | 2.14 µs −2.8% | 2.20 µs +2.6% | 2.13 µs −2.9% | 2.15 µs +0.8% | 2.09 µs −2.9% |
| trav: connectedEdges() [v3] | 978 ns | 1.04 µs +6.5% | 990 ns −5.0% | 1.01 µs +1.9% | 980 ns −2.9% | 995 ns +1.6% | 991 ns −0.4% |
| trav: connectedEdges() [gpu] | 397 ns | 397 ns +0.1% | 388 ns −2.4% | 401 ns +3.4% | 390 ns −2.8% | 383 ns −1.7% | 388 ns +1.2% |
| trav: outgoers() [v3] | 2.32 µs | 2.32 µs +0.1% | 2.28 µs −1.7% | 2.29 µs +0.4% | 2.33 µs +1.7% | 2.28 µs −2.2% | 2.26 µs −0.6% |
| trav: outgoers() [gpu] | 452 ns | 439 ns −2.7% | 451 ns +2.6% | 465 ns +3.3% | 456 ns −2.0% | 449 ns −1.5% | 441 ns −1.8% |
| trav: incomers() [v3] | 2.28 µs | 2.26 µs −0.8% | 2.24 µs −0.8% | 2.31 µs +3.3% | 2.33 µs +0.7% | 2.27 µs −2.7% | 2.29 µs +1.0% |
| trav: incomers() [gpu] | 448 ns | 442 ns −1.3% | 454 ns +2.7% | 472 ns +4.0% | 482 ns +2.0% | 468 ns −2.9% | 466 ns −0.3% |
| trav: successors() [v3] | 442 ms | 428 ms −3.1% | 438 ms +2.4% | 431 ms −1.7% | 439 ms +1.9% | 432 ms −1.5% | 432 ms −0.1% |
| trav: successors() [gpu] | 565 µs | 565 µs −0.1% | 560 µs −0.8% | 599 µs +6.9% | 581 µs −3.0% | 584 µs +0.5% | 587 µs +0.6% |
| trav: predecessors() [v3] | 437 ms | 432 ms −1.1% | 431 ms −0.1% | 431 ms −0.1% | 437 ms +1.5% | 433 ms −0.9% | 434 ms +0.0% |
| trav: predecessors() [gpu] | 593 µs | 587 µs −1.1% | 598 µs +1.9% | 595 µs −0.4% | 597 µs +0.3% | 600 µs +0.4% | 598 µs −0.3% |
| trav: band neighborhood() [v3] | 190 µs | 182 µs −4.1% | 186 µs +1.9% | 184 µs −0.6% | 186 µs +1.0% | 186 µs +0.0% | 187 µs +0.3% |
| trav: band neighborhood() [gpu] | 38.1 µs | 37.3 µs −2.2% | 37.3 µs +0.0% | 36.9 µs −1.1% | 37.8 µs +2.6% | 36.6 µs −3.2% | 37.0 µs +0.9% |
| trav: band connectedEdges() [v3] | 24.7 µs | 24.0 µs −2.9% | 24.5 µs +2.2% | 24.0 µs −2.0% | 24.4 µs +1.7% | 24.9 µs +1.9% | 24.5 µs −1.4% |
| trav: band connectedEdges() [gpu] | 17.1 µs | 16.9 µs −0.8% | 16.6 µs −1.6% | 16.5 µs −0.9% | 16.8 µs +1.8% | 16.4 µs −2.7% | 16.7 µs +1.9% |
| trav: band roots() [v3] | 111 µs | 109 µs −1.8% | 107 µs −1.5% | 109 µs +1.4% | 108 µs −0.5% | 108 µs −0.3% | 109 µs +0.7% |
| trav: band roots() [gpu] | 4.89 µs | 4.90 µs +0.1% | 4.84 µs −1.1% | 4.54 µs −6.3% | 4.53 µs −0.1% | 4.52 µs −0.3% | 4.49 µs −0.8% |
| trav: band sources() [v3] | 6.58 µs | 7.01 µs +6.5% | 6.50 µs −7.2% | 6.48 µs −0.4% | 6.67 µs +2.9% | 6.65 µs −0.2% | 6.51 µs −2.1% |
| trav: band sources() [gpu] | 4.43 µs | 4.39 µs −1.1% | 4.38 µs −0.2% | 4.37 µs −0.1% | 4.45 µs +1.8% | 4.36 µs −2.1% | 4.38 µs +0.5% |
| trav: band connectedNodes() [v3] | 14.1 µs | 14.1 µs −0.0% | 13.9 µs −1.2% | 14.0 µs +0.5% | 14.1 µs +1.0% | 14.3 µs +1.1% | 14.1 µs −0.8% |
| trav: band connectedNodes() [gpu] | 4.98 µs | 4.96 µs −0.5% | 4.99 µs +0.6% | 4.96 µs −0.5% | 5.10 µs +2.9% | 4.92 µs −3.6% | 4.97 µs +1.0% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| algo: bfs (whole graph) [v3] | 50.3 ms | 56.7 ms ⋮ harness | 56.3 ms −0.6% | 50.2 ms −10.8% | 52.3 ms ⋮ harness | 51.3 ms −1.9% | 51.4 ms +0.1% |
| algo: bfs (whole graph) [gpu] | 915 µs | 918 µs ⋮ harness | 931 µs +1.5% | 866 µs −7.0% | 948 µs ⋮ harness | 881 µs −7.1% | 879 µs −0.3% |
| algo: dfs (whole graph) [v3] | 48.5 ms | 50.2 ms ⋮ harness | 48.4 ms −3.6% | 49.0 ms +1.3% | 50.3 ms ⋮ harness | 50.6 ms +0.5% | 48.8 ms −3.6% |
| algo: dfs (whole graph) [gpu] | 825 µs | 828 µs ⋮ harness | 849 µs +2.5% | 828 µs −2.4% | 868 µs ⋮ harness | 833 µs −4.0% | 836 µs +0.4% |
| algo: dijkstra + pathTo [v3] | 51.4 ms | 52.6 ms ⋮ harness | 54.2 ms +2.9% | 52.6 ms −2.9% | 53.2 ms ⋮ harness | 54.0 ms +1.5% | 52.1 ms −3.6% |
| algo: dijkstra + pathTo [gpu] | 925 µs | 931 µs ⋮ harness | 945 µs +1.4% | 938 µs −0.6% | 961 µs ⋮ harness | 951 µs −1.0% | 920 µs −3.3% |
| algo: aStar [v3] | 1.65 ms | 1.74 ms ⋮ harness | 1.69 ms −2.9% | 1.65 ms −2.6% | 1.70 ms ⋮ harness | 1.66 ms −2.1% | 1.64 ms −1.6% |
| algo: aStar [gpu] | 505 µs | 507 µs ⋮ harness | 509 µs +0.5% | 489 µs −3.9% | 507 µs ⋮ harness | 493 µs −2.8% | 483 µs −2.0% |
| algo: bellmanFord [v3] | 226 ms | 233 ms ⋮ harness | 237 ms +1.9% | 231 ms −2.8% | 236 ms ⋮ harness | 230 ms −2.8% | 227 ms −1.3% |
| algo: bellmanFord [gpu] | 12.2 ms | 11.7 ms ⋮ harness | 11.9 ms +2.0% | 11.7 ms −2.0% | 11.8 ms ⋮ harness | 11.7 ms −0.9% | 11.7 ms −0.0% |
| algo: kruskal [v3] | 13.6 ms | 13.8 ms ⋮ harness | 13.5 ms −2.5% | 13.0 ms −3.5% | 13.3 ms ⋮ harness | 13.1 ms −0.8% | 13.2 ms +0.2% |
| algo: kruskal [gpu] | 506 µs | 503 µs ⋮ harness | 495 µs −1.4% | 462 µs −6.8% | 510 µs ⋮ harness | 472 µs −7.5% | 461 µs −2.2% |
| algo: tarjan SCC [v3] | 23.3 ms | 24.4 ms ⋮ harness | 23.1 ms −5.3% | 22.4 ms −3.0% | 23.1 ms ⋮ harness | 22.8 ms −1.1% | 22.9 ms +0.5% |
| algo: tarjan SCC [gpu] | 652 µs | 647 µs ⋮ harness | 625 µs −3.3% | 673 µs +7.7% | 672 µs ⋮ harness | 653 µs −2.7% | 667 µs +2.0% |
| algo: hopcroft-tarjan biconnected [v3] | 85.9 ms | 87.8 ms ⋮ harness | 86.0 ms −2.1% | 84.9 ms −1.2% | 88.3 ms ⋮ harness | 89.5 ms +1.4% | 84.8 ms −5.3% |
| algo: hopcroft-tarjan biconnected [gpu] | 3.44 ms | 3.43 ms ⋮ harness | 3.48 ms +1.3% | 3.53 ms +1.6% | 3.44 ms ⋮ harness | 3.58 ms +4.0% | 3.53 ms −1.5% |
| algo: hierholzer (directed) [v3] | 22.4 ms | 23.2 ms ⋮ harness | 22.5 ms −3.0% | 22.4 ms −0.3% | 23.1 ms ⋮ harness | 23.2 ms +0.4% | 22.3 ms −3.7% |
| algo: hierholzer (directed) [gpu] | 8.07 ms | 7.75 ms ⋮ harness | 7.95 ms +2.6% | 7.82 ms −1.6% | 7.79 ms ⋮ harness | 7.86 ms +0.9% | 7.76 ms −1.3% |
| algo: betweennessCentrality (unweighted) [v3] | 3.98 s | 4.07 s ⋮ harness | 4.06 s −0.1% | 4.04 s −0.6% | 4.08 s ⋮ harness | 4.02 s −1.5% | 4.07 s +1.3% |
| algo: betweennessCentrality (unweighted) [gpu] | 344 ms | 359 ms ⋮ harness | 359 ms +0.0% | 360 ms +0.2% | 358 ms ⋮ harness | 356 ms −0.3% | 358 ms +0.6% |
| algo: degreeCentralityNormalized [v3] | 15.2 ms | 15.1 ms ⋮ harness | 14.4 ms −4.4% | 14.4 ms −0.4% | 14.6 ms ⋮ harness | 14.8 ms +1.4% | 14.6 ms −1.2% |
| algo: degreeCentralityNormalized [gpu] | 392 µs | 401 µs ⋮ harness | 402 µs +0.1% | 389 µs −3.2% | 392 µs ⋮ harness | 390 µs −0.4% | 392 µs +0.4% |
| algo: closenessCentrality (one root) [v3] | 58.9 ms | 60.3 ms ⋮ harness | 60.4 ms +0.2% | 59.3 ms −1.8% | 60.4 ms ⋮ harness | 60.2 ms −0.2% | 59.8 ms −0.7% |
| algo: closenessCentrality (one root) [gpu] | 816 µs | 816 µs ⋮ harness | 847 µs +3.8% | 853 µs +0.8% | 848 µs ⋮ harness | 840 µs −0.9% | 842 µs +0.3% |
| algo: degreeCentrality (one root) [v3] | 7.33 µs | 7.39 µs ⋮ harness | 7.51 µs +1.7% | 7.40 µs −1.5% | 7.43 µs ⋮ harness | 7.61 µs +2.4% | 7.35 µs −3.4% |
| algo: degreeCentrality (one root) [gpu] | 246 ns | 244 ns ⋮ harness | 248 ns +1.5% | 218 ns −12.0% | 216 ns ⋮ harness | 216 ns −0.1% | 218 ns +1.1% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| algo: bfs (whole graph) [v3] | 13.5 ms | 12.8 ms ⋮ harness | 13.6 ms +6.1% | 12.7 ms −6.5% | 12.7 ms ⋮ harness | 12.5 ms −1.5% | 12.7 ms +2.0% |
| algo: bfs (whole graph) [gpu] | 212 µs | 198 µs ⋮ harness | 223 µs +12% | 224 µs +0.3% | 209 µs ⋮ harness | 222 µs +6.0% | 208 µs −6.1% |
| algo: dfs (whole graph) [v3] | 12.1 ms | 11.8 ms ⋮ harness | 11.5 ms −2.1% | 11.4 ms −1.0% | 11.5 ms ⋮ harness | 11.3 ms −2.4% | 11.7 ms +4.0% |
| algo: dfs (whole graph) [gpu] | 194 µs | 186 µs ⋮ harness | 183 µs −1.9% | 204 µs +11% | 203 µs ⋮ harness | 201 µs −1.1% | 204 µs +1.6% |
| algo: dijkstra + pathTo [v3] | 13.3 ms | 12.4 ms ⋮ harness | 12.4 ms −0.7% | 11.8 ms −4.6% | 12.2 ms ⋮ harness | 11.7 ms −3.9% | 12.1 ms +2.9% |
| algo: dijkstra + pathTo [gpu] | 230 µs | 227 µs ⋮ harness | 240 µs +5.5% | 240 µs −0.1% | 241 µs ⋮ harness | 232 µs −3.5% | 234 µs +0.8% |
| algo: aStar [v3] | 439 µs | 434 µs ⋮ harness | 437 µs +0.6% | 443 µs +1.5% | 443 µs ⋮ harness | 442 µs −0.3% | 442 µs +0.0% |
| algo: aStar [gpu] | 123 µs | 119 µs ⋮ harness | 124 µs +4.0% | 127 µs +2.2% | 125 µs ⋮ harness | 124 µs −0.5% | 125 µs +0.2% |
| algo: bellmanFord [v3] | 16.9 ms | 17.3 ms ⋮ harness | 17.0 ms −1.4% | 16.8 ms −1.0% | 17.1 ms ⋮ harness | 16.8 ms −2.1% | 17.7 ms +5.3% |
| algo: bellmanFord [gpu] | 808 µs | 805 µs ⋮ harness | 824 µs +2.4% | 824 µs −0.0% | 814 µs ⋮ harness | 823 µs +1.0% | 810 µs −1.5% |
| algo: kruskal [v3] | 3.42 ms | 3.31 ms ⋮ harness | 3.18 ms −4.0% | 3.25 ms +2.3% | 3.24 ms ⋮ harness | 3.18 ms −1.7% | 3.22 ms +1.0% |
| algo: kruskal [gpu] | 131 µs | 132 µs ⋮ harness | 133 µs +0.3% | 132 µs −0.6% | 128 µs ⋮ harness | 128 µs +0.2% | 126 µs −1.9% |
| algo: tarjan SCC [v3] | 5.71 ms | 5.63 ms ⋮ harness | 5.28 ms −6.2% | 5.34 ms +1.2% | 5.39 ms ⋮ harness | 5.29 ms −2.0% | 5.35 ms +1.2% |
| algo: tarjan SCC [gpu] | 151 µs | 147 µs ⋮ harness | 159 µs +8.3% | 159 µs −0.2% | 158 µs ⋮ harness | 169 µs +7.0% | 152 µs −10.1% |
| algo: hopcroft-tarjan biconnected [v3] | 22.1 ms | 21.6 ms ⋮ harness | 19.9 ms −7.9% | 20.9 ms +5.3% | 20.3 ms ⋮ harness | 20.0 ms −1.3% | 20.4 ms +1.6% |
| algo: hopcroft-tarjan biconnected [gpu] | 798 µs | 818 µs ⋮ harness | 805 µs −1.6% | 799 µs −0.8% | 817 µs ⋮ harness | 801 µs −1.9% | 825 µs +3.0% |
| algo: hierholzer (directed) [v3] | 4.57 ms | 4.33 ms ⋮ harness | 4.36 ms +0.5% | 4.28 ms −1.6% | 4.21 ms ⋮ harness | 4.26 ms +1.0% | 4.27 ms +0.2% |
| algo: hierholzer (directed) [gpu] | 822 µs | 801 µs ⋮ harness | 831 µs +3.8% | 821 µs −1.2% | 823 µs ⋮ harness | 819 µs −0.5% | 819 µs −0.0% |
| algo: betweennessCentrality (unweighted) [v3] | 255 ms | 264 ms ⋮ harness | 260 ms −1.2% | 253 ms −2.7% | 258 ms ⋮ harness | 254 ms −1.6% | 260 ms +2.3% |
| algo: betweennessCentrality (unweighted) [gpu] | 22.4 ms | 24.2 ms ⋮ harness | 20.6 ms −14.8% | 20.5 ms −0.8% | 24.0 ms ⋮ harness | 20.3 ms −15.5% | 20.2 ms −0.1% |
| algo: degreeCentralityNormalized [v3] | 3.79 ms | 3.69 ms ⋮ harness | 3.43 ms −7.1% | 3.52 ms +2.5% | 3.56 ms ⋮ harness | 3.45 ms −3.0% | 3.48 ms +0.7% |
| algo: degreeCentralityNormalized [gpu] | 94.8 µs | 92.7 µs ⋮ harness | 93.9 µs +1.4% | 94.8 µs +0.9% | 95.3 µs ⋮ harness | 97.3 µs +2.1% | 94.5 µs −2.8% |
| algo: closenessCentrality (one root) [v3] | 14.7 ms | 14.7 ms ⋮ harness | 13.4 ms −9.0% | 14.3 ms +6.7% | 13.6 ms ⋮ harness | 13.3 ms −2.3% | 13.7 ms +3.3% |
| algo: closenessCentrality (one root) [gpu] | 192 µs | 197 µs ⋮ harness | 197 µs −0.1% | 206 µs +4.9% | 204 µs ⋮ harness | 203 µs −0.1% | 201 µs −1.1% |
| algo: degreeCentrality (one root) [v3] | 8.15 µs | 7.72 µs ⋮ harness | 7.39 µs −4.3% | 7.60 µs +2.8% | 7.64 µs ⋮ harness | 7.50 µs −1.7% | 7.39 µs −1.5% |
| algo: degreeCentrality (one root) [gpu] | 242 ns | 241 ns ⋮ harness | 243 ns +1.0% | 216 ns −11.3% | 213 ns ⋮ harness | 213 ns −0.2% | 214 ns +0.7% |
| algo: pageRank (20 iters) [v3] | 2.73 ms | 2.76 ms ⋮ harness | 2.76 ms +0.0% | 2.81 ms +1.8% | 2.74 ms ⋮ harness | 2.74 ms +0.0% | 2.75 ms +0.2% |
| algo: pageRank (20 iters) [gpu] | 1.45 ms | 1.44 ms ⋮ harness | 40.1 µs −97.2% | 39.9 µs −0.4% | 39.2 µs ⋮ harness | 39.4 µs +0.4% | 39.3 µs −0.3% |
| algo: closenessCentrality (weighted, one root) [v3] | 14.7 ms | 14.3 ms ⋮ harness | 14.4 ms +1.0% | 13.8 ms −4.6% | 13.9 ms ⋮ harness | 13.4 ms −3.7% | 13.4 ms −0.3% |
| algo: closenessCentrality (weighted, one root) [gpu] | 249 µs | 249 µs ⋮ harness | 260 µs +4.2% | 259 µs −0.5% | 257 µs ⋮ harness | 256 µs −0.3% | 256 µs +0.0% |
| algo: floydWarshall [v3] | 248 ms | 247 ms ⋮ harness | 248 ms +0.4% | 249 ms +0.5% | 248 ms ⋮ harness | 245 ms −1.3% | 245 ms +0.2% |
| algo: floydWarshall [gpu] | 139 ms | 154 ms ⋮ harness | 125 ms −18.9% | 129 ms +3.5% | 140 ms ⋮ harness | 127 ms −9.2% | 140 ms +10% |
| algo: closenessCentralityNormalized [v3] | 274 ms | 274 ms ⋮ harness | 274 ms −0.2% | 277 ms +1.4% | 272 ms ⋮ harness | 274 ms +0.8% | 273 ms −0.3% |
| algo: closenessCentralityNormalized [gpu] | 164 ms | 163 ms ⋮ harness | 168 ms +2.9% | 155 ms −7.6% | 111 ms ⋮ harness | 112 ms +0.1% | 111 ms −0.4% |
| algo: markovClustering [v3] | 4.12 s | 4.14 s ⋮ harness | 4.14 s +0.1% | 4.17 s +0.6% | 4.13 s ⋮ harness | 4.14 s +0.3% | 4.10 s −1.0% |
| algo: markovClustering [gpu] | 3.29 s | 3.76 s ⋮ harness | 3.75 s −0.3% | 3.76 s +0.4% | 3.77 s ⋮ harness | 3.74 s −0.8% | 3.73 s −0.1% |
| algo: hierarchicalClustering (threshold) [v3] | 34.8 ms | 35.3 ms ⋮ harness | 34.8 ms −1.3% | 34.2 ms −1.7% | 34.7 ms ⋮ harness | 34.7 ms +0.0% | 34.4 ms −0.7% |
| algo: hierarchicalClustering (threshold) [gpu] | 15.0 ms | 14.2 ms ⋮ harness | 4.12 ms −71.0% | 4.12 ms +0.1% | 4.18 ms ⋮ harness | 4.19 ms +0.4% | 4.14 ms −1.4% |
| algo: kMeans (fixed centroids) [v3] | 8.97 ms | 9.12 ms ⋮ harness | 9.05 ms −0.8% | 8.94 ms −1.2% | 9.00 ms ⋮ harness | 9.06 ms +0.6% | 9.01 ms −0.5% |
| algo: kMeans (fixed centroids) [gpu] | 2.33 ms | 2.32 ms ⋮ harness | 1.96 ms −15.3% | 1.93 ms −2.0% | 1.94 ms ⋮ harness | 1.92 ms −0.9% | 1.98 ms +2.8% |
| algo: kMedoids [v3] | 363 ms | 363 ms ⋮ harness | 377 ms +3.8% | 358 ms −4.9% | 232 ms ⋮ harness | 312 ms +35% | 301 ms −3.5% |
| algo: kMedoids [gpu] | 42.1 ms | 41.9 ms ⋮ harness | 41.7 ms −0.4% | 41.2 ms −1.4% | 40.5 ms ⋮ harness | 40.5 ms +0.1% | 39.3 ms −2.9% |
| algo: fuzzyCMeans [v3] | 79.8 ms | 78.1 ms ⋮ harness | 78.5 ms +0.5% | 79.3 ms +1.0% | 78.6 ms ⋮ harness | 77.9 ms −0.9% | 78.8 ms +1.1% |
| algo: fuzzyCMeans [gpu] | 9.90 ms | 9.11 ms ⋮ harness | 6.95 ms −23.7% | 6.98 ms +0.4% | 6.79 ms ⋮ harness | 6.79 ms +0.1% | 6.93 ms +1.9% |
| algo: affinityPropagation [v3] | 215 ms | 209 ms ⋮ harness | 208 ms −0.2% | 209 ms +0.3% | 209 ms ⋮ harness | 208 ms −0.3% | 208 ms −0.2% |
| algo: affinityPropagation [gpu] | 121 ms | 40.0 ms ⋮ harness | 39.0 ms −2.3% | 40.8 ms +4.5% | 41.5 ms ⋮ harness | 42.2 ms +1.8% | 39.1 ms −7.3% |
| algo: kargerStein [v3] | 316 ms | 317 ms ⋮ harness | 327 ms +3.1% | 318 ms −2.8% | 321 ms ⋮ harness | 321 ms +0.2% | 322 ms +0.2% |
| algo: kargerStein [gpu] | 308 ms | 308 ms ⋮ harness | 303 ms −1.6% | 307 ms +1.4% | 301 ms ⋮ harness | 303 ms +0.8% | 306 ms +0.8% |
| algo: betweennessCentrality (weighted) [v3] | 708 ms | 720 ms ⋮ harness | 730 ms +1.4% | 718 ms −1.7% | 712 ms ⋮ harness | 705 ms −0.9% | 705 ms −0.1% |
| algo: betweennessCentrality (weighted) [gpu] | 80.0 ms | 79.8 ms ⋮ harness | 79.8 ms −0.0% | 81.3 ms +1.9% | 83.2 ms ⋮ harness | 82.9 ms −0.4% | 81.1 ms −2.1% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| mapper: bulk write, color [cpu eval] | 2.68 ms | 2.77 ms +3.5% | 2.58 ms −7.1% | 1.31 ms −49.1% | 1.31 ms +0.3% | 1.31 ms −0.4% | 1.31 ms +0.0% |
| mapper: bulk write, color [gpu path] | 177 µs | 175 µs −1.1% | 176 µs +0.7% | 175 µs −0.2% | 175 µs −0.1% | 175 µs −0.2% | 175 µs +0.2% |
| mapper: bulk write, color + size [cpu eval] | 3.13 ms | 3.14 ms +0.1% | 3.19 ms +1.8% | 1.60 ms −50.0% | 1.59 ms −0.4% | 1.56 ms −1.9% | 1.57 ms +1.0% |
| mapper: bulk write, color + size [gpu color / cpu size] | 2.61 ms | 2.79 ms +7.1% | 2.70 ms −3.3% | 1.50 ms −44.6% | 1.53 ms +2.3% | 1.47 ms −4.1% | 1.47 ms +0.3% |
| mapper: bulk write, mapped labels (round-5 path) [label refresh] | 4.07 ms | 3.95 ms −2.8% | 4.08 ms +3.2% | 4.06 ms −0.5% | 4.10 ms +1.1% | 3.95 ms −3.7% | 3.97 ms +0.4% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| layout: grid [v3] | 11.9 ms | 11.6 ms −2.2% | 11.5 ms −1.1% | 12.1 ms +5.0% | 12.3 ms +1.8% | 11.3 ms ⋮ harness | 11.0 ms −2.7% |
| layout: grid [gpu] | 130 µs | 75.5 µs −42.1% | 74.6 µs −1.2% | 129 µs +73% | 128 µs −0.4% | 127 µs ⋮ harness | 127 µs +0.6% |
| layout: preset [v3] | 5.59 ms | 5.83 ms +4.2% | 5.78 ms −0.8% | 5.75 ms −0.6% | 5.80 ms +1.0% | 5.62 ms ⋮ harness | 5.50 ms −2.1% |
| layout: preset [gpu] | 297 µs | 329 µs +11% | 331 µs +0.5% | 295 µs −10.7% | 293 µs −0.8% | 295 µs ⋮ harness | 296 µs +0.1% |
| layout: preset (fn form) [v3] | 5.64 ms | 5.56 ms −1.4% | 6.07 ms +9.2% | 5.78 ms −4.8% | 5.97 ms +3.3% | 5.55 ms ⋮ harness | 5.43 ms −2.2% |
| layout: preset (fn form) [gpu] | 98.3 µs | 96.9 µs −1.4% | 99.0 µs +2.1% | 96.3 µs −2.8% | 98.4 µs +2.2% | 150 µs ⋮ harness | 145 µs −3.3% |
| layout: circle [v3] | 9.43 ms | 9.58 ms +1.6% | 10.0 ms +4.5% | 9.65 ms −3.7% | 9.84 ms +2.0% | 9.52 ms ⋮ harness | 9.43 ms −1.0% |
| layout: circle [gpu] | 778 µs | 800 µs +2.8% | 770 µs −3.7% | 816 µs +5.9% | 795 µs −2.6% | 1.42 ms ⋮ harness | 1.39 ms −2.4% |
| layout: concentric [v3] | 32.1 ms | 31.0 ms −3.5% | 30.0 ms −3.1% | 31.6 ms +5.2% | 31.9 ms +1.1% | 31.7 ms ⋮ harness | 32.1 ms +1.1% |
| layout: concentric [gpu] | 1.23 ms | 1.21 ms −1.1% | 1.18 ms −3.1% | 1.15 ms −2.5% | 1.22 ms +6.3% | 2.05 ms ⋮ harness | 1.98 ms −3.9% |
| layout: breadthfirst [v3] | 398 ms | 410 ms +2.9% | 400 ms −2.3% | 388 ms −3.2% | 414 ms +6.8% | 387 ms ⋮ harness | 392 ms +1.4% |
| layout: breadthfirst [gpu] | 11.4 ms | 11.2 ms −1.5% | 11.1 ms −1.0% | 10.8 ms −2.4% | 11.0 ms +1.3% | 13.0 ms ⋮ harness | 12.5 ms −3.4% |
| layout: random [v3] | 5.53 ms | 5.33 ms −3.6% | 5.56 ms +4.3% | 5.76 ms +3.7% | 5.74 ms −0.5% | 5.57 ms ⋮ harness | 5.34 ms −4.1% |
| layout: random [gpu] | 518 µs | 497 µs −4.1% | 520 µs +4.8% | 537 µs +3.1% | 533 µs −0.6% | 646 µs ⋮ harness | 663 µs +2.8% |
| layout: force (CPU executor, 20 iterations) [gpu] | 119 ms | 113 ms −4.9% | 120 ms +5.6% | 114 ms −5.0% | 113 ms −0.5% | 117 ms ⋮ harness | 115 ms −2.1% |
| layout: force seed — spectral vs scatter (20 iterations) [spectral (landmark MDS, the default)] | 112 ms | 111 ms −0.9% | 109 ms −1.7% | 112 ms +2.4% | 113 ms +0.7% | 115 ms ⋮ harness | 110 ms −3.6% |
| layout: force seed — spectral vs scatter (20 iterations) [scatter] | 58.0 ms | 55.9 ms −3.7% | 57.0 ms +2.0% | 56.5 ms −1.0% | 56.8 ms +0.6% | 56.5 ms ⋮ harness | 57.0 ms +0.9% |
| layout: plumbing (layoutPositions vs setPositions) [finisher] | 371 µs | 360 µs −2.9% | 366 µs +1.7% | 356 µs −2.7% | 370 µs +3.9% | 454 µs ⋮ harness | 457 µs +0.8% |
| layout: plumbing (layoutPositions vs setPositions) [bulk] | 31.6 µs | 31.1 µs −1.5% | 31.6 µs +1.5% | 31.5 µs −0.2% | 31.5 µs +0.1% | 31.9 µs ⋮ harness | 32.0 µs +0.1% |
| layout: contract fixed cost (empty impl vs bulk placement) [wrapper only] | 526 ns | 529 ns +0.5% | 523 ns −1.1% | 521 ns −0.5% | 528 ns +1.4% | 535 ns ⋮ harness | 544 ns +1.8% |
| layout: contract fixed cost (empty impl vs bulk placement) [wrapper + bulk write] | 39.7 µs | 39.9 µs +0.5% | 39.3 µs −1.3% | 39.4 µs +0.2% | 39.4 µs −0.1% | 40.1 µs ⋮ harness | 39.8 µs −0.8% |
| layout: scope (eles.layout, 10% of nodes) [v3] | 958 µs | 969 µs +1.1% | 999 µs +3.1% | 947 µs −5.2% | 998 µs +5.4% | 987 µs ⋮ harness | 971 µs −1.6% |
| layout: scope (eles.layout, 10% of nodes) [gpu] | 100 µs | 102 µs +1.5% | 97.8 µs −4.1% | 94.1 µs −3.8% | 101 µs +7.0% | 139 µs ⋮ harness | 130 µs −6.9% |
| layout: radial vs breadthfirst-circle (unbalanced tree) [radial] | – | – | – | – | – | 2.63 ms | 2.49 ms −5.2% |
| layout: radial vs breadthfirst-circle (unbalanced tree) [breadthfirst circle] | – | – | – | – | – | 8.09 ms | 7.76 ms −4.1% |
| layout: flow vs breadthfirst (staged DAG) [flow] | – | – | – | – | – | 168 ms | 165 ms −1.9% |
| layout: flow vs breadthfirst (staged DAG) [breadthfirst] | – | – | – | – | – | 10.3 ms | 10.3 ms −0.4% |
| layout: force constrained vs plain (CPU, 20 iterations) [constrained] | – | – | – | – | – | 115 ms | 110 ms −4.3% |
| layout: force constrained vs plain (CPU, 20 iterations) [plain] | – | – | – | – | – | 110 ms | 109 ms −1.4% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| style: sheet swap (compile + applyAll) [v3] | 13.1 ms | 12.4 ms ⋮ harness | 13.6 ms +9.8% | 13.0 ms −4.0% | 12.7 ms −2.3% | 12.5 ms −2.3% | 13.3 ms +6.8% |
| style: sheet swap (compile + applyAll) [gpu] | 10.8 ms | 10.8 ms ⋮ harness | 10.3 ms −4.7% | 2.25 ms −78.1% | 2.32 ms +2.8% | 2.30 ms −0.8% | 2.28 ms −0.8% |
| style: compile vs compile + apply [compile only (in batch)] | 27.3 µs | 32.6 µs ⋮ harness | 29.1 µs −10.9% | 24.6 µs −15.4% | 25.1 µs +2.2% | 24.4 µs −2.8% | 24.6 µs +0.5% |
| style: compile vs compile + apply [compile + apply] | 10.6 ms | 10.5 ms ⋮ harness | 10.1 ms −3.7% | 2.24 ms −77.9% | 2.30 ms +3.0% | 2.30 ms −0.3% | 2.25 ms −1.9% |
| style: first apply on add (256-node band) [v3] | 1.31 ms | 1.32 ms ⋮ harness | 1.33 ms +0.7% | 1.41 ms +6.4% | 1.41 ms −0.2% | 1.34 ms −4.7% | 1.40 ms +4.0% |
| style: first apply on add (256-node band) [gpu] | 833 µs | 820 µs ⋮ harness | 814 µs −0.7% | 726 µs −10.9% | 717 µs −1.2% | 721 µs +0.5% | 739 µs +2.5% |
| style: applyAll, flat vs compound (100 parents — the 14.6 partition) [flat] | 10.5 ms | 10.7 ms ⋮ harness | 10.1 ms −5.4% | 2.26 ms −77.7% | 2.30 ms +1.9% | 2.29 ms −0.6% | 2.27 ms −1.0% |
| style: applyAll, flat vs compound (100 parents — the 14.6 partition) [compound] | 11.1 ms | 11.3 ms ⋮ harness | 10.9 ms −3.4% | 2.72 ms −75.0% | 2.73 ms +0.6% | 2.79 ms +1.9% | 2.74 ms −1.8% |
| style: applyAll — constant vs state-case (the 57.1d partition) [constant sheet] | 10.4 ms | 10.5 ms ⋮ harness | 10.3 ms −2.0% | 2.25 ms −78.2% | 2.26 ms +0.5% | 2.32 ms +2.5% | 2.26 ms −2.6% |
| style: applyAll — constant vs state-case (the 57.1d partition) [state-case sheet] | 10.3 ms | 10.6 ms ⋮ harness | 10.4 ms −2.0% | 2.26 ms −78.3% | 2.28 ms +1.0% | 2.30 ms +0.9% | 2.27 ms −1.6% |
| style: applyAll — state-case vs data-case (what the partition avoids) [state-case sheet] | 10.5 ms | 10.8 ms ⋮ harness | 10.4 ms −4.3% | 2.24 ms −78.4% | 2.27 ms +1.4% | 2.29 ms +0.6% | 2.29 ms +0.1% |
| style: applyAll — state-case vs data-case (what the partition avoids) [data-case sheet] | 14.0 ms | 14.3 ms ⋮ harness | 14.5 ms +1.1% | 10.0 ms −30.9% | 10.0 ms +0.2% | 10.2 ms +2.0% | 9.93 ms −3.0% |
| style: select+unselect 256-band — constant vs state-case sheet [constant sheet (skips restyle)] | 6.76 µs | 6.77 µs ⋮ harness | 6.77 µs +0.0% | 6.77 µs −0.1% | 6.79 µs +0.3% | 6.75 µs −0.7% | 6.71 µs −0.5% |
| style: select+unselect 256-band — constant vs state-case sheet [paint-only state sheet (round-61 diff path)] | 34.7 µs | 34.4 µs ⋮ harness | 32.7 µs −5.0% | 32.9 µs +0.7% | 32.3 µs −1.8% | 33.8 µs +4.8% | 32.6 µs −3.7% |
| style: select+unselect 256-band — constant vs state-case sheet [state-case sheet (all channels; full write)] | 611 µs | 573 µs ⋮ harness | 595 µs +3.8% | 372 µs −37.4% | 376 µs +0.9% | 383 µs +1.9% | 382 µs −0.3% |
| style: read one prop (color) [v3] | 108 ns | 91.0 ns ⋮ harness | 95.0 ns +4.4% | 95.0 ns +0.0% | 96.0 ns +1.1% | 95.0 ns −1.0% | 94.0 ns −1.1% |
| style: read one prop (color) [gpu] | 56.9 ns | 61.3 ns ⋮ harness | 57.6 ns −6.0% | 54.8 ns −5.0% | 54.2 ns −1.0% | 56.7 ns +4.6% | 53.4 ns −5.9% |
| style: read one prop (width) [v3] | 111 ns | 109 ns ⋮ harness | 115 ns +5.5% | 115 ns +0.0% | 115 ns +0.0% | 114 ns −0.9% | 113 ns −0.9% |
| style: read one prop (width) [gpu] | 53.0 ns | 51.6 ns ⋮ harness | 52.6 ns +1.9% | 51.9 ns −1.3% | 51.6 ns −0.6% | 51.9 ns +0.5% | 53.3 ns +2.7% |
| style: numericStyle [v3] | 138 ns | 98.0 ns ⋮ harness | 140 ns +43% | 141 ns +0.7% | 138 ns −2.1% | 141 ns +2.2% | 139 ns −1.4% |
| style: numericStyle [gpu] | 49.8 ns | 49.0 ns ⋮ harness | 49.9 ns +1.8% | 48.9 ns −2.1% | 47.8 ns −2.1% | 49.3 ns +3.0% | 51.5 ns +4.6% |
| style: renderedStyle (one prop) [v3] | 913 ns | 903 ns ⋮ harness | 931 ns +3.1% | 883 ns −5.2% | 910 ns +3.1% | 879 ns −3.4% | 918 ns +4.4% |
| style: renderedStyle (one prop) [gpu] | 63.4 ns | 64.5 ns ⋮ harness | 62.8 ns −2.6% | 65.6 ns +4.5% | 63.6 ns −3.0% | 64.0 ns +0.6% | 68.8 ns +7.4% |
| style: whole-object style() [v3] | 87.0 µs | 87.3 µs ⋮ harness | 83.5 µs −4.5% | 85.5 µs +2.4% | 85.8 µs +0.4% | 84.5 µs −1.6% | 84.8 µs +0.3% |
| style: whole-object style() [gpu] | 14.0 µs | 14.0 µs ⋮ harness | 13.7 µs −2.1% | 13.8 µs +0.6% | 14.0 µs +1.1% | 14.3 µs +2.2% | 14.4 µs +0.8% |
| style: bypass set (ele.style name,value) [v3] | – | 9.97 µs | 10.2 µs +2.3% | 10.0 µs −1.9% | 10.2 µs +2.5% | 10.1 µs −1.8% | 10.6 µs +5.5% |
| style: bypass set (ele.style name,value) [gpu] | – | 3.15 µs | 3.10 µs −1.6% | 2.46 µs −20.4% | 2.52 µs +2.2% | 2.45 µs −2.6% | 2.57 µs +4.6% |
| style: bypass set + removeStyle round-trip [v3] | – | 21.7 µs | 20.3 µs −6.3% | 21.0 µs +3.3% | 21.1 µs +0.6% | 20.5 µs −2.9% | 20.9 µs +2.1% |
| style: bypass set + removeStyle round-trip [gpu] | – | 5.00 µs | 4.74 µs −5.1% | 3.60 µs −24.2% | 3.56 µs −1.1% | 3.46 µs −2.8% | 3.64 µs +5.3% |
| style: select+unselect 256-band under the default sheet — bypass punch-out [no bypasses (diff path; the O(0) gate row)] | – | 35.2 µs | 33.6 µs −4.6% | 33.7 µs +0.2% | 33.4 µs −0.7% | 34.4 µs +3.0% | 33.1 µs −3.9% |
| style: select+unselect 256-band under the default sheet — bypass punch-out [128 of 256 bypassed (punched out to merged writes)] | – | 343 µs | 333 µs −2.7% | 226 µs −32.2% | 233 µs +3.3% | 226 µs −3.0% | 226 µs −0.3% |
| style: sheet swap (applyAll) — 0 vs 128 bypasses [no bypasses] | – | 11.0 ms | 11.1 ms +0.9% | 2.43 ms −78.1% | 2.47 ms +1.4% | 2.45 ms −0.7% | 2.46 ms +0.5% |
| style: sheet swap (applyAll) — 0 vs 128 bypasses [128 bypassed] | – | 11.5 ms | 11.4 ms −1.2% | 8.90 ms −21.6% | 8.91 ms +0.1% | 8.83 ms −0.9% | 8.59 ms −2.7% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| load: init from the definition form (construct + dispose) [v3] | 134 ms | 132 ms −1.7% | 136 ms +3.0% | 135 ms −0.7% | 134 ms −0.3% | 135 ms +0.7% | 133 ms −1.9% |
| load: init from the definition form (construct + dispose) [gpu] | 22.5 ms | 21.3 ms −5.5% | 22.4 ms +5.3% | 5.19 ms −76.9% | 5.03 ms −3.0% | 4.89 ms −2.7% | 5.02 ms +2.6% |
| load: v4 ingest forms (construct + dispose) [definition form] | 21.7 ms | 21.3 ms −2.1% | 21.6 ms +1.8% | 4.58 ms −78.8% | 4.50 ms −1.7% | 4.35 ms −3.3% | 4.36 ms +0.2% |
| load: v4 ingest forms (construct + dispose) [columnar form] | 12.6 ms | 12.5 ms −0.5% | 12.6 ms +0.8% | 3.26 ms −74.2% | 3.34 ms +2.3% | 3.28 ms −1.7% | 3.30 ms +0.5% |
| load: v4 ingest forms (construct + dispose) [wire buffer] | 12.1 ms | 12.1 ms +0.6% | 11.8 ms −2.7% | 2.86 ms −75.9% | 2.89 ms +1.3% | 2.88 ms −0.5% | 2.86 ms −0.6% |
| load: v4 ingest forms (construct + dispose) [def clone alone (control)] | 308 µs | 304 µs −1.4% | 300 µs −1.2% | 301 µs +0.2% | 311 µs +3.3% | 301 µs −3.1% | 617 µs ×2.05 |
| load: conversion [toColumnarElements] | 709 µs | 708 µs −0.0% | 706 µs −0.3% | 693 µs −1.8% | 708 µs +2.2% | 692 µs −2.4% | 696 µs +0.6% |
| load: conversion [serializeElements (from columnar)] | 206 µs | 204 µs −1.2% | 190 µs −7.0% | 179 µs −5.6% | 180 µs +0.7% | 179 µs −0.5% | 181 µs +0.9% |
| load: conversion [serializeElements (from defs)] | 891 µs | 886 µs −0.6% | 869 µs −1.9% | 880 µs +1.3% | 886 µs +0.6% | 875 µs −1.2% | 870 µs −0.5% |
| load: conversion [deserializeElements] | 4.55 µs | 4.63 µs +1.9% | 4.60 µs −0.7% | 4.54 µs −1.4% | 4.60 µs +1.4% | 4.45 µs −3.3% | 4.59 µs +3.2% |
| load: export from a live graph [cy.serialize() (wire)] | 493 µs | 492 µs −0.3% | 501 µs +2.0% | 501 µs −0.1% | 502 µs +0.2% | 500 µs −0.3% | 499 µs −0.2% |
| load: export from a live graph [cy.json() (v4)] | 730 µs | 737 µs +0.9% | 717 µs −2.7% | 727 µs +1.4% | 716 µs −1.5% | 728 µs +1.6% | 727 µs −0.1% |
| load: cy.json() [v3] | 2.00 ms | 2.00 ms −0.0% | 2.02 ms +1.3% | 2.05 ms +1.3% | 2.00 ms −2.3% | 2.02 ms +0.7% | 2.02 ms −0.0% |
| load: cy.json() [gpu] | 746 µs | 742 µs −0.5% | 735 µs −0.9% | 738 µs +0.4% | 739 µs +0.1% | 722 µs −2.4% | 762 µs +5.5% |
| load: add a 256-node band (add + remove) [v3] | 3.65 ms | 3.58 ms −1.9% | 3.66 ms +2.3% | 3.67 ms +0.2% | 3.65 ms −0.4% | 3.60 ms −1.6% | 3.69 ms +2.5% |
| load: add a 256-node band (add + remove) [gpu] | 2.68 ms | 2.69 ms +0.4% | 2.67 ms −0.8% | 2.21 ms −17.2% | 2.22 ms +0.2% | 2.26 ms +2.1% | 2.32 ms +2.7% |
| load: add a 256-node band, v4 forms [definition form] | 2.63 ms | 2.61 ms −0.8% | 2.73 ms +4.5% | 2.26 ms −17.2% | 2.29 ms +1.3% | 2.22 ms −3.0% | 2.32 ms +4.5% |
| load: add a 256-node band, v4 forms [columnar form] | 2.24 ms | 2.28 ms +2.0% | 2.37 ms +3.7% | 1.71 ms −27.7% | 1.94 ms +14% | 1.89 ms −2.7% | 1.92 ms +1.4% |
| load: add a 256-node band, v4 forms [wire buffer] | 2.20 ms | 2.26 ms +2.6% | 2.31 ms +2.3% | 1.95 ms −15.6% | 1.92 ms −1.7% | 1.91 ms −0.4% | 1.92 ms +0.5% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| pick: hit (the walk; one inside-test) [zoom 1] | 20.6 µs | 20.5 µs −0.6% | 21.0 µs +2.4% | 20.6 µs −1.9% | 20.8 µs +1.0% | 21.0 µs ⋮ harness | 20.7 µs −1.8% |
| pick: hit (the walk; one inside-test) [zoom 2] | 21.0 µs | 21.1 µs +0.6% | 21.3 µs +1.0% | 21.2 µs −0.5% | 21.1 µs −0.4% | 21.0 µs ⋮ harness | 20.8 µs −1.0% |
| pick: miss walk — exact vs 24 px touch halo (57.9) [exact] | 46.2 µs | 45.9 µs −0.6% | 47.6 µs +3.7% | 45.8 µs −4.0% | 46.6 µs +1.8% | 46.4 µs ⋮ harness | 46.2 µs −0.4% |
| pick: miss walk — exact vs 24 px touch halo (57.9) [padPx 24] | 45.6 µs | 44.3 µs −2.7% | 45.2 µs +2.0% | 44.5 µs −1.7% | 44.8 µs +0.6% | 44.4 µs ⋮ harness | 44.7 µs +0.7% |
| pick: shape inside-test, 2000 coincident misses [ellipse] | 87.2 µs | 87.5 µs +0.4% | 87.0 µs −0.6% | 89.0 µs +2.3% | 88.3 µs −0.8% | 87.2 µs ⋮ harness | 87.5 µs +0.3% |
| pick: shape inside-test, 2000 coincident misses [star] | 235 µs | 233 µs −0.8% | 234 µs +0.6% | 235 µs +0.4% | 235 µs −0.1% | 234 µs ⋮ harness | 234 µs +0.0% |
| pick: shape inside-test, 2000 coincident misses [round-hexagon] | 793 µs | 829 µs +4.5% | 808 µs −2.5% | 797 µs −1.3% | 794 µs −0.4% | 796 µs ⋮ harness | 792 µs −0.5% |
| pick: shape inside-test, 2000 coincident misses [barrel] | 681 µs | 689 µs +1.1% | 683 µs −0.7% | 681 µs −0.4% | 686 µs +0.8% | 696 µs ⋮ harness | 688 µs −1.1% |
| pick: shape inside-test, 2000 coincident misses [cut-rectangle] | 99.8 µs | 99.6 µs −0.2% | 100 µs +0.5% | 100 µs +0.0% | 100 µs +0.2% | 99.3 µs ⋮ harness | 99.6 µs +0.3% |
| pick: shape inside-test, 2000 coincident misses [polygon] | 214 µs | 228 µs +6.3% | 211 µs −7.2% | 212 µs +0.6% | 211 µs −0.4% | 211 µs ⋮ harness | 209 µs −0.7% |
| pick: round-hexagon inside-test by zoom (not affine-invariant) [zoom 1] | 802 µs | 827 µs +3.1% | 807 µs −2.4% | 800 µs −0.9% | 790 µs −1.2% | 796 µs ⋮ harness | 803 µs +0.9% |
| pick: round-hexagon inside-test by zoom (not affine-invariant) [zoom 2] | 799 µs | 811 µs +1.5% | 793 µs −2.2% | 790 µs −0.4% | 799 µs +1.1% | 802 µs ⋮ harness | 791 µs −1.4% |
| pick: background miss (full highWater walk) [gpu] | 45.1 µs | 45.4 µs +0.8% | 45.6 µs +0.4% | 45.2 µs −0.8% | 45.8 µs +1.3% | 44.9 µs ⋮ harness | 44.9 µs +0.0% |
| pick: label box in the scan (text-events) [text-events: no] | 45.3 µs | 45.2 µs −0.3% | 45.8 µs +1.5% | 45.1 µs −1.6% | 45.3 µs +0.5% | 44.9 µs ⋮ harness | 45.0 µs +0.3% |
| pick: label box in the scan (text-events) [text-events: yes] | 127 µs | 125 µs −1.2% | 125 µs −0.7% | 126 µs +1.1% | 126 µs +0.1% | 125 µs ⋮ harness | 123 µs −1.2% |
| box: elementsInBox by covered fraction [10%] | 149 µs | 148 µs −0.8% | 149 µs +0.4% | 149 µs +0.0% | 148 µs −0.3% | 150 µs ⋮ harness | 149 µs −0.9% |
| box: elementsInBox by covered fraction [50%] | 192 µs | 197 µs +2.4% | 200 µs +1.4% | 196 µs −1.9% | 193 µs −1.8% | 196 µs ⋮ harness | 197 µs +0.6% |
| box: elementsInBox by covered fraction [100%] | 324 µs | 344 µs +6.3% | 344 µs +0.0% | 321 µs −6.7% | 321 µs −0.2% | 325 µs ⋮ harness | 331 µs +2.0% |
| box: label containment (boxSelectionIncludesLabels) [off] | 230 µs | 231 µs +0.2% | 238 µs +3.1% | 230 µs −3.4% | 228 µs −0.9% | 229 µs ⋮ harness | 229 µs −0.1% |
| box: label containment (boxSelectionIncludesLabels) [on] | 264 µs | 261 µs −1.2% | 263 µs +0.7% | 262 µs −0.4% | 263 µs +0.4% | 264 µs ⋮ harness | 262 µs −0.7% |
| box: overlap vs contain (straight edges) [contain] | 235 µs | 241 µs +2.6% | 245 µs +1.6% | 234 µs −4.5% | 235 µs +0.4% | 239 µs ⋮ harness | 234 µs −1.9% |
| box: overlap vs contain (straight edges) [overlap] | 475 µs | 473 µs −0.5% | 487 µs +2.9% | 485 µs −0.3% | 508 µs +4.7% | 481 µs ⋮ harness | 463 µs −3.7% |
| box: overlap vs contain (curved edges — the segment walk) [contain] | 1.26 ms | 1.24 ms −1.6% | 1.29 ms +4.3% | 1.28 ms −0.8% | 1.28 ms −0.2% | 1.25 ms ⋮ harness | 1.25 ms −0.7% |
| box: overlap vs contain (curved edges — the segment walk) [overlap] | 2.14 ms | 2.13 ms −0.4% | 2.24 ms +5.4% | 2.18 ms −2.6% | 2.20 ms +0.8% | 1.21 ms ⋮ harness | 1.21 ms −0.1% |
| bounds: whole-graph boundingBox() [v3] | 7.64 ms | 7.54 ms −1.3% | 8.11 ms +7.5% | 7.76 ms −4.2% | 7.96 ms +2.5% | 7.66 ms ⋮ harness | 7.72 ms +0.7% |
| bounds: whole-graph boundingBox() [gpu] | 1.25 ms | 1.26 ms +0.5% | 1.28 ms +2.1% | 1.32 ms +3.0% | 1.38 ms +4.6% | 1.24 ms ⋮ harness | 1.21 ms −2.2% |
| bounds: boundingBox, labels in vs out (v4) [includeLabels: true (default)] | 1.25 ms | 1.26 ms +1.1% | 1.30 ms +3.1% | 1.34 ms +3.1% | 1.36 ms +1.1% | 1.25 ms ⋮ harness | 1.20 ms −4.0% |
| bounds: boundingBox, labels in vs out (v4) [includeLabels: false] | 715 µs | 693 µs −3.1% | 747 µs +7.8% | 816 µs +9.2% | 811 µs −0.6% | 657 µs ⋮ harness | 656 µs −0.2% |
| bounds: cy.fit() (whole-graph scan) [v3] | 7.75 ms | 7.46 ms −3.8% | 7.77 ms +4.2% | 7.73 ms −0.5% | 7.72 ms −0.0% | 7.55 ms ⋮ harness | 7.57 ms +0.2% |
| bounds: cy.fit() (whole-graph scan) [gpu] | 238 µs | 237 µs −0.4% | 238 µs +0.6% | 237 µs −0.3% | 238 µs +0.2% | 231 µs ⋮ harness | 232 µs +0.4% |
| bounds: getFitViewport() (compute without committing) [v3] | 7.85 ms | 7.40 ms −5.7% | 7.73 ms +4.5% | 7.70 ms −0.5% | 7.76 ms +0.8% | 7.54 ms ⋮ harness | 7.62 ms +1.1% |
| bounds: getFitViewport() (compute without committing) [gpu] | 235 µs | 233 µs −0.7% | 236 µs +1.6% | 236 µs −0.1% | 236 µs −0.2% | 231 µs ⋮ harness | 232 µs +0.7% |
| bounds: boundingBoxAt (v4 only) [gpu] | 2.53 ms | 2.71 ms +7.2% | 2.52 ms −7.0% | 2.63 ms +4.4% | 2.65 ms +0.7% | 1.49 ms ⋮ harness | 1.47 ms −1.2% |
| bounds: one node boundingBox() [v3] | 1.74 µs | 1.61 µs −7.1% | 1.65 µs +2.1% | 1.68 µs +1.8% | 1.64 µs −2.4% | 1.63 µs ⋮ harness | 1.64 µs +0.1% |
| bounds: one node boundingBox() [gpu] | 995 ns | 996 ns +0.2% | 1.01 µs +1.6% | 1.04 µs +3.1% | 1.01 µs −2.9% | 1.03 µs ⋮ harness | 1.00 µs −3.1% |
| bounds: labelBoundingBox (v4 only) [gpu] | 409 ns | 419 ns +2.3% | 426 ns +1.8% | 429 ns +0.6% | 427 ns −0.5% | 450 ns ⋮ harness | 415 ns −7.9% |
| bounds: compound + taxi conservative scan (round 54, v4 only) [warm (curve bbs memoized)] | 75.2 µs | 74.4 µs −1.1% | 74.4 µs +0.0% | 76.7 µs +3.1% | 75.4 µs −1.7% | – | – |
| bounds: compound + taxi conservative scan (round 54, v4 only) [cold (geometry write per call)] | 152 µs | 148 µs −3.0% | 146 µs −0.9% | 151 µs +2.9% | 149 µs −1.1% | – | – |
| bounds: compound + taxi exact scan (rounds 54/92, v4 only) [warm (curve bbs memoized)] | – | – | – | – | – | 19.3 µs | 19.2 µs −0.7% |
| bounds: compound + taxi exact scan (rounds 54/92, v4 only) [cold (geometry write per call)] | – | – | – | – | – | 207 µs | 204 µs −1.2% |
| bounds: straight-only scan (ndex-shaped, round 92, v4 only) [warm] | – | – | – | – | – | 34.2 µs | 34.1 µs −0.2% |
| bounds: straight-only scan (ndex-shaped, round 92, v4 only) [cold (geometry write per call)] | – | – | – | – | – | 34.4 µs | 34.6 µs +0.7% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| data: bulk write, numeric column [v3] | 1.80 ms | 1.64 ms −8.8% | 1.71 ms +4.2% | 1.67 ms −2.0% | 1.78 ms +6.3% | 1.81 ms +1.6% | 1.79 ms −1.0% |
| data: bulk write, numeric column [gpu] | 84.3 µs | 84.3 µs +0.1% | 84.7 µs +0.4% | 84.3 µs −0.4% | 84.2 µs −0.1% | 84.9 µs +0.8% | 85.9 µs +1.3% |
| data: bulk write, dictionary string column (4 values) [v3] | 1.68 ms | 1.64 ms −2.3% | 1.69 ms +2.9% | 1.77 ms +4.6% | 1.77 ms +0.1% | 1.80 ms +1.7% | 1.71 ms −5.1% |
| data: bulk write, dictionary string column (4 values) [gpu] | 101 µs | 101 µs −0.1% | 101 µs −0.4% | 109 µs +7.8% | 108 µs −0.8% | 102 µs −5.4% | 103 µs +0.9% |
| data: bulk write, one new dictionary entry per pass [v3] | 1.66 ms | 1.65 ms −0.9% | 1.75 ms +6.2% | 1.77 ms +1.4% | 1.79 ms +0.8% | 1.84 ms +2.8% | 1.70 ms −7.8% |
| data: bulk write, one new dictionary entry per pass [gpu] | 99.8 µs | 100 µs +0.5% | 100 µs −0.1% | 99.7 µs −0.4% | 101 µs +1.1% | 98.8 µs −2.0% | 99.9 µs +1.1% |
| data: bulk write, object column (plain-array fallback) [v3] | 1.68 ms | 1.66 ms −1.5% | 1.72 ms +4.0% | 1.77 ms +2.8% | 1.78 ms +0.3% | 1.81 ms +2.0% | 1.71 ms −5.6% |
| data: bulk write, object column (plain-array fallback) [gpu] | 85.5 µs | 84.9 µs −0.7% | 83.9 µs −1.2% | 83.3 µs −0.8% | 83.3 µs +0.1% | 83.3 µs −0.0% | 83.8 µs +0.6% |
| data: removeData (whole collection) [v3] | 2.52 ms | 2.42 ms −4.2% | 2.57 ms +6.4% | 2.76 ms +7.1% | 2.62 ms −4.9% | 2.76 ms +5.4% | 2.53 ms −8.2% |
| data: removeData (whole collection) [gpu] | 328 µs | 336 µs +2.4% | 329 µs −2.1% | 328 µs −0.4% | 330 µs +0.8% | 335 µs +1.5% | 326 µs −2.9% |
| data: read one numeric key [v3] | 38.5 ns | 38.5 ns −0.1% | 38.4 ns −0.2% | 38.7 ns +0.8% | 38.5 ns −0.5% | 38.3 ns −0.6% | 38.3 ns +0.1% |
| data: read one numeric key [gpu] | 28.3 ns | 28.6 ns +0.8% | 27.4 ns −4.2% | 27.5 ns +0.3% | 28.6 ns +4.3% | 28.2 ns −1.6% | 30.3 ns +7.4% |
| data: read one string key (dictionary decode) [v3] | 41.8 ns | 41.6 ns −0.4% | 41.5 ns −0.4% | 41.9 ns +1.1% | 42.0 ns +0.1% | 41.4 ns −1.4% | 41.4 ns +0.1% |
| data: read one string key (dictionary decode) [gpu] | 31.4 ns | 31.7 ns +0.8% | 32.0 ns +0.9% | 31.1 ns −2.7% | 31.2 ns +0.1% | 31.1 ns −0.2% | 31.0 ns −0.2% |
| data: read the whole object [v3] | 48.0 ns | 48.0 ns −0.2% | 46.8 ns −2.4% | 46.2 ns −1.4% | 47.7 ns +3.2% | 45.6 ns −4.2% | 47.7 ns +4.6% |
| data: read the whole object [gpu] | 20.9 ns | 21.0 ns +0.4% | 21.1 ns +0.5% | 21.0 ns −0.7% | 21.0 ns +0.2% | 21.0 ns −0.3% | 21.1 ns +0.6% |
| query: data equality ([bucket = 3] vs { data: { bucket: 3 } }) [v3] | 661 µs | 656 µs −0.8% | 661 µs +0.8% | 664 µs +0.5% | 656 µs −1.2% | 664 µs +1.2% | 682 µs +2.6% |
| query: data equality ([bucket = 3] vs { data: { bucket: 3 } }) [gpu] | 52.3 µs | 52.0 µs −0.6% | 47.5 µs −8.7% | 46.8 µs −1.4% | 47.3 µs +1.0% | 47.6 µs +0.6% | 48.2 µs +1.4% |
| query: data comparison ([weight > 3] vs { gt }) [v3] | 738 µs | 758 µs +2.8% | 784 µs +3.4% | 751 µs −4.2% | 751 µs −0.0% | 762 µs +1.4% | 764 µs +0.3% |
| query: data comparison ([weight > 3] vs { gt }) [gpu] | 59.6 µs | 61.7 µs +3.5% | 70.1 µs +14% | 69.9 µs −0.3% | 71.5 µs +2.3% | 70.1 µs −1.9% | 69.2 µs −1.3% |
| query: two keys AND-ed [v3] | 777 µs | 791 µs +1.9% | 786 µs −0.7% | 796 µs +1.3% | 824 µs +3.4% | 801 µs −2.8% | 796 µs −0.6% |
| query: two keys AND-ed [gpu] | 67.0 µs | 68.5 µs +2.2% | 66.2 µs −3.5% | 65.9 µs −0.4% | 66.7 µs +1.2% | 67.1 µs +0.6% | 66.4 µs −1.0% |
| query: membership ([bucket in ...] vs { in }) [v3] | 1.01 ms | 1.11 ms +10% | 1.01 ms −9.0% | 1.01 ms −0.3% | 1.00 ms −0.2% | 1.02 ms +1.5% | 1.01 ms −1.1% |
| query: membership ([bucket in ...] vs { in }) [gpu] | 65.3 µs | 66.6 µs +1.9% | 63.8 µs −4.2% | 65.6 µs +2.9% | 65.1 µs −0.8% | 64.8 µs −0.6% | 65.0 µs +0.4% |
| query: predicate function (both sides) [v3] | 657 µs | 653 µs −0.6% | 648 µs −0.7% | 661 µs +2.0% | 651 µs −1.5% | 672 µs +3.3% | 657 µs −2.3% |
| query: predicate function (both sides) [gpu] | 98.5 µs | 76.6 µs −22.3% | 92.1 µs +20% | 110 µs +20% | 76.1 µs −30.9% | 90.3 µs +19% | 83.5 µs −7.6% |
| query: structural, parents (:parent vs { parent: true }) [v3] | 516 µs | 532 µs +3.1% | 523 µs −1.7% | 524 µs +0.3% | 515 µs −1.9% | 526 µs +2.1% | 530 µs +0.8% |
| query: structural, parents (:parent vs { parent: true }) [gpu] | 15.6 µs | 15.5 µs −0.6% | 15.5 µs −0.5% | 15.4 µs −0.8% | 15.4 µs +0.3% | 15.6 µs +1.3% | 15.2 µs −2.7% |
| query: structural, childless (:childless vs { parent: false }) [v3] | 798 µs | 802 µs +0.5% | 808 µs +0.7% | 804 µs −0.5% | 796 µs −1.0% | 793 µs −0.3% | 795 µs +0.3% |
| query: structural, childless (:childless vs { parent: false }) [gpu] | 60.5 µs | 60.1 µs −0.7% | 60.9 µs +1.3% | 61.3 µs +0.7% | 61.4 µs +0.2% | 60.4 µs −1.7% | 59.6 µs −1.2% |
| query: structural, orphans (:orphan vs { child: false }) [v3] | 503 µs | 509 µs +1.2% | 503 µs −1.2% | 499 µs −0.8% | 488 µs −2.1% | 504 µs +3.3% | 499 µs −1.0% |
| query: structural, orphans (:orphan vs { child: false }) [gpu] | 15.5 µs | 15.5 µs +0.3% | 15.3 µs −1.3% | 15.4 µs +0.5% | 15.4 µs −0.2% | 15.3 µs −0.3% | 15.4 µs +0.3% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| emit: position write, no listeners [v3] | 1.31 µs | 1.28 µs −2.4% | 1.33 µs +4.0% | 1.31 µs −1.2% | 1.31 µs +0.1% | 1.31 µs −0.3% | 1.29 µs −1.3% |
| emit: position write, no listeners [gpu] | 45.7 ns | 52.3 ns +14% | 53.0 ns +1.3% | 47.3 ns −10.7% | 48.9 ns +3.3% | 51.6 ns +5.6% | 49.0 ns −5.1% |
| emit: 1 core listener [v3] | 1.35 µs | 1.38 µs +2.5% | 1.42 µs +2.4% | 1.44 µs +1.4% | 1.40 µs −2.5% | 1.40 µs −0.5% | 1.45 µs +4.1% |
| emit: 1 core listener [gpu] | 158 ns | 171 ns +8.4% | 166 ns −2.9% | 169 ns +1.4% | 169 ns +0.2% | 170 ns +0.4% | 164 ns −3.7% |
| emit: 1 element (ref-qualified) listener [v3] | 1.38 µs | 1.38 µs −0.3% | 1.42 µs +3.1% | 1.38 µs −2.8% | 1.41 µs +2.6% | 1.40 µs −0.8% | 1.41 µs +0.9% |
| emit: 1 element (ref-qualified) listener [gpu] | 167 ns | 189 ns +13% | 186 ns −1.6% | 182 ns −1.9% | 183 ns +0.3% | 182 ns −0.7% | 178 ns −2.0% |
| emit: delegated (v3 selector vs v4 predicate) [v3] | 1.52 µs | 1.46 µs −3.5% | 1.48 µs +1.5% | 1.49 µs +0.4% | 1.50 µs +1.0% | 1.46 µs −2.9% | 1.52 µs +4.2% |
| emit: delegated (v3 selector vs v4 predicate) [gpu] | 169 ns | 191 ns +13% | 188 ns −1.7% | 185 ns −1.1% | 183 ns −1.4% | 185 ns +1.4% | 187 ns +0.6% |
| emit: 10 core listeners [v3] | 1.92 µs | 1.92 µs −0.1% | 1.97 µs +2.6% | 1.93 µs −1.9% | 1.97 µs +2.1% | 1.97 µs −0.0% | 1.97 µs −0.3% |
| emit: 10 core listeners [gpu] | 279 ns | 304 ns +8.9% | 323 ns +6.3% | 319 ns −1.2% | 316 ns −1.0% | 304 ns −3.9% | 296 ns −2.4% |
| emit: on() + off() round-trip [v3] | 477 ns | 462 ns −3.1% | 480 ns +3.7% | 470 ns −1.9% | 460 ns −2.3% | 462 ns +0.5% | 459 ns −0.7% |
| emit: on() + off() round-trip [gpu] | 216 ns | 215 ns −0.5% | 213 ns −0.9% | 212 ns −0.5% | 216 ns +2.0% | 210 ns −2.5% | 214 ns +1.8% |
| emit: flat vs phased (compound bubbling, 14.5) [orphan (flat emit)] | 307 ns | 297 ns −3.3% | 310 ns +4.4% | 285 ns −8.1% | 305 ns +7.0% | 300 ns −1.6% | 295 ns −1.7% |
| emit: flat vs phased (compound bubbling, 14.5) [child of 2 ancestors (phased)] | 915 ns | 834 ns −8.8% | 869 ns +4.2% | 834 ns −4.1% | 850 ns +2.0% | 877 ns +3.1% | 845 ns −3.6% |
| emit: flat vs phased, no listeners [orphan (flat)] | 76.2 ns | 80.2 ns +5.3% | 83.9 ns +4.6% | 77.0 ns −8.2% | 83.5 ns +8.4% | 87.5 ns +4.8% | 80.6 ns −7.9% |
| emit: flat vs phased, no listeners [child (phased)] | 468 ns | 487 ns +4.1% | 488 ns +0.2% | 483 ns −0.9% | 506 ns +4.7% | 513 ns +1.4% | 526 ns +2.4% |
| anim: start + stop, one element [v3] | 892 ns | 923 ns +3.5% | 821 ns −11.1% | 870 ns +6.0% | 824 ns −5.3% | 848 ns +2.9% | 826 ns −2.6% |
| anim: start + stop, one element [gpu] | 650 ns | 634 ns −2.5% | 635 ns +0.2% | 633 ns −0.3% | 642 ns +1.4% | 630 ns −1.9% | 630 ns +0.0% |
| anim: start against a running animation (round-21 eviction) [disjoint channels (composes)] | 1.28 µs | 1.35 µs +5.6% | 1.32 µs −1.8% | 1.28 µs −3.6% | 1.26 µs −1.3% | 1.31 µs +4.0% | 1.29 µs −1.7% |
| anim: start against a running animation (round-21 eviction) [overlapping channels (evicts)] | 810 ns | 839 ns +3.6% | 898 ns +7.1% | 817 ns −9.1% | 813 ns −0.5% | 831 ns +2.3% | 818 ns −1.6% |
| anim: start + stop, 512-node collection [v3] | 299 µs | 296 µs −1.0% | 298 µs +0.9% | 297 µs −0.3% | 299 µs +0.5% | 297 µs −0.6% | 294 µs −0.9% |
| anim: start + stop, 512-node collection [gpu] | 99.2 µs | 98.4 µs −0.8% | 99.9 µs +1.6% | 98.5 µs −1.5% | 100 µs +1.5% | 99.5 µs −0.5% | 99.9 µs +0.4% |
| anim: delay() (no channels touched) [v3] | 656 ns | 637 ns −3.0% | 647 ns +1.5% | 676 ns +4.6% | 651 ns −3.8% | 653 ns +0.3% | 646 ns −1.0% |
| anim: delay() (no channels touched) [gpu] | 414 ns | 408 ns −1.6% | 411 ns +0.9% | 426 ns +3.6% | 411 ns −3.6% | 412 ns +0.2% | 410 ns −0.3% |
| anim: controls (v4 only) [pause + resume] | 452 ns | 449 ns −0.7% | 479 ns +6.7% | 458 ns −4.3% | 456 ns −0.5% | 466 ns +2.3% | 463 ns −0.6% |
| anim: controls (v4 only) [reverse] | 903 ns | 849 ns −6.0% | 905 ns +6.6% | 896 ns −1.0% | 873 ns −2.6% | 877 ns +0.5% | 893 ns +1.8% |
| anim: viewport animate + stop [v3] | 558 ns | 545 ns −2.3% | 575 ns +5.4% | 575 ns +0.0% | 572 ns −0.5% | 553 ns −3.3% | 558 ns +0.9% |
| anim: viewport animate + stop [gpu] | 201 ns | 193 ns −4.0% | 189 ns −2.1% | 191 ns +1.1% | 198 ns +3.7% | 203 ns +2.1% | 194 ns −4.1% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| id index: set x 2000 (build) [gpu] | 283 µs | 285 µs +0.6% | 290 µs +1.8% | 264 µs −8.9% | 269 µs +2.1% | 262 µs −2.9% | 263 µs +0.5% |
| id index: single-key operations [get (probe)] | 57.5 ns | 57.3 ns −0.5% | 63.0 ns +10% | 65.8 ns +4.4% | 66.0 ns +0.2% | 66.6 ns +0.9% | 66.1 ns −0.7% |
| id index: single-key operations [has] | 51.3 ns | 51.0 ns −0.6% | 54.9 ns +7.8% | 51.6 ns −6.1% | 51.2 ns −0.7% | 51.0 ns −0.5% | 50.9 ns −0.1% |
| id index: single-key operations [idAt (memoized hit)] | 9.02 ns | 8.97 ns −0.6% | 8.97 ns +0.0% | 9.02 ns +0.5% | 8.97 ns −0.5% | 8.99 ns +0.2% | 8.96 ns −0.3% |
| id index: single-key operations [hashAt] | 7.01 ns | 6.97 ns −0.5% | 7.01 ns +0.5% | 7.01 ns +0.1% | 6.98 ns −0.4% | 7.02 ns +0.5% | 6.98 ns −0.6% |
| id index: remove + re-set (churn, drives the round-11 reclaim) [gpu] | 232 ns | 235 ns +1.3% | 232 ns −1.1% | 232 ns −0.0% | 231 ns −0.4% | 232 ns +0.3% | 231 ns −0.5% |
| adjacency: rebuild (4000 edges, two counting passes) [gpu] | 56.2 µs | 56.8 µs +1.1% | 57.2 µs +0.7% | 39.1 µs −31.6% | 39.1 µs +0.1% | 39.0 µs −0.5% | 39.2 µs +0.5% |
| adjacency: reads [outDegree (O(1))] | 6.19 ns | 6.24 ns +0.7% | 6.22 ns −0.3% | 6.26 ns +0.8% | 6.16 ns −1.7% | 6.11 ns −0.8% | 6.16 ns +0.8% |
| adjacency: reads [outEdges] | 45.0 ns | 45.4 ns +0.7% | 44.6 ns −1.7% | 45.2 ns +1.4% | 44.7 ns −1.2% | 45.1 ns +1.0% | 44.9 ns −0.4% |
| adjacency: reads [connectedEdges] | 124 ns | 119 ns −4.4% | 118 ns −0.8% | 117 ns −0.6% | 118 ns +0.5% | 119 ns +0.9% | 117 ns −1.1% |
| adjacency: addEdge + removeEdge (the overlay path) [gpu] | 137 ns | 137 ns −0.0% | 135 ns −0.9% | 140 ns +3.8% | 143 ns +1.6% | 140 ns −1.7% | 143 ns +1.9% |
| blob: write x 2000 (build) [gpu] | 103 µs | 105 µs +2.0% | 103 µs −1.7% | 104 µs +1.0% | 105 µs +0.5% | 103 µs −1.8% | 104 µs +0.9% |
| blob: single-record operations [rewrite in place (same length)] | 29.9 ns | 29.9 ns −0.2% | 30.3 ns +1.6% | 29.7 ns −2.1% | 30.1 ns +1.3% | 29.8 ns −1.0% | 29.5 ns −1.0% |
| blob: single-record operations [offsetOf] | 4.25 ns | 4.24 ns −0.2% | 4.28 ns +1.1% | 4.28 ns −0.0% | 4.37 ns +2.1% | 4.24 ns −2.9% | 4.24 ns +0.0% |
| blob: single-record operations [free + rewrite] | 149 ns | 153 ns +2.6% | 152 ns −0.6% | 152 ns +0.4% | 155 ns +1.5% | 151 ns −2.3% | 151 ns −0.1% |
| dirty: mark (per-write span coalescing) [contiguous marks] | 12.8 ns | 12.8 ns +0.4% | 13.0 ns +1.4% | 12.8 ns −1.1% | 12.9 ns +0.4% | 12.8 ns −0.8% | 12.7 ns −0.4% |
| dirty: mark (per-write span coalescing) [scattered marks] | 17.8 ns | 17.7 ns −0.5% | 18.1 ns +2.2% | 17.8 ns −2.0% | 17.8 ns +0.1% | 17.7 ns −0.4% | 17.7 ns +0.1% |
| dirty: take (a frame's drain) [gpu] | 598 ns | 590 ns −1.4% | 594 ns +0.7% | 598 ns +0.8% | 598 ns −0.1% | 590 ns −1.3% | 587 ns −0.4% |
| images: registry bookkeeping [acquire (existing url)] | 201 ns | 204 ns +1.5% | 210 ns +2.9% | 205 ns −2.4% | 203 ns −0.9% | 206 ns +1.5% | 202 ns −2.1% |
| images: registry bookkeeping [acquire (new url) + release] | 534 ns | 534 ns −0.1% | 534 ns −0.0% | 535 ns +0.2% | 533 ns −0.3% | 533 ns +0.0% | 531 ns −0.5% |
| charts: sheet apply, chart vs no chart [no chart] | 10.4 ms | 10.4 ms −0.6% | 10.3 ms −1.1% | 2.22 ms −78.3% | 2.28 ms +2.5% | 2.26 ms −0.9% | 2.21 ms −1.9% |
| charts: sheet apply, chart vs no chart [pie from data (blob record per node)] | 10.9 ms | 11.0 ms +0.7% | 10.9 ms −0.6% | 2.69 ms −75.4% | 2.72 ms +1.3% | 2.69 ms −1.4% | 2.65 ms −1.3% |
| charts: data write refreshing chart-values [gpu] | 2.43 ms | 2.37 ms −2.2% | 2.48 ms +4.4% | 1.49 ms −39.8% | 1.49 ms −0.4% | 1.48 ms −0.1% | 1.48 ms −0.1% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| viewport: zoom() get [v3] | 5.70 ns | 5.58 ns −2.0% | 5.72 ns +2.4% | 5.63 ns −1.5% | 5.59 ns −0.7% | 5.61 ns ⋮ harness | 5.68 ns +1.3% |
| viewport: zoom() get [gpu] | 1.21 ns | 1.21 ns −0.1% | 1.21 ns +0.1% | 1.21 ns +0.0% | 1.21 ns −0.0% | 1.21 ns ⋮ harness | 1.21 ns −0.0% |
| viewport: zoom( n ) set [v3] | 620 ns | 639 ns +3.0% | 621 ns −2.7% | 612 ns −1.5% | 602 ns −1.6% | 615 ns ⋮ harness | 606 ns −1.4% |
| viewport: zoom( n ) set [gpu] | 344 ns | 321 ns −6.6% | 326 ns +1.5% | 321 ns −1.5% | 326 ns +1.6% | 329 ns ⋮ harness | 326 ns −0.8% |
| viewport: pan() get [v3] | 5.27 ns | 5.27 ns −0.0% | 5.27 ns +0.0% | 5.43 ns +2.9% | 5.39 ns −0.7% | 5.75 ns ⋮ harness | 6.94 ns +21% |
| viewport: pan() get [gpu] | 4.86 ns | 4.86 ns −0.0% | 5.01 ns +3.1% | 4.96 ns −1.0% | 4.91 ns −1.1% | 4.86 ns ⋮ harness | 4.92 ns +1.0% |
| viewport: pan( p ) set [v3] | 661 ns | 635 ns −3.9% | 647 ns +1.9% | 611 ns −5.5% | 610 ns −0.1% | 607 ns ⋮ harness | 594 ns −2.1% |
| viewport: pan( p ) set [gpu] | 339 ns | 345 ns +1.6% | 330 ns −4.3% | 342 ns +3.7% | 331 ns −3.3% | 326 ns ⋮ harness | 331 ns +1.6% |
| viewport: panBy() [v3] | 615 ns | 602 ns −2.2% | 598 ns −0.6% | 566 ns −5.3% | 561 ns −1.0% | 587 ns ⋮ harness | 590 ns +0.7% |
| viewport: panBy() [gpu] | 356 ns | 354 ns −0.7% | 326 ns −7.8% | 344 ns +5.6% | 343 ns −0.3% | 348 ns ⋮ harness | 345 ns −0.9% |
| viewport: extent() [v3] | 30.6 ns | 29.6 ns −3.2% | 29.2 ns −1.3% | 29.7 ns +1.5% | 29.3 ns −1.2% | 29.4 ns ⋮ harness | 30.0 ns +2.0% |
| viewport: extent() [gpu] | 19.3 ns | 19.4 ns +0.7% | 19.3 ns −0.8% | 19.8 ns +2.8% | 19.5 ns −1.6% | 19.3 ns ⋮ harness | 19.3 ns +0.1% |
| viewport: renderedExtent() [v3] | 27.2 ns | 27.0 ns −1.1% | 27.4 ns +1.7% | 27.0 ns −1.6% | 26.8 ns −0.8% | 27.1 ns ⋮ harness | 27.1 ns +0.3% |
| viewport: renderedExtent() [gpu] | 16.5 ns | 16.3 ns −1.2% | 16.3 ns −0.1% | 16.5 ns +1.4% | 17.0 ns +2.8% | 16.5 ns ⋮ harness | 16.4 ns −0.7% |
| viewport: width() + height() + size() (3 calls) [v3] | 20.9 ns | 21.7 ns +3.7% | 20.9 ns −3.7% | 21.1 ns +0.7% | 20.9 ns −0.9% | 20.8 ns ⋮ harness | 21.4 ns +2.5% |
| viewport: width() + height() + size() (3 calls) [gpu] | 7.27 ns | 5.55 ns −23.7% | 7.39 ns +33% | 7.18 ns −2.8% | 5.55 ns −22.8% | 5.58 ns ⋮ harness | 5.55 ns −0.5% |
| viewport: minZoom/maxZoom get (2 calls) [v3] | 14.7 ns | 14.6 ns −0.6% | 15.0 ns +2.6% | 14.8 ns −1.4% | 14.8 ns +0.1% | 14.7 ns ⋮ harness | 14.8 ns +0.8% |
| viewport: minZoom/maxZoom get (2 calls) [gpu] | 0.999 ns | 0.999 ns −0.1% | 0.999 ns +0.0% | 0.999 ns +0.0% | 0.999 ns +0.0% | 0.998 ns ⋮ harness | 0.999 ns +0.1% |
| viewport: center( eles ) [v3] | 121 µs | 117 µs −3.2% | 120 µs +2.7% | 117 µs −2.7% | 122 µs +4.3% | 117 µs ⋮ harness | 119 µs +2.1% |
| viewport: center( eles ) [gpu] | 6.19 µs | 6.20 µs +0.2% | 6.20 µs −0.1% | 6.57 µs +6.1% | 6.51 µs −0.9% | 6.68 µs ⋮ harness | 6.20 µs −7.2% |
| viewport: reset() [v3] | 1.07 µs | 974 ns −8.6% | 931 ns −4.4% | 938 ns +0.7% | 927 ns −1.2% | 935 ns ⋮ harness | 939 ns +0.4% |
| viewport: reset() [gpu] | 8.83 ns | 8.91 ns +0.9% | 8.76 ns −1.7% | 8.96 ns +2.3% | 8.95 ns −0.2% | 8.76 ns ⋮ harness | 8.81 ns +0.6% |
| viewport: viewport({ zoom, pan }) [v3] | 1.01 µs | 970 ns −3.8% | 928 ns −4.4% | 939 ns +1.2% | 929 ns −1.1% | 920 ns ⋮ harness | 933 ns +1.4% |
| viewport: viewport({ zoom, pan }) [gpu] | 15.8 ns | 15.8 ns +0.1% | 15.9 ns +0.1% | 16.0 ns +0.7% | 15.9 ns −0.5% | 15.8 ns ⋮ harness | 16.2 ns +2.7% |
| viewport: getCenterPan( eles ) [gpu] | 6.26 µs | 6.31 µs +0.9% | 6.21 µs −1.7% | 6.59 µs +6.1% | 6.62 µs +0.4% | 6.60 µs ⋮ harness | 6.10 µs −7.6% |
| core: instanceString + headless + styleEnabled (3 calls) [v3] | 32.9 ns | 32.8 ns −0.3% | 32.2 ns −1.7% | 32.6 ns +1.3% | 32.3 ns −0.9% | 32.2 ns ⋮ harness | 32.1 ns −0.5% |
| core: instanceString + headless + styleEnabled (3 calls) [gpu] | 26.3 ns | 25.8 ns −1.7% | 26.0 ns +0.5% | 25.8 ns −0.7% | 25.8 ns +0.0% | 26.3 ns ⋮ harness | 25.7 ns −2.0% |
| core: hasElementWithId + hasCompoundNodes (2 calls) [v3] | 40.5 ns | 42.7 ns +5.4% | 37.5 ns −12.3% | 39.3 ns +4.9% | 35.8 ns −8.8% | 38.4 ns ⋮ harness | 37.6 ns −2.3% |
| core: hasElementWithId + hasCompoundNodes (2 calls) [gpu] | 31.8 ns | 31.5 ns −0.9% | 31.5 ns +0.2% | 33.0 ns +4.6% | 32.0 ns −3.1% | 32.8 ns ⋮ harness | 31.8 ns −3.1% |
| core: options() [v3] | 91.5 ns | 89.8 ns −1.9% | 90.6 ns +0.9% | 93.4 ns +3.2% | 90.6 ns −3.0% | 90.9 ns ⋮ harness | 91.1 ns +0.2% |
| core: options() [gpu] | 1.07 ns | 1.07 ns −0.1% | 1.07 ns +0.0% | 1.07 ns +0.3% | 1.07 ns −0.3% | 1.07 ns ⋮ harness | 1.07 ns +0.0% |
| core: mutableElements() (v4 materializes; v3 is O(1)) [v3] | 3.19 ns | 3.19 ns −0.1% | 3.26 ns +2.3% | 3.19 ns −2.2% | 3.19 ns −0.0% | – | – |
| core: mutableElements() (v4 materializes; v3 is O(1)) [gpu] | 2.35 ns | 2.35 ns −0.0% | 2.35 ns +0.0% | 2.35 ns −0.0% | 2.35 ns −0.0% | – | – |
| core: gating getters (5 calls) [v3] | 15.7 ns | 15.6 ns −0.2% | 15.2 ns −3.1% | 15.7 ns +3.4% | 15.5 ns −1.3% | 15.6 ns ⋮ harness | 15.6 ns +0.0% |
| core: gating getters (5 calls) [gpu] | 13.5 ns | 13.8 ns +1.8% | 13.6 ns −1.0% | 13.3 ns −2.6% | 13.5 ns +1.6% | 13.3 ns ⋮ harness | 13.5 ns +1.0% |
| core: gating setters round-trip (autolock/autoungrabify/autounselectify) [v3] | 11.2 ns | 11.2 ns −0.0% | 11.3 ns +0.5% | 11.4 ns +1.7% | 11.2 ns −2.4% | 11.2 ns ⋮ harness | 11.2 ns −0.0% |
| core: gating setters round-trip (autolock/autoungrabify/autounselectify) [gpu] | 6.06 ns | 6.00 ns −0.9% | 6.01 ns +0.1% | 6.03 ns +0.4% | 6.00 ns −0.5% | 6.00 ns ⋮ harness | 6.01 ns +0.0% |
| core: interaction tuning getters (5 calls) [gpu] | 7.15 ns | 7.30 ns +2.1% | 7.30 ns +0.0% | 7.26 ns −0.6% | 7.25 ns −0.1% | 7.30 ns ⋮ harness | 7.30 ns −0.0% |
| core: graph data() set + get (v3 restyles the graph) [v3] | 2.78 ms | 2.81 ms +1.3% | 2.84 ms +0.9% | 2.68 ms −5.7% | 2.74 ms +2.5% | 2.76 ms ⋮ harness | 2.84 ms +3.2% |
| core: graph data() set + get (v3 restyles the graph) [gpu] | 322 ns | 340 ns +5.4% | 335 ns −1.5% | 329 ns −1.8% | 330 ns +0.5% | 329 ns ⋮ harness | 328 ns −0.0% |
| core: graph scratch() set + get (v3 restyles the graph) [v3] | 2.79 ms | 2.83 ms +1.4% | 2.86 ms +0.9% | 2.71 ms −5.2% | 2.77 ms +2.4% | 2.79 ms ⋮ harness | 2.74 ms −1.9% |
| core: graph scratch() set + get (v3 restyles the graph) [gpu] | 168 ns | 166 ns −1.4% | 167 ns +0.5% | 165 ns −1.0% | 166 ns +0.4% | 169 ns ⋮ harness | 169 ns +0.1% |
| core: batch( fn ) (empty) [v3] | 567 ns | 542 ns −4.4% | 532 ns −1.8% | 533 ns +0.2% | 533 ns −0.1% | 545 ns ⋮ harness | 524 ns −3.9% |
| core: batch( fn ) (empty) [gpu] | 83.9 ns | 82.9 ns −1.2% | 83.9 ns +1.2% | 84.9 ns +1.1% | 83.7 ns −1.3% | 82.6 ns ⋮ harness | 83.7 ns +1.2% |
| core: startBatch + endBatch + batching [v3] | 532 ns | 523 ns −1.8% | 516 ns −1.4% | 530 ns +2.8% | 540 ns +1.8% | 537 ns ⋮ harness | 526 ns −2.1% |
| core: startBatch + endBatch + batching [gpu] | 91.3 ns | 89.7 ns −1.7% | 90.1 ns +0.3% | 89.6 ns −0.5% | 90.4 ns +0.8% | 90.7 ns ⋮ harness | 89.8 ns −0.9% |
| core: collection() [v3] | 446 ns | 452 ns +1.4% | 476 ns +5.2% | 448 ns −5.8% | 451 ns +0.7% | 447 ns ⋮ harness | 451 ns +0.9% |
| core: collection() [gpu] | 61.7 ns | 62.0 ns +0.5% | 59.9 ns −3.3% | 62.0 ns +3.4% | 64.6 ns +4.2% | 62.1 ns ⋮ harness | 62.4 ns +0.5% |
| core: compact() (no dead slots — the early-out) [gpu] | 16.9 µs | 16.9 µs +0.3% | 16.9 µs +0.0% | 17.0 µs +0.2% | 16.7 µs −1.4% | 16.7 µs ⋮ harness | 16.9 µs +0.8% |
| collection: element accessors (id/group/isNode/isEdge, 4 calls) [v3] | 60.6 ns | 60.6 ns −0.1% | 60.6 ns +0.1% | 60.8 ns +0.3% | 60.6 ns −0.4% | 60.1 ns ⋮ harness | 60.5 ns +0.6% |
| collection: element accessors (id/group/isNode/isEdge, 4 calls) [gpu] | 33.8 ns | 34.6 ns +2.1% | 34.7 ns +0.5% | 34.5 ns −0.7% | 34.8 ns +0.7% | 34.5 ns ⋮ harness | 34.3 ns −0.8% |
| collection: length + empty + nonempty (3 calls) [v3] | 6.60 ns | 6.78 ns +2.8% | 6.72 ns −1.0% | 6.72 ns +0.0% | 6.68 ns −0.6% | 6.70 ns ⋮ harness | 6.66 ns −0.6% |
| collection: length + empty + nonempty (3 calls) [gpu] | 1.47 ns | 1.47 ns −0.0% | 1.47 ns +0.0% | 1.47 ns +0.1% | 1.47 ns −0.0% | 1.47 ns ⋮ harness | 1.47 ns +0.0% |
| collection: eq/first/last (3 calls) [v3] | 15.1 ns | 15.3 ns +1.0% | 15.4 ns +0.6% | 15.2 ns −1.3% | 15.2 ns −0.0% | 15.1 ns ⋮ harness | 15.2 ns +0.5% |
| collection: eq/first/last (3 calls) [gpu] | 8.24 ns | 8.24 ns +0.0% | 6.50 ns −21.1% | 6.64 ns +2.2% | 8.09 ns +22% | 8.24 ns ⋮ harness | 8.30 ns +0.7% |
| collection: slice() [v3] | 3.80 µs | 3.81 µs +0.2% | 3.87 µs +1.6% | 3.73 µs −3.5% | 3.71 µs −0.6% | 3.73 µs ⋮ harness | 3.83 µs +2.6% |
| collection: slice() [gpu] | 1.79 µs | 1.73 µs −3.3% | 1.72 µs −0.2% | 1.72 µs −0.0% | 1.70 µs −1.1% | 1.71 µs ⋮ harness | 1.70 µs −0.6% |
| collection: toArray() [v3] | 8.92 µs | 8.85 µs −0.7% | 8.79 µs −0.7% | 8.85 µs +0.7% | 8.80 µs −0.6% | 8.94 µs ⋮ harness | 8.66 µs −3.2% |
| collection: toArray() [gpu] | 751 ns | 759 ns +1.0% | 746 ns −1.7% | 757 ns +1.5% | 754 ns −0.4% | 739 ns ⋮ harness | 734 ns −0.6% |
| collection: sort( fn ) [v3] | 14.1 µs | 14.5 µs +2.9% | 14.6 µs +0.8% | 14.7 µs +0.8% | 14.2 µs −3.3% | 14.2 µs ⋮ harness | 14.1 µs −0.6% |
| collection: sort( fn ) [gpu] | 8.97 µs | 9.08 µs +1.3% | 9.10 µs +0.2% | 9.10 µs +0.0% | 9.06 µs −0.4% | 8.97 µs ⋮ harness | 9.02 µs +0.6% |
| collection: reduce( fn ) [v3] | 157 ns | 157 ns −0.2% | 157 ns −0.0% | 157 ns +0.2% | 157 ns +0.3% | 156 ns ⋮ harness | 157 ns +0.3% |
| collection: reduce( fn ) [gpu] | 113 ns | 112 ns −1.3% | 114 ns +1.9% | 112 ns −2.0% | 112 ns +0.2% | 111 ns ⋮ harness | 114 ns +1.8% |
| collection: min + max ( fn ) (2 calls) [v3] | 11.3 µs | 11.0 µs −2.4% | 11.1 µs +0.4% | 11.3 µs +1.8% | 11.0 µs −2.7% | 10.9 µs ⋮ harness | 11.1 µs +1.6% |
| collection: min + max ( fn ) (2 calls) [gpu] | 5.56 µs | 5.64 µs +1.3% | 5.67 µs +0.6% | 5.60 µs −1.3% | 5.60 µs +0.1% | 5.54 µs ⋮ harness | 5.49 µs −1.0% |
| collection: some + every (2 calls) [v3] | 887 ns | 894 ns +0.8% | 885 ns −1.0% | 894 ns +1.0% | 894 ns +0.0% | 887 ns ⋮ harness | 878 ns −1.0% |
| collection: some + every (2 calls) [gpu] | 565 ns | 557 ns −1.4% | 551 ns −1.1% | 551 ns +0.0% | 562 ns +2.0% | 559 ns ⋮ harness | 554 ns −1.0% |
| collection: same + anySame + contains (3 calls) [v3] | 7.28 µs | 7.50 µs +3.1% | 7.71 µs +2.8% | 7.58 µs −1.7% | 7.33 µs −3.3% | 7.49 µs ⋮ harness | 7.20 µs −3.8% |
| collection: same + anySame + contains (3 calls) [gpu] | 101 ns | 99.5 ns −1.2% | 100 ns +0.8% | 101 ns +1.1% | 100 ns −0.9% | 102 ns ⋮ harness | 101 ns −1.7% |
| collection: allAre (all match: the full walk) [v3] | 3.75 µs | 3.63 µs −3.1% | 3.68 µs +1.3% | 3.64 µs −0.9% | 3.66 µs +0.4% | 3.61 µs ⋮ harness | 3.65 µs +1.2% |
| collection: allAre (all match: the full walk) [gpu] | 2.47 µs | 2.48 µs +0.4% | 2.45 µs −1.3% | 2.34 µs −4.2% | 2.45 µs +4.6% | 2.56 µs ⋮ harness | 2.46 µs −4.0% |
| collection: is (none match: the full walk) [v3] | 5.65 µs | 5.73 µs +1.4% | 5.58 µs −2.6% | 5.67 µs +1.6% | 5.66 µs −0.1% | 5.59 µs ⋮ harness | 5.53 µs −1.1% |
| collection: is (none match: the full walk) [gpu] | 2.62 µs | 2.29 µs −12.6% | 2.37 µs +3.7% | 2.27 µs −4.5% | 2.38 µs +5.1% | 2.50 µs ⋮ harness | 2.36 µs −5.7% |
| collection: union [v3] | 94.7 µs | 95.4 µs +0.7% | 92.8 µs −2.7% | 98.3 µs +5.9% | 95.3 µs −3.0% | 96.6 µs ⋮ harness | 93.8 µs −2.9% |
| collection: union [gpu] | 15.1 µs | 15.1 µs −0.1% | 16.2 µs +7.8% | 16.4 µs +1.2% | 16.2 µs −1.3% | 16.3 µs ⋮ harness | 16.4 µs +0.5% |
| collection: intersection [v3] | 89.7 µs | 92.5 µs +3.1% | 90.9 µs −1.7% | 93.5 µs +2.8% | 90.4 µs −3.2% | 92.2 µs ⋮ harness | 92.8 µs +0.7% |
| collection: intersection [gpu] | 3.31 µs | 3.31 µs −0.1% | 3.17 µs −4.3% | 3.21 µs +1.3% | 3.20 µs −0.3% | 3.21 µs ⋮ harness | 3.21 µs +0.1% |
| collection: difference [v3] | 90.5 µs | 92.6 µs +2.3% | 92.1 µs −0.5% | 93.0 µs +1.0% | 92.3 µs −0.8% | 93.6 µs ⋮ harness | 91.6 µs −2.2% |
| collection: difference [gpu] | 3.25 µs | 3.27 µs +0.6% | 3.20 µs −1.9% | 3.16 µs −1.4% | 3.16 µs +0.1% | 3.20 µs ⋮ harness | 3.18 µs −0.5% |
| collection: symmetricDifference [v3] | 24.7 µs | 25.4 µs +2.8% | 25.3 µs −0.3% | 24.6 µs −2.7% | 25.7 µs +4.3% | 24.9 µs ⋮ harness | 24.7 µs −0.8% |
| collection: symmetricDifference [gpu] | 6.73 µs | 6.76 µs +0.4% | 6.62 µs −2.0% | 6.58 µs −0.7% | 6.67 µs +1.4% | 6.69 µs ⋮ harness | 6.50 µs −2.8% |
| collection: absoluteComplement [v3] | 6.03 ms | 6.19 ms +2.7% | 6.04 ms −2.5% | 6.23 ms +3.2% | 6.37 ms +2.1% | 6.34 ms ⋮ harness | 6.01 ms −5.1% |
| collection: absoluteComplement [gpu] | 462 µs | 462 µs +0.1% | 417 µs −9.9% | 410 µs −1.6% | 409 µs −0.1% | 407 µs ⋮ harness | 408 µs +0.3% |
| collection: byGroup [v3] | 979 µs | 998 µs +1.9% | 1.01 ms +1.4% | 995 µs −1.7% | 1.00 ms +1.0% | 1.01 ms ⋮ harness | 1.00 ms −0.8% |
| collection: byGroup [gpu] | 380 µs | 375 µs −1.3% | 334 µs −11.1% | 328 µs −1.6% | 326 µs −0.7% | 322 µs ⋮ harness | 326 µs +1.4% |
| collection: diff [v3] | 34.5 µs | 37.6 µs +9.1% | 37.2 µs −1.0% | 37.3 µs +0.2% | 37.7 µs +1.1% | 36.4 µs ⋮ harness | 35.5 µs −2.5% |
| collection: diff [gpu] | 11.8 µs | 11.8 µs −0.3% | 11.4 µs −3.3% | 11.3 µs −0.8% | 11.4 µs +0.8% | 11.6 µs ⋮ harness | 11.5 µs −0.9% |
| collection: indexOf [v3] | 32.7 ns | 29.9 ns −8.4% | 28.7 ns −4.1% | 34.9 ns +22% | 31.6 ns −9.5% | 32.2 ns ⋮ harness | 31.6 ns −2.0% |
| collection: indexOf [gpu] | 23.2 ns | 23.2 ns −0.1% | 23.2 ns +0.1% | 23.4 ns +0.6% | 23.4 ns +0.2% | 23.4 ns ⋮ harness | 23.4 ns −0.0% |
| traversal: openNeighborhood + closedNeighborhood (2 calls) [v3] | 9.45 µs | 9.24 µs −2.2% | 9.71 µs +5.1% | 9.54 µs −1.7% | 9.45 µs −1.0% | 9.33 µs ⋮ harness | 9.30 µs −0.3% |
| traversal: openNeighborhood + closedNeighborhood (2 calls) [gpu] | 3.22 µs | 3.25 µs +0.9% | 3.28 µs +1.0% | 3.25 µs −1.0% | 3.17 µs −2.6% | 3.16 µs ⋮ harness | 3.21 µs +1.7% |
| traversal: connectedNodes [v3] | 984 ns | 979 ns −0.5% | 1.13 µs +15% | 1.02 µs −9.4% | 1.01 µs −0.9% | 970 ns ⋮ harness | 1.01 µs +3.7% |
| traversal: connectedNodes [gpu] | 301 ns | 298 ns −0.9% | 303 ns +1.5% | 311 ns +2.8% | 301 ns −3.4% | 303 ns ⋮ harness | 300 ns −0.7% |
| traversal: sources + targets (2 calls) [v3] | 1.74 µs | 1.73 µs −0.5% | 1.74 µs +0.1% | 1.77 µs +2.1% | 1.69 µs −4.8% | 1.72 µs ⋮ harness | 1.72 µs +0.3% |
| traversal: sources + targets (2 calls) [gpu] | 513 ns | 525 ns +2.3% | 514 ns −2.0% | 528 ns +2.6% | 520 ns −1.4% | 539 ns ⋮ harness | 508 ns −5.7% |
| traversal: source() + target() (2 calls) [v3] | 71.6 ns | 72.6 ns +1.4% | 75.6 ns +4.2% | 77.4 ns +2.3% | 77.3 ns −0.1% | 74.7 ns ⋮ harness | 71.9 ns −3.8% |
| traversal: source() + target() (2 calls) [gpu] | 56.5 ns | 57.0 ns +0.9% | 56.5 ns −0.8% | 57.3 ns +1.3% | 56.8 ns −0.8% | 56.2 ns ⋮ harness | 56.0 ns −0.4% |
| traversal: edgesWith [v3] | 68.1 µs | 71.2 µs +4.6% | 69.9 µs −1.8% | 68.3 µs −2.3% | 67.7 µs −0.8% | 68.8 µs ⋮ harness | 67.6 µs −1.7% |
| traversal: edgesWith [gpu] | 56.2 µs | 57.1 µs +1.6% | 57.7 µs +1.1% | 53.5 µs −7.3% | 53.2 µs −0.7% | 53.3 µs ⋮ harness | 54.0 µs +1.3% |
| traversal: edgesTo [v3] | 68.6 µs | 72.7 µs +6.0% | 70.2 µs −3.4% | 68.2 µs −2.9% | 67.6 µs −0.9% | 69.7 µs ⋮ harness | 68.8 µs −1.4% |
| traversal: edgesTo [gpu] | 58.8 µs | 58.7 µs −0.3% | 59.5 µs +1.5% | 53.2 µs −10.6% | 53.7 µs +0.9% | 53.1 µs ⋮ harness | 53.8 µs +1.3% |
| traversal: parallelEdges + codirectedEdges (2 calls) [v3] | 3.57 µs | 3.52 µs −1.3% | 3.52 µs +0.0% | 3.75 µs +6.4% | 3.59 µs −4.2% | 3.56 µs ⋮ harness | 3.52 µs −1.2% |
| traversal: parallelEdges + codirectedEdges (2 calls) [gpu] | 1.07 µs | 1.15 µs +7.1% | 1.21 µs +5.0% | 1.08 µs −10.3% | 988 ns −8.7% | 1.04 µs ⋮ harness | 1.05 µs +0.9% |
| traversal: roots + leaves (2 calls) [v3] | 5.15 ms | 4.99 ms −2.9% | 5.75 ms +15% | 5.05 ms −12.1% | 5.04 ms −0.3% | 4.88 ms ⋮ harness | 5.17 ms +6.0% |
| traversal: roots + leaves (2 calls) [gpu] | 345 µs | 342 µs −1.1% | 342 µs +0.2% | 387 µs +13% | 392 µs +1.2% | 389 µs ⋮ harness | 386 µs −0.8% |
| traversal: allAreNeighbors [v3] | 198 µs | 195 µs −1.1% | 199 µs +1.6% | 198 µs −0.4% | 202 µs +2.3% | 198 µs ⋮ harness | 194 µs −2.1% |
| traversal: allAreNeighbors [gpu] | 38.9 µs | 38.7 µs −0.4% | 38.6 µs −0.4% | 37.3 µs −3.2% | 37.3 µs −0.1% | 37.2 µs ⋮ harness | 37.2 µs −0.2% |
| traversal: isLoop + isSimple (2 calls) [v3] | 126 ns | 127 ns +0.5% | 132 ns +3.8% | 156 ns +19% | 135 ns −13.8% | 131 ns ⋮ harness | 128 ns −2.5% |
| traversal: isLoop + isSimple (2 calls) [gpu] | 53.9 ns | 51.2 ns −5.0% | 53.5 ns +4.6% | 50.3 ns −6.0% | 58.7 ns +17% | 49.3 ns ⋮ harness | 49.4 ns +0.2% |
| degree: indegree + outdegree (2 calls) [v3] | 3.50 µs | 3.52 µs +0.6% | 3.35 µs −4.6% | 3.59 µs +7.1% | 3.51 µs −2.4% | 3.53 µs ⋮ harness | 3.43 µs −2.9% |
| degree: indegree + outdegree (2 calls) [gpu] | 48.8 ns | 50.1 ns +2.7% | 49.0 ns −2.3% | 46.8 ns −4.5% | 46.4 ns −0.8% | 46.4 ns ⋮ harness | 46.0 ns −0.9% |
| degree: minDegree + maxDegree (2 calls) [v3] | 15.7 ms | 17.9 ms +14% | 15.9 ms −10.9% | 16.3 ms +2.4% | 16.4 ms +0.5% | 15.9 ms ⋮ harness | 15.9 ms −0.0% |
| degree: minDegree + maxDegree (2 calls) [gpu] | 453 µs | 443 µs −2.1% | 441 µs −0.6% | 370 µs −16.1% | 388 µs +4.9% | 368 µs ⋮ harness | 364 µs −1.3% |
| degree: minIndegree + maxOutdegree (2 calls) [v3] | 9.30 ms | 9.16 ms −1.5% | 8.91 ms −2.8% | 9.22 ms +3.5% | 9.17 ms −0.5% | 9.07 ms ⋮ harness | 8.95 ms −1.4% |
| degree: minIndegree + maxOutdegree (2 calls) [gpu] | 434 µs | 426 µs −1.6% | 423 µs −0.7% | 359 µs −15.1% | 376 µs +4.8% | 357 µs ⋮ harness | 355 µs −0.5% |
| dimensions: renderedPosition get [v3] | 74.1 ns | 67.2 ns −9.4% | 74.8 ns +11% | 73.7 ns −1.4% | 74.5 ns +1.1% | 73.8 ns ⋮ harness | 69.4 ns −5.9% |
| dimensions: renderedPosition get [gpu] | 29.5 ns | 29.9 ns +1.4% | 29.3 ns −2.2% | 30.5 ns +4.2% | 29.8 ns −2.4% | 29.2 ns ⋮ harness | 30.3 ns +3.9% |
| dimensions: relativePosition get [v3] | 837 ns | 838 ns +0.0% | 858 ns +2.4% | 860 ns +0.2% | 838 ns −2.5% | 832 ns ⋮ harness | 842 ns +1.2% |
| dimensions: relativePosition get [gpu] | 72.5 ns | 73.6 ns +1.5% | 76.1 ns +3.5% | 76.1 ns +0.0% | 77.9 ns +2.3% | 79.4 ns ⋮ harness | 73.2 ns −7.8% |
| dimensions: width + height + outerWidth + outerHeight (4 calls) [v3] | 594 ns | 604 ns +1.7% | 617 ns +2.2% | 618 ns +0.2% | 611 ns −1.1% | 615 ns ⋮ harness | 602 ns −2.1% |
| dimensions: width + height + outerWidth + outerHeight (4 calls) [gpu] | 242 ns | 232 ns −3.9% | 210 ns −9.6% | 232 ns +10% | 212 ns −8.6% | 219 ns ⋮ harness | 241 ns +9.8% |
| dimensions: rendered dims (4 calls) [v3] | 696 ns | 700 ns +0.6% | 717 ns +2.4% | 717 ns +0.1% | 707 ns −1.5% | 706 ns ⋮ harness | 687 ns −2.6% |
| dimensions: rendered dims (4 calls) [gpu] | 237 ns | 245 ns +3.4% | 216 ns −11.5% | 238 ns +10% | 228 ns −4.5% | 224 ns ⋮ harness | 249 ns +11% |
| dimensions: renderedBoundingBox [v3] | 1.74 µs | 1.73 µs −0.5% | 1.81 µs +4.3% | 1.79 µs −1.1% | 1.71 µs −4.0% | 1.69 µs ⋮ harness | 1.76 µs +4.3% |
| dimensions: renderedBoundingBox [gpu] | 911 ns | 933 ns +2.4% | 914 ns −2.0% | 926 ns +1.3% | 935 ns +0.9% | 926 ns ⋮ harness | 918 ns −0.9% |
| dimensions: midpoint + renderedMidpoint (2 calls) [gpu] | 1.10 µs | 1.22 µs +11% | 1.13 µs −7.8% | 1.17 µs +3.3% | 1.17 µs +0.5% | 1.17 µs ⋮ harness | 1.10 µs −6.7% |
| dimensions: source/targetEndpoint (2 calls) [gpu] | 381 ns | 405 ns +6.4% | 379 ns −6.4% | 386 ns +1.8% | 377 ns −2.4% | 380 ns ⋮ harness | 363 ns −4.4% |
| dimensions: rendered source/targetEndpoint (2 calls) [gpu] | 393 ns | 421 ns +7.1% | 389 ns −7.7% | 408 ns +5.0% | 399 ns −2.1% | 389 ns ⋮ harness | 384 ns −1.5% |
| dimensions: shift + silentShift (round-trip) [v3] | 291 µs | 293 µs +0.9% | 297 µs +1.2% | 292 µs −1.6% | 299 µs +2.3% | 289 µs ⋮ harness | 293 µs +1.5% |
| dimensions: shift + silentShift (round-trip) [gpu] | 4.85 µs | 4.77 µs −1.6% | 4.84 µs +1.4% | 4.82 µs −0.4% | 4.82 µs +0.1% | 4.82 µs ⋮ harness | 4.91 µs +1.9% |
| dimensions: silentPosition [v3] | 897 ns | 868 ns −3.2% | 850 ns −2.1% | 903 ns +6.2% | 874 ns −3.2% | 870 ns ⋮ harness | 873 ns +0.3% |
| dimensions: silentPosition [gpu] | 52.7 ns | 56.6 ns +7.3% | 55.8 ns −1.3% | 55.8 ns +0.1% | 56.6 ns +1.4% | 56.6 ns ⋮ harness | 53.2 ns −5.9% |
| dimensions: positions( fn ) over 100 [v3] | 169 µs | 175 µs +3.1% | 177 µs +1.3% | 178 µs +0.5% | 178 µs +0.1% | 175 µs ⋮ harness | 180 µs +2.8% |
| dimensions: positions( fn ) over 100 [gpu] | 3.06 µs | 3.05 µs −0.3% | 3.89 µs +28% | 3.54 µs −9.1% | 3.53 µs −0.2% | 3.48 µs ⋮ harness | 3.54 µs +1.6% |
| dimensions: padding + paddedWidth + paddedHeight (3 calls) [v3] | 1.99 µs | 2.02 µs +1.4% | 2.01 µs −0.5% | 2.03 µs +0.9% | 2.04 µs +0.3% | 2.02 µs ⋮ harness | 2.01 µs −0.3% |
| dimensions: padding + paddedWidth + paddedHeight (3 calls) [gpu] | 133 ns | 160 ns +20% | 142 ns −10.8% | 161 ns +13% | 153 ns −5.5% | 150 ns ⋮ harness | 162 ns +7.9% |
| curves: isBundledBezier [gpu] | 20.6 ns | 24.9 ns +21% | 20.5 ns −17.8% | 25.4 ns +24% | 33.5 ns +32% | 20.6 ns ⋮ harness | 20.7 ns +0.7% |
| curves: controlPoints + renderedControlPoints (2 calls) [gpu] | 525 ns | 545 ns +3.9% | 540 ns −1.0% | 532 ns −1.4% | 534 ns +0.4% | 527 ns ⋮ harness | 525 ns −0.3% |
| curves: segmentPoints (undefined for bezier) [gpu] | 33.2 ns | 41.9 ns +26% | 33.1 ns −21.0% | 41.9 ns +26% | 41.6 ns −0.7% | 33.4 ns ⋮ harness | 33.3 ns −0.3% |
| compound: parent + parents + ancestors (3 calls) [v3] | 3.03 µs | 2.89 µs −4.8% | 3.12 µs +8.0% | 3.06 µs −1.9% | 2.91 µs −4.7% | 2.99 µs ⋮ harness | 2.92 µs −2.3% |
| compound: parent + parents + ancestors (3 calls) [gpu] | 835 ns | 821 ns −1.6% | 802 ns −2.3% | 817 ns +1.8% | 792 ns −3.1% | 832 ns ⋮ harness | 802 ns −3.5% |
| compound: children + descendants + siblings (3 calls) [v3] | 8.78 µs | 9.05 µs +3.1% | 8.90 µs −1.7% | 8.79 µs −1.2% | 8.60 µs −2.2% | 8.53 µs ⋮ harness | 8.52 µs −0.2% |
| compound: children + descendants + siblings (3 calls) [gpu] | 1.93 µs | 1.83 µs −4.9% | 1.83 µs −0.3% | 1.83 µs −0.1% | 1.81 µs −0.9% | 1.82 µs ⋮ harness | 1.78 µs −2.1% |
| compound: orphans + nonorphans (2 calls) [v3] | 3.67 µs | 3.71 µs +1.0% | 3.71 µs −0.0% | 3.71 µs +0.1% | 3.67 µs −1.2% | 3.72 µs ⋮ harness | 3.64 µs −2.1% |
| compound: orphans + nonorphans (2 calls) [gpu] | 556 ns | 531 ns −4.7% | 528 ns −0.5% | 539 ns +2.1% | 523 ns −3.0% | 534 ns ⋮ harness | 517 ns −3.2% |
| compound: commonAncestors [v3] | 10.0 µs | 9.50 µs −5.3% | 9.72 µs +2.4% | 9.59 µs −1.4% | 9.61 µs +0.2% | 9.60 µs ⋮ harness | 9.40 µs −2.1% |
| compound: commonAncestors [gpu] | 76.7 ns | 74.5 ns −2.9% | 74.8 ns +0.5% | 77.1 ns +2.9% | 75.6 ns −1.8% | 75.3 ns ⋮ harness | 77.7 ns +3.2% |
| compound: isParent/isChild/isChildless/isOrphan (4 calls) [v3] | 71.7 ns | 70.5 ns −1.7% | 70.8 ns +0.4% | 70.6 ns −0.2% | 70.6 ns −0.1% | 71.7 ns ⋮ harness | 67.4 ns −6.1% |
| compound: isParent/isChild/isChildless/isOrphan (4 calls) [gpu] | 45.6 ns | 45.2 ns −0.7% | 46.2 ns +2.2% | 45.3 ns −1.9% | 45.1 ns −0.5% | 45.3 ns ⋮ harness | 45.4 ns +0.3% |
| flags: select + unselect + selected (band) [v3] | 193 µs | 197 µs +1.7% | 201 µs +2.0% | 181 µs −9.5% | 196 µs +7.8% | 193 µs ⋮ harness | 193 µs +0.3% |
| flags: select + unselect + selected (band) [gpu] | 12.9 µs | 12.3 µs −5.2% | 13.1 µs +6.8% | 12.1 µs −7.8% | 12.5 µs +3.6% | 12.4 µs ⋮ harness | 11.8 µs −4.9% |
| flags: selectify + unselectify + selectable [v3] | 195 µs | 197 µs +1.0% | 198 µs +0.8% | 181 µs −8.7% | 196 µs +8.3% | 194 µs ⋮ harness | 190 µs −1.7% |
| flags: selectify + unselectify + selectable [gpu] | 2.04 µs | 2.06 µs +0.8% | 2.03 µs −1.4% | 2.05 µs +1.1% | 2.03 µs −1.1% | 2.03 µs ⋮ harness | 2.02 µs −0.6% |
| flags: lock + unlock + locked [v3] | 189 µs | 195 µs +3.2% | 196 µs +0.8% | 179 µs −8.8% | 190 µs +5.9% | 191 µs ⋮ harness | 189 µs −1.0% |
| flags: lock + unlock + locked [gpu] | 2.05 µs | 2.06 µs +0.8% | 2.05 µs −0.7% | 2.04 µs −0.6% | 2.04 µs +0.2% | 2.04 µs ⋮ harness | 2.04 µs +0.2% |
| flags: grabify + ungrabify + grabbable [v3] | 190 µs | 199 µs +4.5% | 196 µs −1.3% | 178 µs −9.2% | 192 µs +7.8% | 195 µs ⋮ harness | 190 µs −2.5% |
| flags: grabify + ungrabify + grabbable [gpu] | 2.03 µs | 2.08 µs +2.5% | 2.04 µs −1.6% | 2.04 µs −0.3% | 2.03 µs −0.4% | 2.04 µs ⋮ harness | 2.02 µs −0.9% |
| flags: show + hide + visible [v3] | 2.58 ms | 2.61 ms +1.1% | 2.70 ms +3.8% | 2.57 ms −5.1% | 2.57 ms +0.1% | 2.61 ms ⋮ harness | 2.57 ms −1.8% |
| flags: show + hide + visible [gpu] | 11.5 µs | 12.5 µs +8.7% | 11.3 µs −9.7% | 11.3 µs +0.0% | 11.4 µs +0.5% | 11.3 µs ⋮ harness | 11.3 µs −0.4% |
| flags: active/activate/unactivate (3 calls) [v3] | 193 µs | 200 µs +3.7% | 196 µs −1.9% | 180 µs −8.3% | 196 µs +9.0% | 194 µs ⋮ harness | 191 µs −1.3% |
| flags: active/activate/unactivate (3 calls) [gpu] | 12.9 µs | 13.3 µs +2.9% | 11.9 µs −10.8% | 11.9 µs +0.8% | 13.1 µs +9.7% | 12.2 µs ⋮ harness | 12.0 µs −1.8% |
| flags: panify + unpanify + pannable [v3] | 192 µs | 199 µs +3.8% | 195 µs −1.9% | 182 µs −7.1% | 190 µs +4.6% | 195 µs ⋮ harness | 190 µs −2.2% |
| flags: panify + unpanify + pannable [gpu] | 2.02 µs | 2.05 µs +1.5% | 2.05 µs −0.2% | 2.03 µs −0.8% | 2.02 µs −0.8% | 2.01 µs ⋮ harness | 2.01 µs +0.3% |
| flags: takesUpSpace + interactive + transparent (3 calls) [v3] | 196 ns | 199 ns +1.5% | 187 ns −6.4% | 195 ns +4.4% | 195 ns +0.4% | 196 ns ⋮ harness | 194 ns −1.0% |
| flags: takesUpSpace + interactive + transparent (3 calls) [gpu] | 67.7 ns | 72.9 ns +7.7% | 68.2 ns −6.5% | 63.3 ns −7.2% | 69.7 ns +10% | 63.9 ns ⋮ harness | 64.7 ns +1.2% |
| flags: effectiveOpacity [v3] | 51.0 ns | 55.2 ns +8.4% | 49.4 ns −10.5% | 49.1 ns −0.7% | 51.6 ns +5.1% | 49.1 ns ⋮ harness | 49.0 ns −0.1% |
| flags: effectiveOpacity [gpu] | 23.9 ns | 21.6 ns −9.4% | 21.8 ns +1.0% | 21.3 ns −2.4% | 25.1 ns +18% | 21.3 ns ⋮ harness | 21.2 ns −0.7% |
| element data: scratch get + set [v3] | 1.29 µs | 1.37 µs +6.5% | 1.36 µs −0.5% | 1.30 µs −4.5% | 1.31 µs +0.5% | 1.31 µs ⋮ harness | 1.29 µs −1.7% |
| element data: scratch get + set [gpu] | 176 ns | 175 ns −0.3% | 175 ns −0.5% | 171 ns −2.2% | 171 ns +0.3% | 171 ns ⋮ harness | 172 ns +0.8% |
| element data: json() one element [v3] | 300 ns | 311 ns +3.6% | 286 ns −8.1% | 300 ns +5.1% | 301 ns +0.3% | 297 ns ⋮ harness | 299 ns +0.8% |
| element data: json() one element [gpu] | 151 ns | 141 ns −6.7% | 150 ns +6.3% | 141 ns −5.9% | 150 ns +6.4% | 151 ns ⋮ harness | 149 ns −1.1% |
| element data: jsons() over 100 [v3] | 39.9 µs | 43.1 µs +8.2% | 28.3 µs −34.4% | 39.8 µs +41% | 39.8 µs +0.0% | 39.3 µs ⋮ harness | 39.6 µs +0.7% |
| element data: jsons() over 100 [gpu] | 21.3 µs | 24.6 µs +15% | 20.0 µs −18.8% | 20.0 µs +0.2% | 20.6 µs +3.0% | 20.1 µs ⋮ harness | 19.8 µs −1.4% |
| element data: label() [gpu] | 15.4 ns | 15.6 ns +1.5% | 15.2 ns −2.5% | 15.2 ns +0.1% | 15.1 ns −0.7% | 15.2 ns ⋮ harness | 15.2 ns −0.3% |
| core: batchData() [v3] | 2.41 µs | 2.43 µs +0.6% | 2.40 µs −1.0% | 2.29 µs −4.7% | 2.47 µs +7.8% | – | – |
| core: batchData() [gpu] | 281 ns | 282 ns +0.3% | 283 ns +0.5% | 285 ns +0.6% | 285 ns −0.1% | – | – |
| core: animated() [v3] | 7.52 ns | 7.69 ns +2.2% | 7.52 ns −2.1% | 7.53 ns +0.0% | 7.53 ns +0.0% | 7.52 ns ⋮ harness | 7.58 ns +0.7% |
| core: animated() [gpu] | 1.53 ns | 1.56 ns +2.0% | 1.53 ns −2.0% | 1.53 ns −0.0% | 1.53 ns −0.0% | 1.53 ns ⋮ harness | 1.56 ns +2.1% |
| core: zoomRange get [gpu] | 2.16 ns | 2.16 ns +0.0% | 2.20 ns +2.0% | 2.16 ns −2.1% | 2.16 ns +0.0% | 2.16 ns ⋮ harness | 2.16 ns +0.0% |
| core: forceRender() (headless no-op) [v3] | 23.4 ns | 23.8 ns +1.7% | 23.8 ns +0.0% | 20.1 ns −15.8% | 23.3 ns +16% | – | – |
| core: forceRender() (headless no-op) [gpu] | 1.48 ns | 1.51 ns +2.1% | 1.48 ns −2.0% | 1.48 ns −0.1% | 1.48 ns −0.0% | – | – |
| core: resize() / invalidateSize() [v3] | 339 ns | 333 ns −1.9% | 287 ns −13.7% | 304 ns +5.8% | 286 ns −5.9% | 315 ns ⋮ harness | 314 ns −0.3% |
| core: resize() / invalidateSize() [gpu] | 126 ns | 135 ns +7.2% | 126 ns −6.4% | 127 ns +1.1% | 125 ns −1.7% | 129 ns ⋮ harness | 127 ns −1.7% |
| core: onRender + offRender [v3] | 457 ns | 451 ns −1.4% | 468 ns +3.8% | 472 ns +0.8% | 454 ns −3.8% | – | – |
| core: onRender + offRender [gpu] | 191 ns | 193 ns +1.3% | 190 ns −1.8% | 194 ns +2.2% | 192 ns −0.9% | – | – |
| core: removeScratch() [v3] | 2.73 ms | 2.82 ms +3.5% | 2.81 ms −0.5% | 2.50 ms −11.1% | 2.64 ms +5.9% | 2.65 ms ⋮ harness | 2.75 ms +3.6% |
| core: removeScratch() [gpu] | 282 ns | 296 ns +5.1% | 284 ns −3.9% | 279 ns −1.9% | 278 ns −0.4% | 279 ns ⋮ harness | 278 ns −0.4% |
| core: selectionType get [v3] | 4.51 ns | 4.60 ns +2.1% | 4.46 ns −3.2% | 4.51 ns +1.1% | 4.51 ns +0.1% | 4.55 ns ⋮ harness | 4.51 ns −0.9% |
| core: selectionType get [gpu] | 2.26 ns | 2.31 ns +2.0% | 2.26 ns −2.0% | 2.26 ns −0.0% | 2.26 ns +0.0% | 2.26 ns ⋮ harness | 2.26 ns +0.1% |
| core: isReady() [v3] | 3.37 ns | 3.32 ns −1.5% | 3.26 ns −2.0% | 3.25 ns −0.1% | 3.26 ns +0.1% | 3.25 ns ⋮ harness | 3.26 ns +0.0% |
| core: isReady() [gpu] | 1.51 ns | 1.51 ns +0.0% | 1.48 ns −2.1% | 1.48 ns +0.1% | 1.48 ns +0.0% | 1.48 ns ⋮ harness | 1.48 ns −0.1% |
| core: window() [v3] | 4.11 ns | 4.19 ns +2.0% | 4.10 ns −2.1% | 4.11 ns +0.1% | 4.10 ns −0.0% | 4.10 ns ⋮ harness | 4.10 ns +0.0% |
| core: window() [gpu] | 1.48 ns | 1.51 ns +2.1% | 1.48 ns −2.1% | 1.48 ns +0.0% | 1.48 ns +0.1% | 1.48 ns ⋮ harness | 1.48 ns +0.0% |
| core: container() [v3] | 3.96 ns | 3.96 ns +0.0% | 3.99 ns +0.8% | 3.94 ns −1.4% | 3.93 ns −0.2% | 3.90 ns ⋮ harness | 3.93 ns +0.8% |
| core: container() [gpu] | 1.48 ns | 1.51 ns +2.1% | 1.51 ns +0.0% | 1.48 ns −2.1% | 1.51 ns +2.1% | 1.48 ns ⋮ harness | 1.48 ns +0.0% |
| core: destroyed() [v3] | 3.31 ns | 3.33 ns +0.6% | 3.30 ns −0.6% | 3.30 ns +0.0% | 3.31 ns +0.1% | 3.26 ns ⋮ harness | 3.32 ns +2.0% |
| core: destroyed() [gpu] | 1.48 ns | 1.51 ns +2.0% | 1.48 ns −2.1% | 1.48 ns +0.0% | 1.48 ns +0.0% | 1.48 ns ⋮ harness | 1.48 ns +0.2% |
| core: removeAllListeners() [v3] | 13.9 ns | 14.1 ns +1.3% | 13.7 ns −2.6% | 13.5 ns −1.1% | 13.8 ns +2.2% | 13.5 ns ⋮ harness | 13.8 ns +2.0% |
| core: removeAllListeners() [gpu] | 1.58 ns | 1.62 ns +2.3% | 1.58 ns −2.3% | 1.58 ns +0.1% | 1.58 ns +0.0% | 1.58 ns ⋮ harness | 1.59 ns +0.1% |
| collection: cy() [v3] | 7.63 ns | 7.85 ns +2.9% | 7.73 ns −1.5% | 7.80 ns +0.9% | 7.58 ns −2.7% | 7.58 ns ⋮ harness | 7.58 ns +0.0% |
| collection: cy() [gpu] | 2.16 ns | 2.20 ns +2.1% | 2.16 ns −2.1% | 2.16 ns +0.0% | 2.16 ns −0.0% | 2.16 ns ⋮ harness | 2.16 ns −0.0% |
| collection: indexOfId() [v3] | 67.4 ns | 60.3 ns −10.5% | 59.4 ns −1.4% | 69.6 ns +17% | 66.0 ns −5.2% | 66.6 ns ⋮ harness | 66.1 ns −0.7% |
| collection: indexOfId() [gpu] | 36.0 ns | 36.9 ns +2.7% | 38.9 ns +5.2% | 38.8 ns −0.2% | 37.5 ns −3.4% | 37.8 ns ⋮ harness | 37.8 ns +0.1% |
| collection: removed() + inside() (2 calls) [v3] | 17.2 ns | 18.1 ns +5.6% | 16.7 ns −7.6% | 17.7 ns +5.9% | 17.7 ns +0.0% | 17.7 ns ⋮ harness | 17.6 ns −0.6% |
| collection: removed() + inside() (2 calls) [gpu] | 15.4 ns | 15.4 ns −0.0% | 15.1 ns −2.1% | 15.1 ns +0.0% | 15.2 ns +0.7% | 15.1 ns ⋮ harness | 15.1 ns −0.0% |
| collection: silentPositions( fn ) over 100 [v3] | 106 µs | 110 µs +3.1% | 109 µs −0.6% | 107 µs −1.9% | 111 µs +3.6% | 107 µs ⋮ harness | 112 µs +3.9% |
| collection: silentPositions( fn ) over 100 [gpu] | 3.03 µs | 3.22 µs +6.3% | 3.53 µs +9.6% | 3.53 µs −0.1% | 3.58 µs +1.5% | 3.50 µs ⋮ harness | 3.67 µs +5.1% |
| collection: animated() [v3] | 12.2 ns | 12.4 ns +2.1% | 12.1 ns −2.5% | 12.2 ns +0.5% | 12.2 ns −0.0% | 12.1 ns ⋮ harness | 12.2 ns +0.3% |
| collection: animated() [gpu] | 4.19 ns | 4.30 ns +2.6% | 4.28 ns −0.5% | 4.19 ns −2.0% | 4.19 ns +0.0% | 4.19 ns ⋮ harness | 4.19 ns +0.0% |
| collection: delayAnimation() [v3] | 450 ns | 453 ns +0.5% | 482 ns +6.6% | 456 ns −5.4% | 456 ns −0.1% | 467 ns ⋮ harness | 458 ns −1.9% |
| collection: delayAnimation() [gpu] | 168 ns | 164 ns −2.4% | 164 ns +0.0% | 165 ns +0.7% | 164 ns −0.6% | 162 ns ⋮ harness | 165 ns +1.5% |
| collection: removeScratch() [v3] | 1.80 µs | 1.97 µs +9.5% | 1.87 µs −5.2% | 1.81 µs −3.0% | 1.81 µs +0.3% | 1.79 µs ⋮ harness | 1.79 µs −0.3% |
| collection: removeScratch() [gpu] | 201 ns | 205 ns +2.4% | 205 ns −0.0% | 202 ns −1.7% | 205 ns +1.6% | 202 ns ⋮ harness | 202 ns +0.3% |
| collection: component() [v3] | 82.8 ms | 83.8 ms +1.3% | 86.3 ms +3.0% | 79.7 ms −7.7% | 80.4 ms +0.9% | 82.2 ms ⋮ harness | 78.8 ms −4.1% |
| collection: component() [gpu] | 1.98 ms | 2.02 ms +1.9% | 1.97 ms −2.3% | 1.84 ms −6.8% | 1.83 ms −0.6% | 1.84 ms ⋮ harness | 1.84 ms +0.1% |
| collection: layoutDimensions() [v3] | 613 ns | 621 ns +1.4% | 650 ns +4.6% | 618 ns −4.9% | 624 ns +1.1% | 611 ns ⋮ harness | 616 ns +0.7% |
| collection: layoutDimensions() [gpu] | 170 ns | 203 ns +20% | 169 ns −17.0% | 173 ns +2.6% | 174 ns +0.5% | 169 ns ⋮ harness | 187 ns +11% |
| degree: maxIndegree + minOutdegree (2 calls) [v3] | 9.27 ms | 10.5 ms +14% | 9.57 ms −9.3% | 8.87 ms −7.3% | 9.23 ms +4.1% | 9.05 ms ⋮ harness | 8.89 ms −1.8% |
| degree: maxIndegree + minOutdegree (2 calls) [gpu] | 428 µs | 436 µs +1.7% | 427 µs −2.0% | 353 µs −17.4% | 381 µs +7.9% | 359 µs ⋮ harness | 355 µs −1.3% |
| flags: grabbed + hidden + inactive (3 calls) [v3] | 86.5 ns | 87.3 ns +1.0% | 84.9 ns −2.8% | 85.9 ns +1.2% | 85.1 ns −0.9% | 86.3 ns ⋮ harness | 84.5 ns −2.1% |
| flags: grabbed + hidden + inactive (3 calls) [gpu] | 42.7 ns | 42.2 ns −1.1% | 42.4 ns +0.4% | 43.2 ns +2.0% | 38.8 ns −10.3% | 38.4 ns ⋮ harness | 38.4 ns −0.0% |
| curves: renderedSegmentPoints [gpu] | 36.1 ns | 36.7 ns +1.8% | 37.3 ns +1.5% | 36.7 ns −1.6% | 36.2 ns −1.2% | 35.9 ns ⋮ harness | 36.1 ns +0.7% |
| layout contract: edgeSlots + endpoints + degreeOf [gpu] | 34.7 µs | 35.3 µs +1.9% | 34.6 µs −2.0% | 34.6 µs +0.1% | 34.7 µs +0.1% | 34.7 µs ⋮ harness | 34.5 µs −0.5% |
| formats: isColumnarElements + isSerializedElements + isPackedIds [gpu] | 4.61 ns | 4.71 ns +2.1% | 4.61 ns −2.0% | 4.61 ns −0.1% | 4.61 ns −0.0% | 4.61 ns ⋮ harness | 4.52 ns −1.9% |
| core: elements() memo hit (was mutableElements, round 90) [v3] | – | – | – | – | – | 2.40 ns | 2.41 ns +0.1% |
| core: elements() memo hit (was mutableElements, round 90) [gpu] | – | – | – | – | – | 2.30 ns | 2.35 ns +2.1% |
| core: batch + per-id data() (was batchData, round 90) [v3] | – | – | – | – | – | 2.37 µs | 2.49 µs +5.1% |
| core: batch + per-id data() (was batchData, round 90) [gpu] | – | – | – | – | – | 266 ns | 263 ns −1.1% |
| core: on('render') + off('render') (was onRender/offRender, round 90) [v3] | – | – | – | – | – | 486 ns | 462 ns −4.9% |
| core: on('render') + off('render') (was onRender/offRender, round 90) [gpu] | – | – | – | – | – | 196 ns | 195 ns −0.7% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| cpu pick: background miss (full highWater walk) [peak] | 221 µs | 227 µs +2.7% | 222 µs −2.4% | 223 µs +0.4% | 222 µs −0.2% | 207 µs −6.8% | 207 µs −0.1% |
| cpu pick: background miss (full highWater walk) [compacted] | 51.0 µs | 51.4 µs +0.8% | 49.6 µs −3.4% | 50.2 µs +1.1% | 50.3 µs +0.2% | 48.7 µs −3.1% | 48.7 µs +0.0% |
| cpu pick: node hit [peak] | 226 µs | 226 µs +0.2% | 223 µs −1.7% | 223 µs +0.0% | 222 µs −0.2% | 223 µs +0.2% | 218 µs −2.1% |
| cpu pick: node hit [compacted] | 49.7 µs | 51.2 µs +2.9% | 49.9 µs −2.5% | 50.2 µs +0.6% | 49.7 µs −1.0% | 49.8 µs +0.2% | 48.9 µs −1.7% |
| isCurrent: current ref (forwards present vs absent) [no forwards (peak)] | 5.92 ns | 6.08 ns +2.6% | 6.02 ns −0.9% | 5.88 ns −2.4% | 5.95 ns +1.2% | 5.87 ns −1.4% | 5.95 ns +1.4% |
| isCurrent: current ref (forwards present vs absent) [forwards present (compacted)] | 5.95 ns | 4.60 ns −22.7% | 5.90 ns +28% | 5.98 ns +1.4% | 5.93 ns −0.8% | 5.85 ns −1.3% | 5.90 ns +0.9% |
| isCurrent: stale-ref repair (chase + rewrite, alloc included) [current (baseline alloc)] | 8.80 ns | 9.17 ns +4.2% | 8.86 ns −3.3% | 8.90 ns +0.4% | 8.89 ns −0.1% | 8.89 ns −0.0% | 8.89 ns +0.0% |
| isCurrent: stale-ref repair (chase + rewrite, alloc included) [stale → repair] | 49.3 ns | 46.2 ns −6.2% | 44.7 ns −3.2% | 50.3 ns +12% | 48.3 ns −3.8% | 48.3 ns −0.0% | 49.1 ns +1.5% |
| control: nodes({ selected }) scan (order-list, expected parity) [peak] | 24.8 µs | 23.6 µs −4.8% | 25.4 µs +7.7% | 23.7 µs −6.7% | 23.6 µs −0.5% | 22.4 µs −5.3% | 25.2 µs +13% |
| control: nodes({ selected }) scan (order-list, expected parity) [compacted] | 21.3 µs | 23.4 µs +10% | 21.0 µs −10.3% | 22.8 µs +8.6% | 22.1 µs −3.0% | 22.4 µs +1.2% | 21.6 µs −3.2% |
| control: whole-graph boundingBox (expected parity) [peak] | 96.3 µs | 117 µs +22% | 96.5 µs −17.6% | 104 µs +7.4% | 111 µs +7.2% | 100 µs −10.0% | 112 µs +12% |
| control: whole-graph boundingBox (expected parity) [compacted] | 95.5 µs | 114 µs +19% | 97.3 µs −14.5% | 100 µs +2.8% | 110 µs +10% | 101 µs −8.5% | 112 µs +11% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| parent drag (shift subtree + bb settle) [v3] | 253 µs | 267 µs +5.3% | 266 µs −0.3% | 260 µs −2.2% | 256 µs −1.8% | 251 µs −1.9% | 252 µs +0.6% |
| parent drag (shift subtree + bb settle) [gpu] | 1.36 µs | 1.44 µs +5.4% | 1.39 µs −3.2% | 1.40 µs +0.8% | 1.37 µs −2.2% | 1.38 µs +0.7% | 1.38 µs −0.2% |
| child drag (move + parent re-derive) [v3] | 80.1 µs | 83.1 µs +3.8% | 83.9 µs +0.9% | 81.7 µs −2.5% | 81.4 µs −0.5% | 79.0 µs −2.9% | 80.1 µs +1.3% |
| child drag (move + parent re-derive) [gpu] | 1.57 µs | 1.62 µs +3.3% | 1.66 µs +2.5% | 1.59 µs −4.2% | 1.57 µs −0.9% | 1.56 µs −0.7% | 1.62 µs +3.4% |
| reparent round-trip [v3] | 82.2 µs | 84.9 µs +3.3% | 85.0 µs +0.1% | 84.6 µs −0.4% | 84.4 µs −0.3% | 83.8 µs −0.7% | 83.0 µs −0.9% |
| reparent round-trip [gpu] | 1.18 µs | 1.15 µs −2.9% | 1.26 µs +10.0% | 1.11 µs −11.9% | 1.08 µs −3.0% | 1.06 µs −1.4% | 1.08 µs +1.2% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| curve premium: build (style apply + derivation) [curved] | 25.7 ms | 31.8 ms +24% | 26.3 ms −17.4% | 10.3 ms −61.0% | 11.1 ms +8.5% | 11.5 ms +3.6% | 12.0 ms +3.9% |
| curve premium: build (style apply + derivation) [straight] | 22.6 ms | 28.4 ms +25% | 23.1 ms −18.4% | 8.90 ms −61.6% | 8.03 ms −9.7% | 6.42 ms −20.1% | 6.64 ms +3.5% |
| curve premium: node.position x 1000 (drag) [curved] | 589 µs | 536 µs −9.0% | 386 µs −28.0% | 376 µs −2.6% | 388 µs +3.2% | 374 µs −3.5% | 377 µs +0.7% |
| curve premium: node.position x 1000 (drag) [straight] | 253 µs | 314 µs +24% | 348 µs +11% | 313 µs −10.2% | 299 µs −4.5% | 302 µs +1.2% | 326 µs +7.9% |
| curve premium: nodes().positions() (bulk move) [curved] | 304 µs | 368 µs +21% | 305 µs −17.0% | 302 µs −1.1% | 313 µs +3.6% | 319 µs +1.9% | 309 µs −3.2% |
| curve premium: nodes().positions() (bulk move) [straight] | 297 µs | 399 µs +34% | 288 µs −27.9% | 297 µs +3.0% | 296 µs −0.3% | 305 µs +3.3% | 296 µs −3.1% |
| curve premium: first read after a bulk move (cold) [curved] | 7.56 ms | 9.63 ms +27% | 7.58 ms −21.3% | 5.86 ms −22.7% | 5.95 ms +1.6% | 5.24 ms −11.9% | 5.59 ms +6.7% |
| curve premium: first read after a bulk move (cold) [straight] | 2.99 ms | 3.22 ms +7.7% | 3.27 ms +1.4% | 2.73 ms −16.6% | 2.88 ms +5.6% | 2.60 ms −9.6% | 2.71 ms +4.3% |
| curve premium: same read again (warm) [curved] | 2.59 ms | 2.85 ms +9.9% | 2.72 ms −4.7% | 2.21 ms −18.6% | 2.19 ms −0.7% | 1.42 ms −35.2% | 1.43 ms +0.8% |
| curve premium: same read again (warm) [straight] | 1.64 ms | 1.75 ms +6.7% | 1.58 ms −9.7% | 3.20 ms ×2.02 | 1.39 ms −56.5% | 1.42 ms +1.9% | 1.42 ms +0.0% |
| curve premium: edge.midpoint x 4000 [curved] | 1.89 ms | 4.43 ms ×2.34 | 1.88 ms −57.6% | 1.83 ms −2.8% | 2.16 ms +18% | 2.35 ms +8.8% | 2.37 ms +0.9% |
| curve premium: edge.midpoint x 4000 [straight] | 3.01 ms | 3.36 ms +12% | 3.06 ms −9.1% | 3.11 ms +1.7% | 4.16 ms +34% | 4.19 ms +0.7% | 4.21 ms +0.5% |
| curve premium: edge.controlPoints x 4000 [curved] | 1.89 ms | 2.30 ms +21% | 1.95 ms −15.3% | 1.95 ms −0.1% | 2.20 ms +13% | 2.34 ms +6.2% | 2.39 ms +2.1% |
| curve premium: edge.controlPoints x 4000 [straight] | 1.11 ms | 1.36 ms +23% | 1.21 ms −11.2% | 1.09 ms −9.9% | 1.39 ms +28% | 2.70 ms +94% | 1.43 ms −47.2% |
| curve premium: cy.elements().boundingBox() x 20 [curved] | 35.1 ms | 36.3 ms +3.6% | 34.7 ms −4.5% | 38.0 ms +9.4% | 35.6 ms −6.1% | 18.1 ms −49.2% | 17.7 ms −2.4% |
| curve premium: cy.elements().boundingBox() x 20 [straight] | 21.9 ms | 22.7 ms +4.0% | 34.6 ms +52% | 21.2 ms −38.7% | 21.7 ms +2.1% | 19.6 ms −9.5% | 21.0 ms +7.2% |
| curve premium: cy.fit() x 20 (store scan) [curved] | 3.94 ms | 4.00 ms +1.4% | 4.01 ms +0.3% | 3.84 ms −4.3% | 3.88 ms +1.0% | 3.71 ms −4.2% | 3.69 ms −0.6% |
| curve premium: cy.fit() x 20 (store scan) [straight] | 3.58 ms | 3.73 ms +4.0% | 3.65 ms −2.0% | 3.53 ms −3.3% | 3.61 ms +2.3% | 3.40 ms −5.8% | 3.38 ms −0.8% |
| curve premium: elementsInBox x 20 (half the graph) [curved] | 23.7 ms | 27.7 ms +17% | 23.9 ms −13.6% | 24.9 ms +3.8% | 24.6 ms −1.0% | 23.4 ms −4.8% | 24.3 ms +3.7% |
| curve premium: elementsInBox x 20 (half the graph) [straight] | 5.86 ms | 7.24 ms +24% | 6.14 ms −15.3% | 6.10 ms −0.6% | 5.91 ms −3.1% | 5.71 ms −3.4% | 6.03 ms +5.6% |
| curve premium: edge.hide/show x 1000 (bundle re-fan) [curved] | 3.98 ms | 4.23 ms +6.1% | 3.68 ms −13.0% | 3.88 ms +5.5% | 3.81 ms −1.9% | 4.50 ms +18% | 3.72 ms −17.4% |
| curve premium: edge.hide/show x 1000 (bundle re-fan) [straight] | 2.14 ms | 2.39 ms +12% | 2.01 ms −15.6% | 2.15 ms +6.6% | 2.24 ms +4.5% | 2.21 ms −1.6% | 2.29 ms +3.6% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| arrow premium: build (style apply + arrow fold) [arrowed] | 26.7 ms | 24.5 ms −8.5% | 24.2 ms −1.3% | 5.91 ms −75.5% | 5.77 ms −2.4% | 6.94 ms +20% | 6.68 ms −3.7% |
| arrow premium: build (style apply + arrow fold) [none] | 21.0 ms | 22.2 ms +5.4% | 20.6 ms −7.0% | 5.95 ms −71.1% | 6.48 ms +8.9% | 6.33 ms −2.3% | 6.34 ms +0.1% |
| arrow premium: cy.style() re-apply x 4 [arrowed] | 40.8 ms | 43.6 ms +6.7% | 41.8 ms −4.1% | 8.08 ms −80.6% | 8.14 ms +0.7% | 7.68 ms −5.6% | 7.95 ms +3.5% |
| arrow premium: cy.style() re-apply x 4 [none] | 39.6 ms | 44.0 ms +11% | 40.9 ms −7.1% | 8.05 ms −80.3% | 7.82 ms −2.8% | 7.93 ms +1.4% | 7.99 ms +0.8% |
| arrow premium: node.position x 200000 (drag) [arrowed] | 24.5 ms | 23.5 ms −4.5% | 23.5 ms +0.4% | 22.1 ms −6.3% | 21.6 ms −2.2% | 21.6 ms +0.1% | 21.7 ms +0.4% |
| arrow premium: node.position x 200000 (drag) [none] | 24.9 ms | 23.4 ms −6.3% | 23.5 ms +0.5% | 22.2 ms −5.3% | 21.6 ms −3.1% | 21.6 ms +0.3% | 21.8 ms +0.8% |
| arrow premium: edge.sourceEndpoint x 200000 [arrowed] | 61.7 ms | 60.2 ms −2.3% | 61.0 ms +1.3% | 61.1 ms +0.2% | 60.5 ms −1.0% | 59.6 ms −1.5% | 62.1 ms +4.1% |
| arrow premium: edge.sourceEndpoint x 200000 [none] | 59.8 ms | 58.5 ms −2.3% | 61.9 ms +5.9% | 60.8 ms −1.8% | 58.5 ms −3.8% | 60.2 ms +2.8% | 59.1 ms −1.8% |
| arrow premium: edge.targetEndpoint x 200000 [arrowed] | 60.8 ms | 60.8 ms +0.0% | 61.8 ms +1.5% | 61.2 ms −0.9% | 60.4 ms −1.4% | 59.0 ms −2.3% | 59.9 ms +1.6% |
| arrow premium: edge.targetEndpoint x 200000 [none] | 60.3 ms | 62.3 ms +3.4% | 61.6 ms −1.2% | 60.0 ms −2.6% | 59.3 ms −1.1% | 58.7 ms −1.1% | 59.7 ms +1.7% |
| arrow premium: edge.midpoint x 200000 [arrowed] | 151 ms | 139 ms −8.3% | 146 ms +5.4% | 145 ms −0.9% | 144 ms −0.5% | 139 ms −3.5% | 141 ms +1.5% |
| arrow premium: edge.midpoint x 200000 [none] | 155 ms | 137 ms −11.9% | 146 ms +6.6% | 144 ms −1.3% | 138 ms −3.7% | 137 ms −1.0% | 137 ms +0.0% |
| arrow premium: edge.style('target-arrow-shape') x 200000 [arrowed] | 35.7 ms | 34.0 ms −4.7% | 35.0 ms +2.9% | 32.8 ms −6.2% | 33.7 ms +2.7% | 31.5 ms −6.7% | 33.3 ms +5.9% |
| arrow premium: edge.style('target-arrow-shape') x 200000 [none] | 30.9 ms | 30.6 ms −1.2% | 29.1 ms −4.9% | 27.8 ms −4.6% | 28.3 ms +2.0% | 27.5 ms −2.8% | 27.3 ms −0.7% |
| arrow premium: cy.elements().boundingBox() x 20 [arrowed] | 21.6 ms | 21.2 ms −1.9% | 20.9 ms −1.3% | 20.3 ms −3.2% | 21.0 ms +3.7% | 18.3 ms −12.9% | 18.4 ms +0.8% |
| arrow premium: cy.elements().boundingBox() x 20 [none] | 21.7 ms | 21.2 ms −2.5% | 21.3 ms +0.3% | 20.3 ms −4.6% | 21.0 ms +3.5% | 18.2 ms −13.6% | 17.7 ms −2.3% |
| arrow premium: elementsInBox x 20 (half the graph) [arrowed] | 5.61 ms | 5.54 ms −1.2% | 5.61 ms +1.1% | 6.54 ms +17% | 5.84 ms −10.7% | 5.47 ms −6.2% | 5.45 ms −0.4% |
| arrow premium: elementsInBox x 20 (half the graph) [none] | 5.58 ms | 5.48 ms −1.8% | 5.52 ms +0.8% | 5.71 ms +3.4% | 5.76 ms +0.9% | 5.53 ms −4.1% | 5.38 ms −2.6% |
| arrow premium: control: sourceEndpoint, bezier vs straight [arrowed] | 76.0 ms | 73.4 ms −3.4% | 76.4 ms +4.1% | 77.2 ms +1.0% | 75.2 ms −2.5% | 75.4 ms +0.2% | 74.1 ms −1.7% |
| arrow premium: control: sourceEndpoint, bezier vs straight [none] | 60.6 ms | 58.5 ms −3.5% | 60.9 ms +4.2% | 60.9 ms −0.0% | 59.3 ms −2.6% | 60.4 ms +1.8% | 58.7 ms −2.7% |
| arrow premium: edge column bytes [B/edge] | 156 ms | 156 ms +0.0% | 156 ms +0.0% | 156 ms +0.0% | 156 ms +0.0% | 156 ms +0.0% | 156 ms +0.0% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| labels: breakLines x 20000 [gpu] | 78.8 ms | 83.5 ms +6.0% | 79.1 ms −5.3% | 79.6 ms +0.6% | 84.9 ms +6.7% | 84.0 ms ⋮ harness | 85.8 ms +2.1% |
| labels: estimateBlock x 20000 [gpu] | 89.0 ms | 92.7 ms +4.2% | 93.4 ms +0.7% | 90.7 ms −2.8% | 94.3 ms +3.9% | 91.3 ms ⋮ harness | 89.0 ms −2.5% |
| labels: addNode x 20000 [gpu] | 29.2 ms | 30.8 ms +5.2% | 28.8 ms −6.3% | 30.5 ms +5.7% | 29.4 ms −3.7% | 30.4 ms ⋮ harness | 28.4 ms −6.4% |
| labels: setLabel (build) x 20000 [gpu] | 110 ms | 104 ms −5.4% | 104 ms +0.2% | 104 ms −0.4% | 98.3 ms −5.4% | 97.7 ms ⋮ harness | 97.1 ms −0.5% |
| labels: setLabel (rewrite) x 20000 [gpu] | 101 ms | 102 ms +1.7% | 102 ms −0.4% | 104 ms +1.7% | 101 ms −2.8% | 101 ms ⋮ harness | 101 ms −0.2% |
| labels: boundingBox with 20000 label terms [gpu] | 3.20 ms | 3.40 ms +6.3% | 3.42 ms +0.6% | 3.43 ms +0.3% | 3.01 ms −12.1% | 3.04 ms ⋮ harness | 3.05 ms +0.2% |
| labels: computeSdf tier 1 (30x42) x 96 glyphs [gpu] | – | – | – | – | – | 14.7 ms | 14.3 ms −2.1% |
| labels: computeSdf tier 2 (59x85) x 96 glyphs [gpu] | – | – | – | – | – | 37.8 ms | 38.6 ms +2.2% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| transition: auto-extent shift, whole-channel re-derive (2000 slots) [transitions off] | 2.21 ms | 2.31 ms +4.6% | 2.29 ms −0.8% | 1.15 ms −50.0% | 1.16 ms +1.2% | 1.20 ms +3.1% | 1.16 ms −3.1% |
| transition: auto-extent shift, whole-channel re-derive (2000 slots) [transitions on] | 4.54 ms | 4.80 ms +5.6% | 4.69 ms −2.2% | 3.65 ms −22.3% | 3.66 ms +0.4% | 3.78 ms +3.1% | 3.52 ms −6.9% |
| transition: bulk tween tick (2000 slots, one manager tick) [tick] | 127 µs | 136 µs +7.5% | 139 µs +2.3% | 122 µs −12.8% | 130 µs +6.8% | 129 µs −0.6% | 128 µs −0.7% |
| transition: explicit-domain write (O(changed) — one element) [transitions off] | 2.35 µs | 2.45 µs +4.1% | 2.36 µs −3.6% | 14.8 µs ×6.29 | 15.1 µs +1.5% | 14.7 µs −2.6% | 14.4 µs −2.2% |
| transition: explicit-domain write (O(changed) — one element) [transitions on] | 6.15 µs | 5.90 µs −4.1% | 6.28 µs +6.5% | 19.0 µs ×3.02 | 18.5 µs −2.6% | 18.3 µs −1.0% | 18.2 µs −0.5% |
| transition: sheet swap, whole-graph apply (2000 slots diff + tween) [transitions off] | 9.97 ms | 10.0 ms +0.4% | 10.1 ms +0.9% | 2.11 ms −79.1% | 2.12 ms +0.1% | 2.09 ms −1.3% | 2.05 ms −1.9% |
| transition: sheet swap, whole-graph apply (2000 slots diff + tween) [transitions on] | 13.0 ms | 12.8 ms −1.3% | 12.7 ms −1.0% | 4.85 ms −61.7% | 4.91 ms +1.1% | 4.88 ms −0.6% | 4.75 ms −2.7% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| size tick: unlabelled (2000 slots) [tick] | 589 µs | 526 µs −10.8% | 541 µs +2.8% | 570 µs +5.5% | 544 µs −4.7% | 527 µs −3.1% | 567 µs +7.6% |
| size tick: labelled, center/center (re-anchor early-out) (2000 slots) [tick] | 636 µs | 548 µs −13.8% | 595 µs +8.6% | 605 µs +1.7% | 589 µs −2.7% | 562 µs −4.6% | 588 µs +4.6% |
| size tick: labelled, hanging (sidecar rewrite per tick) (2000 slots) [tick] | 1.26 ms | 1.18 ms −6.6% | 1.22 ms +3.5% | 1.25 ms +2.4% | 1.22 ms −2.2% | 1.22 ms −0.2% | 1.24 ms +1.7% |
| edge width tick (4000 slots) [bare] | 297 µs | 243 µs −18.0% | 281 µs +15% | 277 µs −1.3% | 290 µs +4.9% | 285 µs −1.7% | 276 µs −3.3% |
| edge width tick (4000 slots) [with rides (casing + match-line arrows)] | 706 µs | 724 µs +2.5% | 717 µs −0.9% | 690 µs −3.8% | 753 µs +9.1% | 722 µs −4.1% | 712 µs −1.4% |
| padding tick + auto-bounds flush (250 parents × 8 children) [tick + flush] | 179 µs | 175 µs −2.2% | 177 µs +1.2% | 176 µs −0.5% | 173 µs −1.4% | 173 µs −0.4% | 177 µs +2.2% |
| font-size tick (2000 labels) [wrap none (dims scale-patch)] | 359 µs | 360 µs +0.3% | 364 µs +1.0% | 368 µs +1.1% | 359 µs −2.4% | 350 µs −2.4% | 369 µs +5.4% |
| font-size tick (2000 labels) [wrapped (re-break per tick)] | 5.69 ms | 5.84 ms +2.7% | 6.61 ms +13% | 5.69 ms −13.9% | 5.75 ms +1.0% | 5.82 ms +1.2% | 5.54 ms −4.8% |
| baseline: paint (opacity) tick (2000 slots) [tick] | 142 µs | 147 µs +3.5% | 144 µs −2.3% | 141 µs −1.8% | 137 µs −3.0% | 151 µs +11% | 146 µs −3.3% |
| row |
cf5727b42026-08-10 |
1f3240882026-08-10 |
44e55dc92026-08-10 |
c2d24c2e2026-08-12 |
0d3561de2026-08-13 |
5107c36e2026-09-01 |
9ed49abc2026-09-02 |
|---|---|---|---|---|---|---|---|
| style( 'background-color' ) (was #4 in the switch) [v3] | – | 59.6 ns | 58.9 ns −1.1% | 59.7 ns +1.3% | 59.2 ns −0.9% | 60.8 ns +2.8% | 59.6 ns −1.9% |
| style( 'background-color' ) (was #4 in the switch) [gpu] | – | 52.3 ns | 54.8 ns +4.8% | 53.4 ns −2.6% | 60.4 ns +13% | 55.9 ns −7.4% | 52.7 ns −5.7% |
| style( 'border-width' ) (was #6 in the switch) [v3] | – | 60.3 ns | 63.6 ns +5.6% | 61.5 ns −3.4% | 61.7 ns +0.3% | 60.4 ns −2.1% | 60.4 ns +0.0% |
| style( 'border-width' ) (was #6 in the switch) [gpu] | – | 50.6 ns | 50.5 ns −0.2% | 53.7 ns +6.3% | 53.7 ns +0.1% | 49.8 ns −7.3% | 54.3 ns +9.0% |
| style( 'text-wrap' ) (was #73 in the switch) [v3] | – | 61.3 ns | 59.6 ns −2.9% | 60.1 ns +1.0% | 61.7 ns +2.6% | 60.8 ns −1.5% | 61.3 ns +0.8% |
| style( 'text-wrap' ) (was #73 in the switch) [gpu] | – | 36.6 ns | 35.8 ns −2.3% | 35.3 ns −1.3% | 35.1 ns −0.7% | 36.0 ns +2.8% | 35.6 ns −1.3% |
| style( 'text-max-width' ) (was #74 in the switch) [v3] | – | 58.6 ns | 58.1 ns −0.8% | 59.5 ns +2.4% | 59.4 ns −0.2% | 60.5 ns +1.8% | 59.0 ns −2.4% |
| style( 'text-max-width' ) (was #74 in the switch) [gpu] | – | 34.6 ns | 34.8 ns +0.6% | 34.5 ns −0.9% | 34.2 ns −0.9% | 34.2 ns +0.1% | 34.0 ns −0.5% |
| style( 'taxi-radius' ) (was #142 in the switch) [v3] | – | 59.6 ns | 59.9 ns +0.4% | 63.4 ns +5.8% | 61.8 ns −2.5% | 62.7 ns +1.4% | 60.7 ns −3.2% |
| style( 'taxi-radius' ) (was #142 in the switch) [gpu] | – | 48.9 ns | 49.6 ns +1.5% | 49.3 ns −0.7% | 48.3 ns −1.9% | 48.9 ns +1.3% | 48.5 ns −0.9% |
| style( 'target-distance-from-node' ) (was #150 in the switch) [v3] | – | 59.5 ns | 60.2 ns +1.1% | 61.4 ns +2.0% | 61.3 ns −0.2% | 62.7 ns +2.3% | 65.0 ns +3.7% |
| style( 'target-distance-from-node' ) (was #150 in the switch) [gpu] | – | 48.7 ns | 49.6 ns +1.8% | 48.4 ns −2.3% | 47.6 ns −1.8% | 48.0 ns +0.8% | 48.3 ns +0.6% |
| whole-object style() (gpu-only: v3 returns a different shape) [gpu node] | – | 13.4 µs | 13.3 µs −0.8% | 13.4 µs +0.4% | 13.1 µs −2.1% | 13.3 µs +1.7% | 13.4 µs +0.5% |
| whole-object style() (gpu-only: v3 returns a different shape) [gpu edge] | – | 14.5 µs | 14.7 µs +1.5% | 14.4 µs −1.9% | 14.5 µs +0.4% | 14.1 µs −2.5% | 14.5 µs +2.4% |
| colour-valued vs numeric reads (the string build) [gpu background-color (colour)] | – | 70.2 ns | 76.1 ns +8.4% | 73.8 ns −3.0% | 78.3 ns +6.1% | 76.0 ns −2.9% | 73.0 ns −4.0% |
| colour-valued vs numeric reads (the string build) [gpu border-color (colour)] | – | 74.0 ns | 73.6 ns −0.5% | 65.7 ns −10.7% | 70.5 ns +7.3% | 67.0 ns −5.0% | 71.3 ns +6.4% |
| colour-valued vs numeric reads (the string build) [gpu border-width (number)] | – | 63.2 ns | 66.4 ns +5.0% | 67.1 ns +1.1% | 65.4 ns −2.5% | 60.9 ns −6.8% | 66.7 ns +9.5% |
| colour-valued vs numeric reads (the string build) [gpu width (number)] | – | 59.6 ns | 62.0 ns +3.9% | 60.9 ns −1.7% | 62.2 ns +2.2% | 67.3 ns +8.1% | 58.6 ns −12.9% |
| the getters that ride readProp [gpu numericStyle( width )] | – | 60.0 ns | 61.6 ns +2.8% | 62.9 ns +2.1% | 61.5 ns −2.3% | 67.9 ns +10% | 61.0 ns −10.1% |
| the getters that ride readProp [gpu effectiveOpacity()] | – | 20.7 ns | 21.7 ns +5.0% | 20.6 ns −5.3% | 22.7 ns +10% | 20.7 ns −8.5% | 21.5 ns +3.4% |
| the getters that ride readProp [gpu renderedStyle( width )] | – | 78.6 ns | 79.4 ns +1.1% | 77.2 ns −2.9% | 79.9 ns +3.5% | 86.8 ns +8.7% | 77.2 ns −11.0% |