| CPU | Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz |
|---|---|
| Cores | 8 physical / 16 logical · 3.6 GHz base · 5 GHz max |
| Memory | 62.6 GiB |
| GPU | CoffeeLake-S GT2 [UHD Graphics 630] i915 Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (8.0 GiB) amdgpu |
| OS | Fedora Linux 43 (Workstation Edition) · 6.19.14-200.fc43.x86_64 · x64 |
| Node | v24.18.0 (v8 13.6.233.17-node.50) |
| Commit | d4ff0730 bench(65.9): the executor sweep joins the report, publish and status pipeline |
| Machine id | 5cf3f79c |
| group | × @ N=500 | × @ N=2k |
|---|---|---|
| algo: bfs (whole graph) | 58× | 59× |
| algo: dfs (whole graph) | 62× | 59× |
| algo: dijkstra + pathTo | 51× | 56× |
| algo: aStar | 3.6× | 3.4× |
| algo: bellmanFord | 21× | 20× |
| algo: kruskal | 24× | 25× |
| algo: tarjan SCC | 34× | 36× |
| algo: hopcroft-tarjan biconnected | 25× | 25× |
| algo: hierholzer (directed) | 5.2× | 3.0× |
| algo: betweennessCentrality (unweighted) | 12× | 11× |
| algo: degreeCentralityNormalized | 37× | 38× |
| algo: closenessCentrality (one root) | 70× | 73× |
| algo: degreeCentrality (one root) | 30× | 30× |
| algo: pageRank (20 iters) | 1.87× | – |
| algo: closenessCentrality (weighted, one root) | 54× | – |
| algo: floydWarshall | 1.59× | – |
| algo: closenessCentralityNormalized | 1.67× | – |
| algo: markovClustering | 1.10× | – |
| algo: hierarchicalClustering (threshold) | 2.4× | – |
| algo: kMeans (fixed centroids) | 3.9× | – |
| algo: kMedoids | 8.9× | – |
| algo: fuzzyCMeans | 8.7× | – |
| algo: affinityPropagation | 5.2× | – |
| algo: kargerStein | 1.03× | – |
| algo: betweennessCentrality (weighted) | 8.7× | – |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| core: getElementById() | v3 | 100 ns | 103 ns | 155 ns | 96.4 ns | 1657 |
| core: getElementById() | gpu | 84.7 ns | 95.5 ns | 177 ns | 82.2 ns | 1792 |
| core: id lookup ($("#id") vs $id()) | v3 | 2.06 µs | 2.48 µs | 4.07 µs | 1.91 µs | 63 |
| core: id lookup ($("#id") vs $id()) | gpu | 77.5 ns | 81.4 ns | 258 ns | 74.7 ns | 2099 |
| core: nodes() | v3 | 426 µs | 462 µs | 1.21 ms | 421 µs | 1510 |
| core: nodes() | gpu | 8.21 ns | 9.01 ns | 17.2 ns | 8.04 ns | 18810 |
| core: edges() | v3 | 753 µs | 815 µs | 1.64 ms | 739 µs | 856 |
| core: edges() | gpu | 8.10 ns | 8.71 ns | 16.2 ns | 7.83 ns | 19433 |
| core: elements() | v3 | 140 µs | 149 µs | 257 µs | 136 µs | 4693 |
| core: elements() | gpu | 6.99 ns | 7.42 ns | 17.1 ns | 6.63 ns | 22902 |
| core: nodes ($("node") vs filter({group})) | v3 | 556 µs | 585 µs | 1.26 ms | 531 µs | 1191 |
| core: nodes ($("node") vs filter({group})) | gpu | 100 µs | 109 µs | 284 µs | 67.8 µs | 6302 |
| core: selected ($(":selected") vs filter({selected})) | v3 | 339 µs | 359 µs | 673 µs | 327 µs | 1931 |
| core: selected ($(":selected") vs filter({selected})) | gpu | 25.8 µs | 26.5 µs | 26.6 µs | 25.4 µs | 12 |
| core: filter(fn) | v3 | 417 µs | 445 µs | 962 µs | 412 µs | 1567 |
| core: filter(fn) | gpu | 351 µs | 426 µs | 1.78 ms | 345 µs | 1629 |
| core: collection() | v3 | 493 ns | 611 ns | 1.69 µs | 479 ns | 272 |
| core: collection() | gpu | 67.5 ns | 75.6 ns | 312 ns | 65.9 ns | 2231 |
| core: pan() get (x32) | v3 | 45.5 ns | 48.0 ns | 85.0 ns | 43.5 ns | 3499 |
| core: pan() get (x32) | gpu | 36.1 ns | 38.0 ns | 56.8 ns | 35.1 ns | 4500 |
| core: extent() | v3 | 23.0 ns | 42.5 ns | 137 ns | 21.7 ns | 3937 |
| core: extent() | gpu | 20.8 ns | 28.1 ns | 110 ns | 19.6 ns | 5932 |
| core: add + remove | v3 | 133 µs | 136 µs | 200 µs | 123 µs | 5062 |
| core: add + remove | gpu | 7.09 µs | 7.91 µs | 19.7 µs | 6.57 µs | 79601 |
| core: zoom set | v3 | 1.21 µs | 1.26 µs | 2.03 µs | 1.15 µs | 131 |
| core: zoom set | gpu | 657 ns | 684 ns | 1.09 µs | 622 ns | 236 |
| traverse: neighborhood() | v3 | 3.70 µs | 3.88 µs | 5.25 µs | 3.36 µs | 40 |
| traverse: neighborhood() | gpu | 938 ns | 1.12 µs | 2.35 µs | 902 ns | 144 |
| traverse: connectedEdges() | v3 | 1.01 µs | 1.13 µs | 2.05 µs | 971 ns | 146 |
| traverse: connectedEdges() | gpu | 378 ns | 431 ns | 1.40 µs | 367 ns | 389 |
| traverse: outgoers() | v3 | 2.30 µs | 2.49 µs | 3.52 µs | 2.21 µs | 64 |
| traverse: outgoers() | gpu | 455 ns | 511 ns | 1.32 µs | 432 ns | 312 |
| traverse: incomers() | v3 | 2.60 µs | 2.69 µs | 3.47 µs | 2.28 µs | 57 |
| traverse: incomers() | gpu | 424 ns | 439 ns | 776 ns | 422 ns | 364 |
| traverse: components() | v3 | 77.9 ms | 80.7 ms | 88.1 ms | 74.4 ms | 12 |
| traverse: components() | gpu | 2.02 ms | 2.16 ms | 3.47 ms | 1.96 ms | 310 |
| degree: node.degree() | v3 | 3.39 µs | 3.75 µs | 5.02 µs | 3.19 µs | 42 |
| degree: node.degree() | gpu | 27.9 ns | 29.5 ns | 47.2 ns | 26.8 ns | 5788 |
| degree: nodes.totalDegree() | v3 | 7.09 ms | 7.94 ms | 12.5 ms | 6.84 ms | 84 |
| degree: nodes.totalDegree() | gpu | 43.6 µs | 44.8 µs | 80.8 µs | 42.5 µs | 15134 |
| degree: nodes.maxDegree() | v3 | 7.28 ms | 8.10 ms | 12.9 ms | 6.89 ms | 82 |
| degree: nodes.maxDegree() | gpu | 51.5 µs | 52.9 µs | 88.3 µs | 49.6 µs | 13106 |
| data: get | v3 | 30.6 ns | 31.7 ns | 50.8 ns | 30.2 ns | 5390 |
| data: get | gpu | 25.8 ns | 26.8 ns | 39.1 ns | 24.7 ns | 6392 |
| position: get | v3 | 34.4 ns | 36.1 ns | 61.4 ns | 33.5 ns | 4740 |
| position: get | gpu | 20.9 ns | 24.8 ns | 49.7 ns | 20.1 ns | 6757 |
| json: element | v3 | 301 ns | 396 ns | 3.69 µs | 296 ns | 413 |
| json: element | gpu | 152 ns | 160 ns | 256 ns | 151 ns | 1015 |
| set: union() | v3 | 90.7 µs | 101 µs | 150 µs | 87.6 µs | 6885 |
| set: union() | gpu | 18.1 µs | 18.6 µs | 18.3 µs | 17.7 µs | 12 |
| set: intersection() | v3 | 91.1 µs | 100 µs | 145 µs | 88.5 µs | 6914 |
| set: intersection() | gpu | 3.46 µs | 3.51 µs | 4.03 µs | 3.38 µs | 43 |
| set: difference() | v3 | 90.4 µs | 103 µs | 164 µs | 87.4 µs | 6683 |
| set: difference() | gpu | 3.44 µs | 3.46 µs | 3.72 µs | 3.35 µs | 44 |
| iter: map() | v3 | 25.5 µs | 26.8 µs | 29.6 µs | 25.3 µs | 12 |
| iter: map() | gpu | 10.3 µs | 10.9 µs | 36.1 µs | 9.91 µs | 62078 |
| iter: forEach() | v3 | 3.48 µs | 3.73 µs | 3.62 µs | 3.43 µs | 36 |
| iter: forEach() | gpu | 3.34 µs | 3.38 µs | 3.65 µs | 3.28 µs | 45 |
| iter: filter(fn) | v3 | 244 µs | 253 µs | 400 µs | 240 µs | 2762 |
| iter: filter(fn) | gpu | 127 µs | 133 µs | 198 µs | 125 µs | 5243 |
| compare: same() | v3 | 119 µs | 124 µs | 201 µs | 115 µs | 5685 |
| compare: same() | gpu | 15.0 ns | 15.7 ns | 26.9 ns | 14.6 ns | 10872 |
| compare: contains() | v3 | 6.21 µs | 6.22 µs | 6.34 µs | 6.12 µs | 24 |
| compare: contains() | gpu | 1.24 µs | 1.25 µs | 1.39 µs | 1.22 µs | 130 |
| mut: data set | v3 | 419 ns | 434 ns | 675 ns | 408 ns | 384 |
| mut: data set | gpu | 106 ns | 112 ns | 149 ns | 104 ns | 1511 |
| mut: position set | v3 | 1.21 µs | 1.22 µs | 1.34 µs | 1.18 µs | 134 |
| mut: position set | gpu | 48.6 ns | 52.9 ns | 104 ns | 47.4 ns | 3195 |
| mut: select + unselect | v3 | 2.62 µs | 2.75 µs | 3.33 µs | 2.45 µs | 57 |
| mut: select + unselect | gpu | 665 ns | 706 ns | 1.14 µs | 612 ns | 684292 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| sweep: nodes() | v3 | 424 µs | 438 µs | 751 µs | 418 µs | 1599 |
| sweep: nodes() | gpu | 2.46 ns | 2.51 ns | 4.94 ns | 2.40 ns | 65710 |
| sweep: edges() | v3 | 724 µs | 741 µs | 878 µs | 700 µs | 942 |
| sweep: edges() | gpu | 2.56 ns | 2.64 ns | 5.04 ns | 2.46 ns | 62631 |
| sweep: elements() | v3 | 150 µs | 156 µs | 240 µs | 147 µs | 4478 |
| sweep: elements() | gpu | 4.85 ns | 4.96 ns | 8.84 ns | 4.65 ns | 33893 |
| sweep: all nodes ($("node") vs filter({group})) | v3 | 535 µs | 563 µs | 812 µs | 528 µs | 1238 |
| sweep: all nodes ($("node") vs filter({group})) | gpu | 58.9 µs | 73.5 µs | 189 µs | 53.7 µs | 9425 |
| sweep: selected ($(":selected") vs filter({selected})) | v3 | 346 µs | 356 µs | 546 µs | 341 µs | 1960 |
| sweep: selected ($(":selected") vs filter({selected})) | gpu | 26.2 µs | 27.1 µs | 28.8 µs | 26.0 µs | 12 |
| sweep: selected nodes ($("node:selected") vs filter({group, selected})) | v3 | 329 µs | 330 µs | 501 µs | 307 µs | 2119 |
| sweep: selected nodes ($("node:selected") vs filter({group, selected})) | gpu | 9.38 µs | 9.51 µs | 9.85 µs | 9.27 µs | 14 |
| sweep: nodes(":selected") vs nodes({selected}) | v3 | 522 µs | 532 µs | 689 µs | 517 µs | 1314 |
| sweep: nodes(":selected") vs nodes({selected}) | gpu | 8.93 µs | 8.98 µs | 9.30 µs | 8.85 µs | 15 |
| sweep: filter(fn) | v3 | 421 µs | 435 µs | 777 µs | 409 µs | 1607 |
| sweep: filter(fn) | gpu | 248 µs | 268 µs | 634 µs | 243 µs | 2586 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| mut-bulk: select + unselect | v3 | 1.83 ms | 1.90 ms | 3.22 ms | 1.78 ms | 348 |
| mut-bulk: select + unselect | gpu | 275 µs | 287 µs | 519 µs | 268 µs | 2441 |
| mut-bulk: hide + show | v3 | 59.5 ms | 67.9 ms | 83.3 ms | 57.9 ms | 12 |
| mut-bulk: hide + show | gpu | 213 µs | 225 µs | 724 µs | 204 µs | 3076 |
| mut-bulk: lock + unlock | v3 | 2.14 ms | 2.17 ms | 2.49 ms | 2.10 ms | 311 |
| mut-bulk: lock + unlock | gpu | 38.9 µs | 39.2 µs | 40.5 µs | 38.1 µs | 12 |
| mut-bulk: positions(obj) | v3 | 2.42 ms | 2.54 ms | 4.14 ms | 2.36 ms | 269 |
| mut-bulk: positions(obj) | gpu | 20.4 µs | 22.0 µs | 46.9 µs | 19.2 µs | 31321 |
| mut-bulk: positions(fn) | v3 | 3.32 ms | 3.49 ms | 5.87 ms | 3.23 ms | 197 |
| mut-bulk: positions(fn) | gpu | 34.8 µs | 38.0 µs | 94.9 µs | 32.6 µs | 18135 |
| mut-bulk: shift | v3 | 3.40 ms | 3.59 ms | 6.23 ms | 3.25 ms | 188 |
| mut-bulk: shift | gpu | 34.0 µs | 35.7 µs | 65.5 µs | 32.8 µs | 19099 |
| mut-bulk: data set | v3 | 922 µs | 944 µs | 1.19 ms | 909 µs | 720 |
| mut-bulk: data set | gpu | 64.8 µs | 66.7 µs | 115 µs | 62.0 µs | 10233 |
| mut-bulk: remove + re-add (256 nodes + cascade) | v3 | 46.0 ms | 47.3 ms | 53.7 ms | 40.2 ms | 11 |
| mut-bulk: remove + re-add (256 nodes + cascade) | gpu | 6.78 ms | 6.84 ms | 8.27 ms | 6.04 ms | 96 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| scn: explore (expand 2-hop + select + fit) | v3 | 290 µs | 332 µs | 996 µs | 277 µs | 2100 |
| scn: explore (expand 2-hop + select + fit) | gpu | 37.0 µs | 40.1 µs | 82.4 µs | 34.5 µs | 17182 |
| scn: select-all + fit (listeners on) | v3 | 24.3 ms | 24.7 ms | 27.9 ms | 22.6 ms | 23 |
| scn: select-all + fit (listeners on) | gpu | 918 µs | 972 µs | 1.65 ms | 864 µs | 692 |
| scn: drag (select band of 100 + 8-step shift, position listener) | v3 | 1.67 ms | 1.76 ms | 2.44 ms | 1.62 ms | 380 |
| scn: drag (select band of 100 + 8-step shift, position listener) | gpu | 103 µs | 110 µs | 334 µs | 99.4 µs | 6325 |
| scn: edit (remove + re-add 256 nodes + cascade, add/remove listeners) | v3 | 44.5 ms | 44.5 ms | 45.5 ms | 43.6 ms | 12 |
| scn: edit (remove + re-add 256 nodes + cascade, add/remove listeners) | gpu | 6.86 ms | 7.01 ms | 8.43 ms | 6.31 ms | 91 |
| scn: refresh (bulk data write + mapped labels + filter + fit, data listener) | v3 | 7.73 ms | 8.06 ms | 11.4 ms | 7.04 ms | 80 |
| scn: refresh (bulk data write + mapped labels + filter + fit, data listener) | gpu | 4.26 ms | 4.41 ms | 6.86 ms | 3.82 ms | 148 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| trav: neighborhood() | v3 | 3.85 µs | 4.05 µs | 5.13 µs | 3.39 µs | 38 |
| trav: neighborhood() | gpu | 991 ns | 1.05 µs | 2.11 µs | 820 ns | 156 |
| trav: closedNeighborhood() | v3 | 5.85 µs | 5.79 µs | 6.42 µs | 5.29 µs | 26 |
| trav: closedNeighborhood() | gpu | 2.17 µs | 2.35 µs | 3.07 µs | 2.15 µs | 68 |
| trav: connectedEdges() | v3 | 974 ns | 1.05 µs | 1.78 µs | 948 ns | 157 |
| trav: connectedEdges() | gpu | 391 ns | 409 ns | 539 ns | 381 ns | 413 |
| trav: outgoers() | v3 | 2.27 µs | 2.41 µs | 3.07 µs | 2.17 µs | 67 |
| trav: outgoers() | gpu | 478 ns | 563 ns | 2.04 µs | 466 ns | 295 |
| trav: incomers() | v3 | 2.26 µs | 2.40 µs | 2.89 µs | 2.14 µs | 67 |
| trav: incomers() | gpu | 475 ns | 562 ns | 2.07 µs | 468 ns | 292 |
| trav: successors() | v3 | 435 ms | 439 ms | 453 ms | 431 ms | 12 |
| trav: successors() | gpu | 599 µs | 638 µs | 1.96 ms | 555 µs | 1071 |
| trav: predecessors() | v3 | 430 ms | 433 ms | 446 ms | 423 ms | 12 |
| trav: predecessors() | gpu | 593 µs | 628 µs | 1.88 ms | 571 µs | 1085 |
| trav: band neighborhood() | v3 | 183 µs | 195 µs | 268 µs | 176 µs | 3569 |
| trav: band neighborhood() | gpu | 38.0 µs | 38.4 µs | 39.9 µs | 37.2 µs | 12 |
| trav: band connectedEdges() | v3 | 24.4 µs | 24.8 µs | 25.3 µs | 23.8 µs | 12 |
| trav: band connectedEdges() | gpu | 18.3 µs | 18.2 µs | 18.8 µs | 17.0 µs | 12 |
| trav: band roots() | v3 | 107 µs | 119 µs | 244 µs | 102 µs | 5854 |
| trav: band roots() | gpu | 4.81 µs | 4.84 µs | 4.98 µs | 4.75 µs | 31 |
| trav: band sources() | v3 | 6.56 µs | 6.59 µs | 6.83 µs | 6.27 µs | 22 |
| trav: band sources() | gpu | 4.44 µs | 4.51 µs | 4.83 µs | 4.35 µs | 33 |
| trav: band connectedNodes() | v3 | 13.7 µs | 13.8 µs | 13.8 µs | 13.6 µs | 9 |
| trav: band connectedNodes() | gpu | 5.06 µs | 5.11 µs | 5.36 µs | 4.98 µs | 29 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| algo: bfs (whole graph) | v3 | 54.2 ms | 53.7 ms | 58.7 ms | 49.1 ms | 9 |
| algo: bfs (whole graph) | gpu | 924 µs | 936 µs | 1.39 ms | 846 µs | 727 |
| algo: dfs (whole graph) | v3 | 49.8 ms | 50.0 ms | 50.4 ms | 48.3 ms | 10 |
| algo: dfs (whole graph) | gpu | 850 µs | 880 µs | 1.28 ms | 808 µs | 788 |
| algo: dijkstra + pathTo | v3 | 54.0 ms | 54.1 ms | 55.0 ms | 53.6 ms | 9 |
| algo: dijkstra + pathTo | gpu | 959 µs | 974 µs | 1.27 ms | 921 µs | 713 |
| algo: aStar | v3 | 1.72 ms | 1.78 ms | 2.82 ms | 1.68 ms | 389 |
| algo: aStar | gpu | 511 µs | 525 µs | 703 µs | 494 µs | 1329 |
| algo: bellmanFord | v3 | 235 ms | 236 ms | 259 ms | 213 ms | 12 |
| algo: bellmanFord | gpu | 11.8 ms | 12.0 ms | 14.5 ms | 11.5 ms | 54 |
| algo: kruskal | v3 | 13.3 ms | 14.2 ms | 17.2 ms | 12.8 ms | 45 |
| algo: kruskal | gpu | 529 µs | 540 µs | 902 µs | 469 µs | 1272 |
| algo: tarjan SCC | v3 | 24.2 ms | 25.0 ms | 29.7 ms | 22.1 ms | 24 |
| algo: tarjan SCC | gpu | 666 µs | 835 µs | 5.30 ms | 623 µs | 807 |
| algo: hopcroft-tarjan biconnected | v3 | 87.9 ms | 88.4 ms | 92.4 ms | 83.2 ms | 12 |
| algo: hopcroft-tarjan biconnected | gpu | 3.51 ms | 3.87 ms | 6.47 ms | 3.40 ms | 174 |
| algo: hierholzer (directed) | v3 | 23.4 ms | 24.0 ms | 27.0 ms | 22.0 ms | 25 |
| algo: hierholzer (directed) | gpu | 7.91 ms | 8.02 ms | 8.91 ms | 7.70 ms | 79 |
| algo: betweennessCentrality (unweighted) | v3 | 4.09 s | 4.10 s | 4.14 s | 4.03 s | 12 |
| algo: betweennessCentrality (unweighted) | gpu | 364 ms | 380 ms | 442 ms | 352 ms | 12 |
| algo: degreeCentralityNormalized | v3 | 14.9 ms | 15.8 ms | 18.4 ms | 14.1 ms | 40 |
| algo: degreeCentralityNormalized | gpu | 393 µs | 410 µs | 803 µs | 388 µs | 1701 |
| algo: closenessCentrality (one root) | v3 | 60.2 ms | 62.8 ms | 69.4 ms | 59.1 ms | 12 |
| algo: closenessCentrality (one root) | gpu | 820 µs | 850 µs | 1.44 ms | 787 µs | 819 |
| algo: degreeCentrality (one root) | v3 | 7.49 µs | 7.40 µs | 8.44 µs | 6.64 µs | 19 |
| algo: degreeCentrality (one root) | gpu | 247 ns | 256 ns | 521 ns | 236 ns | 657 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| algo: bfs (whole graph) | v3 | 12.3 ms | 13.2 ms | 19.2 ms | 10.9 ms | 48 |
| algo: bfs (whole graph) | gpu | 213 µs | 217 µs | 350 µs | 194 µs | 3163 |
| algo: dfs (whole graph) | v3 | 11.2 ms | 12.2 ms | 15.4 ms | 10.8 ms | 53 |
| algo: dfs (whole graph) | gpu | 181 µs | 188 µs | 295 µs | 177 µs | 3715 |
| algo: dijkstra + pathTo | v3 | 12.0 ms | 12.8 ms | 16.2 ms | 11.2 ms | 51 |
| algo: dijkstra + pathTo | gpu | 235 µs | 241 µs | 305 µs | 228 µs | 2898 |
| algo: aStar | v3 | 438 µs | 448 µs | 565 µs | 427 µs | 1561 |
| algo: aStar | gpu | 122 µs | 127 µs | 185 µs | 117 µs | 5502 |
| algo: bellmanFord | v3 | 16.8 ms | 17.0 ms | 18.4 ms | 16.5 ms | 37 |
| algo: bellmanFord | gpu | 808 µs | 840 µs | 1.85 ms | 787 µs | 827 |
| algo: kruskal | v3 | 3.23 ms | 3.56 ms | 6.85 ms | 3.11 ms | 193 |
| algo: kruskal | gpu | 135 µs | 144 µs | 263 µs | 132 µs | 4848 |
| algo: tarjan SCC | v3 | 5.29 ms | 5.67 ms | 9.20 ms | 5.11 ms | 120 |
| algo: tarjan SCC | gpu | 157 µs | 167 µs | 309 µs | 150 µs | 4106 |
| algo: hopcroft-tarjan biconnected | v3 | 20.2 ms | 20.9 ms | 23.6 ms | 18.8 ms | 30 |
| algo: hopcroft-tarjan biconnected | gpu | 801 µs | 826 µs | 1.15 ms | 767 µs | 844 |
| algo: hierholzer (directed) | v3 | 4.25 ms | 4.49 ms | 7.49 ms | 4.07 ms | 146 |
| algo: hierholzer (directed) | gpu | 816 µs | 838 µs | 1.13 ms | 788 µs | 813 |
| algo: betweennessCentrality (unweighted) | v3 | 251 ms | 255 ms | 268 ms | 248 ms | 12 |
| algo: betweennessCentrality (unweighted) | gpu | 20.4 ms | 20.8 ms | 22.3 ms | 19.9 ms | 29 |
| algo: degreeCentralityNormalized | v3 | 3.47 ms | 3.81 ms | 7.21 ms | 3.39 ms | 176 |
| algo: degreeCentralityNormalized | gpu | 94.0 µs | 96.0 µs | 141 µs | 91.4 µs | 7269 |
| algo: closenessCentrality (one root) | v3 | 14.1 ms | 14.5 ms | 17.8 ms | 12.9 ms | 44 |
| algo: closenessCentrality (one root) | gpu | 202 µs | 206 µs | 292 µs | 194 µs | 3399 |
| algo: degreeCentrality (one root) | v3 | 7.28 µs | 7.40 µs | 7.91 µs | 6.76 µs | 20 |
| algo: degreeCentrality (one root) | gpu | 241 ns | 246 ns | 319 ns | 236 ns | 691 |
| algo: pageRank (20 iters) | v3 | 2.73 ms | 2.90 ms | 6.25 ms | 2.67 ms | 231 |
| algo: pageRank (20 iters) | gpu | 1.46 ms | 1.68 ms | 3.82 ms | 1.42 ms | 411 |
| algo: closenessCentrality (weighted, one root) | v3 | 13.9 ms | 14.7 ms | 17.3 ms | 13.0 ms | 43 |
| algo: closenessCentrality (weighted, one root) | gpu | 255 µs | 265 µs | 413 µs | 248 µs | 2645 |
| algo: floydWarshall | v3 | 246 ms | 273 ms | 383 ms | 244 ms | 12 |
| algo: floydWarshall | gpu | 155 ms | 160 ms | 209 ms | 139 ms | 12 |
| algo: closenessCentralityNormalized | v3 | 274 ms | 276 ms | 281 ms | 270 ms | 12 |
| algo: closenessCentralityNormalized | gpu | 164 ms | 166 ms | 167 ms | 162 ms | 12 |
| algo: markovClustering | v3 | 4.12 s | 4.38 s | 4.64 s | 4.09 s | 12 |
| algo: markovClustering | gpu | 3.75 s | 3.76 s | 3.79 s | 3.74 s | 12 |
| algo: hierarchicalClustering (threshold) | v3 | 34.6 ms | 34.6 ms | 35.3 ms | 34.0 ms | 16 |
| algo: hierarchicalClustering (threshold) | gpu | 14.7 ms | 15.0 ms | 16.7 ms | 14.3 ms | 43 |
| algo: kMeans (fixed centroids) | v3 | 9.11 ms | 9.22 ms | 10.4 ms | 8.93 ms | 72 |
| algo: kMeans (fixed centroids) | gpu | 2.35 ms | 2.39 ms | 3.35 ms | 2.26 ms | 289 |
| algo: kMedoids | v3 | 376 ms | 333 ms | 420 ms | 107 ms | 12 |
| algo: kMedoids | gpu | 42.0 ms | 40.8 ms | 55.7 ms | 21.6 ms | 14 |
| algo: fuzzyCMeans | v3 | 78.8 ms | 80.4 ms | 85.9 ms | 77.7 ms | 12 |
| algo: fuzzyCMeans | gpu | 9.06 ms | 9.15 ms | 10.2 ms | 8.76 ms | 72 |
| algo: affinityPropagation | v3 | 215 ms | 214 ms | 222 ms | 202 ms | 12 |
| algo: affinityPropagation | gpu | 41.2 ms | 43.0 ms | 47.5 ms | 39.3 ms | 10 |
| algo: kargerStein | v3 | 316 ms | 320 ms | 328 ms | 314 ms | 12 |
| algo: kargerStein | gpu | 306 ms | 308 ms | 316 ms | 298 ms | 12 |
| algo: betweennessCentrality (weighted) | v3 | 703 ms | 708 ms | 715 ms | 698 ms | 12 |
| algo: betweennessCentrality (weighted) | gpu | 80.9 ms | 82.5 ms | 82.8 ms | 79.6 ms | 12 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| mapper: bulk write, color | cpu eval | 2.54 ms | 2.60 ms | 4.04 ms | 2.46 ms | 263 |
| mapper: bulk write, color | gpu path | 175 µs | 182 µs | 302 µs | 170 µs | 3844 |
| mapper: bulk write, color + size | cpu eval | 3.01 ms | 3.04 ms | 3.54 ms | 2.91 ms | 225 |
| mapper: bulk write, color + size | gpu color / cpu size | 2.61 ms | 2.65 ms | 3.10 ms | 2.55 ms | 261 |
| mapper: bulk write, mapped labels (round-5 path) | label refresh | 4.09 ms | 4.26 ms | 6.92 ms | 3.46 ms | 159 |