| 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 | 54062c08 docs(65.12c): the renderer device flip is an open question again, measured |
| Machine id | 5cf3f79c |
| group | × @ N=500 | × @ N=2k |
|---|---|---|
| algo: bfs (whole graph) | 67× | 55× |
| algo: dfs (whole graph) | 60× | 59× |
| algo: dijkstra + pathTo | 51× | 56× |
| algo: aStar | 3.6× | 3.4× |
| algo: bellmanFord | 21× | 19× |
| algo: kruskal | 23× | 27× |
| algo: tarjan SCC | 35× | 37× |
| algo: hopcroft-tarjan biconnected | 25× | 25× |
| algo: hierholzer (directed) | 5.3× | 2.8× |
| algo: betweennessCentrality (unweighted) | 13× | 11× |
| algo: degreeCentralityNormalized | 37× | 37× |
| algo: closenessCentrality (one root) | 69× | 72× |
| algo: degreeCentrality (one root) | 31× | 30× |
| algo: pageRank (20 iters) | 70× | – |
| algo: closenessCentrality (weighted, one root) | 53× | – |
| algo: floydWarshall | 1.76× | – |
| algo: closenessCentralityNormalized | 1.65× | – |
| algo: markovClustering | 1.10× | – |
| algo: hierarchicalClustering (threshold) | 8.4× | – |
| algo: kMeans (fixed centroids) | 4.3× | – |
| algo: kMedoids | 10× | – |
| algo: fuzzyCMeans | 11× | – |
| algo: affinityPropagation | 5.3× | – |
| algo: kargerStein | 1.07× | – |
| algo: betweennessCentrality (weighted) | 9.0× | – |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| core: getElementById() | v3 | 90.3 ns | 93.4 ns | 138 ns | 88.5 ns | 1835 |
| core: getElementById() | gpu | 92.1 ns | 94.6 ns | 128 ns | 89.1 ns | 1810 |
| core: id lookup ($("#id") vs $id()) | v3 | 2.08 µs | 2.40 µs | 3.56 µs | 1.94 µs | 66 |
| core: id lookup ($("#id") vs $id()) | gpu | 85.0 ns | 88.5 ns | 166 ns | 82.4 ns | 1932 |
| core: nodes() | v3 | 419 µs | 432 µs | 659 µs | 412 µs | 1615 |
| core: nodes() | gpu | 8.19 ns | 8.64 ns | 17.9 ns | 7.72 ns | 19639 |
| core: edges() | v3 | 723 µs | 739 µs | 939 µs | 704 µs | 946 |
| core: edges() | gpu | 7.73 ns | 8.32 ns | 16.2 ns | 7.67 ns | 20397 |
| core: elements() | v3 | 140 µs | 150 µs | 410 µs | 138 µs | 4639 |
| core: elements() | gpu | 6.98 ns | 7.28 ns | 16.8 ns | 6.66 ns | 23340 |
| core: nodes ($("node") vs filter({group})) | v3 | 548 µs | 576 µs | 1.20 ms | 536 µs | 1213 |
| core: nodes ($("node") vs filter({group})) | gpu | 111 µs | 117 µs | 259 µs | 82.8 µs | 5854 |
| core: selected ($(":selected") vs filter({selected})) | v3 | 327 µs | 341 µs | 620 µs | 320 µs | 2041 |
| core: selected ($(":selected") vs filter({selected})) | gpu | 24.5 µs | 25.1 µs | 25.2 µs | 24.4 µs | 12 |
| core: filter(fn) | v3 | 411 µs | 421 µs | 580 µs | 406 µs | 1660 |
| core: filter(fn) | gpu | 422 µs | 451 µs | 892 µs | 409 µs | 1530 |
| core: collection() | v3 | 461 ns | 569 ns | 1.86 µs | 447 ns | 291 |
| core: collection() | gpu | 65.9 ns | 71.0 ns | 283 ns | 63.1 ns | 2370 |
| core: pan() get (x32) | v3 | 44.7 ns | 46.9 ns | 57.2 ns | 42.9 ns | 3633 |
| core: pan() get (x32) | gpu | 35.8 ns | 36.9 ns | 53.6 ns | 33.6 ns | 4638 |
| core: extent() | v3 | 22.6 ns | 40.1 ns | 134 ns | 21.4 ns | 4158 |
| core: extent() | gpu | 20.8 ns | 27.9 ns | 108 ns | 19.5 ns | 5979 |
| core: add + remove | v3 | 122 µs | 128 µs | 265 µs | 113 µs | 5401 |
| core: add + remove | gpu | 7.09 µs | 8.26 µs | 21.8 µs | 6.66 µs | 77228 |
| core: zoom set | v3 | 1.39 µs | 1.41 µs | 1.57 µs | 1.29 µs | 115 |
| core: zoom set | gpu | 597 ns | 609 ns | 816 ns | 578 ns | 268 |
| traverse: neighborhood() | v3 | 3.63 µs | 3.83 µs | 4.76 µs | 3.42 µs | 41 |
| traverse: neighborhood() | gpu | 1.06 µs | 1.22 µs | 2.52 µs | 1.01 µs | 133 |
| traverse: connectedEdges() | v3 | 1.02 µs | 1.12 µs | 2.06 µs | 963 ns | 147 |
| traverse: connectedEdges() | gpu | 454 ns | 512 ns | 1.47 µs | 440 ns | 326 |
| traverse: outgoers() | v3 | 2.32 µs | 2.53 µs | 3.49 µs | 2.22 µs | 63 |
| traverse: outgoers() | gpu | 497 ns | 535 ns | 1.24 µs | 478 ns | 300 |
| traverse: incomers() | v3 | 2.34 µs | 2.55 µs | 3.50 µs | 2.21 µs | 63 |
| traverse: incomers() | gpu | 494 ns | 503 ns | 620 ns | 484 ns | 320 |
| traverse: components() | v3 | 78.6 ms | 82.0 ms | 91.1 ms | 75.6 ms | 12 |
| traverse: components() | gpu | 1.98 ms | 2.17 ms | 3.70 ms | 1.91 ms | 307 |
| degree: node.degree() | v3 | 3.33 µs | 3.74 µs | 5.17 µs | 3.19 µs | 42 |
| degree: node.degree() | gpu | 27.9 ns | 29.3 ns | 45.1 ns | 26.3 ns | 5826 |
| degree: nodes.totalDegree() | v3 | 7.67 ms | 8.52 ms | 13.0 ms | 6.84 ms | 78 |
| degree: nodes.totalDegree() | gpu | 44.7 µs | 45.4 µs | 45.6 µs | 44.3 µs | 12 |
| degree: nodes.maxDegree() | v3 | 7.41 ms | 8.30 ms | 13.5 ms | 7.01 ms | 80 |
| degree: nodes.maxDegree() | gpu | 51.7 µs | 52.6 µs | 84.0 µs | 50.3 µs | 13307 |
| data: get | v3 | 29.8 ns | 31.2 ns | 53.4 ns | 28.7 ns | 5482 |
| data: get | gpu | 29.8 ns | 31.5 ns | 57.2 ns | 28.8 ns | 5424 |
| position: get | v3 | 35.2 ns | 37.2 ns | 97.8 ns | 33.6 ns | 4594 |
| position: get | gpu | 22.0 ns | 26.7 ns | 65.0 ns | 20.8 ns | 6239 |
| json: element | v3 | 298 ns | 389 ns | 3.58 µs | 291 ns | 423 |
| json: element | gpu | 159 ns | 169 ns | 350 ns | 153 ns | 973 |
| set: union() | v3 | 94.1 µs | 107 µs | 185 µs | 90.7 µs | 6436 |
| set: union() | gpu | 17.0 µs | 17.8 µs | 19.2 µs | 16.1 µs | 12 |
| set: intersection() | v3 | 90.6 µs | 103 µs | 126 µs | 88.8 µs | 6678 |
| set: intersection() | gpu | 3.58 µs | 3.62 µs | 3.97 µs | 3.52 µs | 42 |
| set: difference() | v3 | 91.8 µs | 104 µs | 157 µs | 88.8 µs | 6626 |
| set: difference() | gpu | 3.55 µs | 3.59 µs | 3.95 µs | 3.48 µs | 43 |
| iter: map() | v3 | 28.5 µs | 30.3 µs | 79.2 µs | 27.5 µs | 22761 |
| iter: map() | gpu | 10.3 µs | 10.4 µs | 10.5 µs | 10.3 µs | 12 |
| iter: forEach() | v3 | 3.50 µs | 3.83 µs | 4.65 µs | 3.43 µs | 36 |
| iter: forEach() | gpu | 3.30 µs | 3.33 µs | 3.44 µs | 3.25 µs | 45 |
| iter: filter(fn) | v3 | 247 µs | 261 µs | 520 µs | 242 µs | 2684 |
| iter: filter(fn) | gpu | 135 µs | 140 µs | 212 µs | 131 µs | 4976 |
| compare: same() | v3 | 116 µs | 122 µs | 288 µs | 112 µs | 5726 |
| compare: same() | gpu | 14.9 ns | 15.7 ns | 26.6 ns | 14.1 ns | 10893 |
| compare: contains() | v3 | 5.95 µs | 5.94 µs | 6.05 µs | 5.83 µs | 25 |
| compare: contains() | gpu | 1.24 µs | 1.25 µs | 1.41 µs | 1.20 µs | 130 |
| mut: data set | v3 | 603 ns | 621 ns | 740 ns | 569 ns | 269 |
| mut: data set | gpu | 235 ns | 250 ns | 571 ns | 229 ns | 676 |
| mut: position set | v3 | 1.23 µs | 1.27 µs | 1.84 µs | 1.14 µs | 130 |
| mut: position set | gpu | 52.7 ns | 56.8 ns | 105 ns | 51.2 ns | 2987 |
| mut: select + unselect | v3 | 2.53 µs | 2.70 µs | 3.33 µs | 2.41 µs | 57 |
| mut: select + unselect | gpu | 604 ns | 613 ns | 709 ns | 582 ns | 263 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| sweep: nodes() | v3 | 409 µs | 421 µs | 579 µs | 399 µs | 1667 |
| sweep: nodes() | gpu | 2.41 ns | 2.50 ns | 3.03 ns | 2.40 ns | 66115 |
| sweep: edges() | v3 | 702 µs | 719 µs | 915 µs | 680 µs | 972 |
| sweep: edges() | gpu | 2.51 ns | 2.63 ns | 5.74 ns | 2.46 ns | 63162 |
| sweep: elements() | v3 | 137 µs | 146 µs | 238 µs | 125 µs | 4796 |
| sweep: elements() | gpu | 4.85 ns | 5.05 ns | 10.8 ns | 4.65 ns | 33467 |
| sweep: all nodes ($("node") vs filter({group})) | v3 | 543 µs | 573 µs | 913 µs | 526 µs | 1220 |
| sweep: all nodes ($("node") vs filter({group})) | gpu | 57.6 µs | 71.7 µs | 161 µs | 53.2 µs | 9654 |
| sweep: selected ($(":selected") vs filter({selected})) | v3 | 332 µs | 343 µs | 586 µs | 320 µs | 2038 |
| sweep: selected ($(":selected") vs filter({selected})) | gpu | 25.7 µs | 26.1 µs | 26.5 µs | 25.3 µs | 12 |
| sweep: selected nodes ($("node:selected") vs filter({group, selected})) | v3 | 317 µs | 329 µs | 599 µs | 313 µs | 2129 |
| sweep: selected nodes ($("node:selected") vs filter({group, selected})) | gpu | 9.05 µs | 9.06 µs | 9.28 µs | 8.85 µs | 15 |
| sweep: nodes(":selected") vs nodes({selected}) | v3 | 534 µs | 545 µs | 740 µs | 520 µs | 1284 |
| sweep: nodes(":selected") vs nodes({selected}) | gpu | 8.95 µs | 9.02 µs | 9.45 µs | 8.82 µs | 15 |
| sweep: filter(fn) | v3 | 407 µs | 420 µs | 624 µs | 395 µs | 1668 |
| sweep: filter(fn) | gpu | 243 µs | 259 µs | 557 µs | 237 µs | 2683 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| mut-bulk: select + unselect | v3 | 2.00 ms | 2.04 ms | 3.20 ms | 1.91 ms | 327 |
| mut-bulk: select + unselect | gpu | 243 µs | 251 µs | 380 µs | 234 µs | 2791 |
| mut-bulk: hide + show | v3 | 59.8 ms | 64.5 ms | 70.5 ms | 57.2 ms | 12 |
| mut-bulk: hide + show | gpu | 218 µs | 225 µs | 379 µs | 209 µs | 3016 |
| mut-bulk: lock + unlock | v3 | 1.98 ms | 2.05 ms | 3.52 ms | 1.91 ms | 338 |
| mut-bulk: lock + unlock | gpu | 38.9 µs | 39.1 µs | 39.4 µs | 38.5 µs | 12 |
| mut-bulk: positions(obj) | v3 | 2.25 ms | 2.30 ms | 3.70 ms | 2.20 ms | 299 |
| mut-bulk: positions(obj) | gpu | 37.1 µs | 38.3 µs | 70.2 µs | 35.8 µs | 17695 |
| mut-bulk: positions(fn) | v3 | 3.37 ms | 3.58 ms | 5.75 ms | 3.27 ms | 192 |
| mut-bulk: positions(fn) | gpu | 146 µs | 151 µs | 230 µs | 139 µs | 4476 |
| mut-bulk: shift | v3 | 3.45 ms | 3.66 ms | 5.58 ms | 3.33 ms | 188 |
| mut-bulk: shift | gpu | 32.6 µs | 34.0 µs | 65.8 µs | 31.2 µs | 19768 |
| mut-bulk: data set | v3 | 853 µs | 868 µs | 1.11 ms | 820 µs | 780 |
| mut-bulk: data set | gpu | 63.5 µs | 66.4 µs | 135 µs | 61.1 µs | 10516 |
| mut-bulk: remove + re-add (256 nodes + cascade) | v3 | 44.3 ms | 46.7 ms | 53.8 ms | 41.0 ms | 11 |
| mut-bulk: remove + re-add (256 nodes + cascade) | gpu | 6.81 ms | 6.90 ms | 8.11 ms | 6.15 ms | 95 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| scn: explore (expand 2-hop + select + fit) | v3 | 290 µs | 337 µs | 920 µs | 271 µs | 2062 |
| scn: explore (expand 2-hop + select + fit) | gpu | 37.8 µs | 41.8 µs | 118 µs | 34.4 µs | 16483 |
| scn: select-all + fit (listeners on) | v3 | 24.5 ms | 24.4 ms | 26.4 ms | 22.1 ms | 24 |
| scn: select-all + fit (listeners on) | gpu | 944 µs | 984 µs | 1.45 ms | 897 µs | 684 |
| scn: drag (select band of 100 + 8-step shift, position listener) | v3 | 1.64 ms | 1.73 ms | 3.53 ms | 1.58 ms | 387 |
| scn: drag (select band of 100 + 8-step shift, position listener) | gpu | 99.7 µs | 104 µs | 173 µs | 97.6 µs | 6450 |
| scn: edit (remove + re-add 256 nodes + cascade, add/remove listeners) | v3 | 45.5 ms | 45.7 ms | 46.4 ms | 43.7 ms | 11 |
| scn: edit (remove + re-add 256 nodes + cascade, add/remove listeners) | gpu | 6.93 ms | 7.12 ms | 9.06 ms | 6.31 ms | 92 |
| scn: refresh (bulk data write + mapped labels + filter + fit, data listener) | v3 | 7.73 ms | 8.28 ms | 11.1 ms | 7.22 ms | 78 |
| scn: refresh (bulk data write + mapped labels + filter + fit, data listener) | gpu | 4.23 ms | 4.36 ms | 7.36 ms | 3.75 ms | 147 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| trav: neighborhood() | v3 | 4.00 µs | 4.22 µs | 5.68 µs | 3.48 µs | 36 |
| trav: neighborhood() | gpu | 990 ns | 1.04 µs | 2.01 µs | 835 ns | 158 |
| trav: closedNeighborhood() | v3 | 6.01 µs | 5.85 µs | 6.29 µs | 5.30 µs | 25 |
| trav: closedNeighborhood() | gpu | 2.10 µs | 2.27 µs | 2.89 µs | 2.06 µs | 71 |
| trav: connectedEdges() | v3 | 1.01 µs | 1.12 µs | 1.98 µs | 981 ns | 148 |
| trav: connectedEdges() | gpu | 389 ns | 403 ns | 688 ns | 380 ns | 420 |
| trav: outgoers() | v3 | 2.35 µs | 2.51 µs | 3.09 µs | 2.27 µs | 64 |
| trav: outgoers() | gpu | 442 ns | 526 ns | 2.01 µs | 432 ns | 316 |
| trav: incomers() | v3 | 2.34 µs | 2.50 µs | 3.10 µs | 2.28 µs | 64 |
| trav: incomers() | gpu | 436 ns | 523 ns | 2.01 µs | 433 ns | 315 |
| trav: successors() | v3 | 442 ms | 446 ms | 454 ms | 435 ms | 12 |
| trav: successors() | gpu | 557 µs | 588 µs | 1.75 ms | 543 µs | 1156 |
| trav: predecessors() | v3 | 436 ms | 440 ms | 451 ms | 433 ms | 12 |
| trav: predecessors() | gpu | 579 µs | 612 µs | 1.54 ms | 559 µs | 1113 |
| trav: band neighborhood() | v3 | 192 µs | 204 µs | 279 µs | 185 µs | 3415 |
| trav: band neighborhood() | gpu | 37.3 µs | 37.9 µs | 39.6 µs | 36.9 µs | 12 |
| trav: band connectedEdges() | v3 | 24.7 µs | 24.9 µs | 25.5 µs | 23.7 µs | 12 |
| trav: band connectedEdges() | gpu | 16.6 µs | 17.4 µs | 20.1 µs | 16.4 µs | 12 |
| trav: band roots() | v3 | 114 µs | 124 µs | 207 µs | 110 µs | 5612 |
| trav: band roots() | gpu | 4.87 µs | 4.90 µs | 5.12 µs | 4.80 µs | 31 |
| trav: band sources() | v3 | 6.51 µs | 6.53 µs | 7.07 µs | 6.28 µs | 22 |
| trav: band sources() | gpu | 4.38 µs | 4.42 µs | 4.61 µs | 4.28 µs | 34 |
| trav: band connectedNodes() | v3 | 14.0 µs | 14.0 µs | 14.1 µs | 13.8 µs | 9 |
| trav: band connectedNodes() | gpu | 4.95 µs | 5.01 µs | 5.26 µs | 4.85 µs | 30 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| algo: bfs (whole graph) | v3 | 50.1 ms | 51.9 ms | 56.4 ms | 48.1 ms | 10 |
| algo: bfs (whole graph) | gpu | 911 µs | 928 µs | 1.39 ms | 849 µs | 747 |
| algo: dfs (whole graph) | v3 | 48.6 ms | 48.8 ms | 50.0 ms | 47.9 ms | 11 |
| algo: dfs (whole graph) | gpu | 818 µs | 841 µs | 1.12 ms | 806 µs | 818 |
| algo: dijkstra + pathTo | v3 | 52.1 ms | 52.1 ms | 52.7 ms | 50.9 ms | 10 |
| algo: dijkstra + pathTo | gpu | 927 µs | 942 µs | 1.22 ms | 881 µs | 738 |
| algo: aStar | v3 | 1.72 ms | 1.75 ms | 2.35 ms | 1.67 ms | 387 |
| algo: aStar | gpu | 505 µs | 520 µs | 661 µs | 488 µs | 1341 |
| algo: bellmanFord | v3 | 230 ms | 225 ms | 244 ms | 206 ms | 12 |
| algo: bellmanFord | gpu | 11.8 ms | 11.9 ms | 12.9 ms | 11.6 ms | 55 |
| algo: kruskal | v3 | 13.2 ms | 14.2 ms | 17.0 ms | 12.6 ms | 45 |
| algo: kruskal | gpu | 493 µs | 528 µs | 892 µs | 469 µs | 1313 |
| algo: tarjan SCC | v3 | 22.7 ms | 23.5 ms | 26.0 ms | 21.2 ms | 26 |
| algo: tarjan SCC | gpu | 611 µs | 657 µs | 1.16 ms | 591 µs | 1035 |
| algo: hopcroft-tarjan biconnected | v3 | 85.0 ms | 87.0 ms | 94.9 ms | 81.1 ms | 12 |
| algo: hopcroft-tarjan biconnected | gpu | 3.44 ms | 3.54 ms | 4.80 ms | 3.35 ms | 192 |
| algo: hierholzer (directed) | v3 | 22.0 ms | 23.2 ms | 26.4 ms | 21.2 ms | 26 |
| algo: hierholzer (directed) | gpu | 7.89 ms | 8.22 ms | 13.5 ms | 7.69 ms | 73 |
| algo: betweennessCentrality (unweighted) | v3 | 4.02 s | 4.03 s | 4.09 s | 3.98 s | 12 |
| algo: betweennessCentrality (unweighted) | gpu | 357 ms | 372 ms | 438 ms | 338 ms | 12 |
| algo: degreeCentralityNormalized | v3 | 14.7 ms | 15.5 ms | 18.9 ms | 13.9 ms | 41 |
| algo: degreeCentralityNormalized | gpu | 396 µs | 406 µs | 606 µs | 384 µs | 1721 |
| algo: closenessCentrality (one root) | v3 | 59.5 ms | 61.9 ms | 67.3 ms | 58.3 ms | 12 |
| algo: closenessCentrality (one root) | gpu | 825 µs | 861 µs | 1.43 ms | 797 µs | 813 |
| algo: degreeCentrality (one root) | v3 | 7.43 µs | 7.33 µs | 7.78 µs | 6.59 µs | 20 |
| algo: degreeCentrality (one root) | gpu | 247 ns | 252 ns | 305 ns | 241 ns | 672 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| algo: bfs (whole graph) | v3 | 12.9 ms | 13.5 ms | 20.1 ms | 10.7 ms | 47 |
| algo: bfs (whole graph) | gpu | 194 µs | 197 µs | 271 µs | 182 µs | 3552 |
| algo: dfs (whole graph) | v3 | 11.4 ms | 12.4 ms | 16.4 ms | 11.0 ms | 53 |
| algo: dfs (whole graph) | gpu | 191 µs | 196 µs | 266 µs | 188 µs | 3572 |
| algo: dijkstra + pathTo | v3 | 12.0 ms | 12.7 ms | 15.7 ms | 11.4 ms | 51 |
| algo: dijkstra + pathTo | gpu | 233 µs | 239 µs | 291 µs | 226 µs | 2931 |
| algo: aStar | v3 | 439 µs | 449 µs | 555 µs | 424 µs | 1559 |
| algo: aStar | gpu | 121 µs | 124 µs | 174 µs | 117 µs | 5625 |
| algo: bellmanFord | v3 | 17.2 ms | 17.3 ms | 18.2 ms | 17.0 ms | 37 |
| algo: bellmanFord | gpu | 810 µs | 836 µs | 1.92 ms | 805 µs | 832 |
| algo: kruskal | v3 | 3.21 ms | 3.50 ms | 7.09 ms | 3.11 ms | 191 |
| algo: kruskal | gpu | 139 µs | 143 µs | 203 µs | 136 µs | 4884 |
| algo: tarjan SCC | v3 | 5.40 ms | 5.81 ms | 9.23 ms | 5.27 ms | 115 |
| algo: tarjan SCC | gpu | 156 µs | 164 µs | 277 µs | 151 µs | 4258 |
| algo: hopcroft-tarjan biconnected | v3 | 20.5 ms | 21.2 ms | 23.9 ms | 19.0 ms | 29 |
| algo: hopcroft-tarjan biconnected | gpu | 821 µs | 844 µs | 1.19 ms | 802 µs | 825 |
| algo: hierholzer (directed) | v3 | 4.24 ms | 4.51 ms | 7.24 ms | 4.11 ms | 148 |
| algo: hierholzer (directed) | gpu | 806 µs | 827 µs | 1.15 ms | 791 µs | 823 |
| algo: betweennessCentrality (unweighted) | v3 | 258 ms | 260 ms | 270 ms | 254 ms | 12 |
| algo: betweennessCentrality (unweighted) | gpu | 20.5 ms | 20.9 ms | 23.5 ms | 19.8 ms | 29 |
| algo: degreeCentralityNormalized | v3 | 3.50 ms | 3.84 ms | 7.52 ms | 3.42 ms | 178 |
| algo: degreeCentralityNormalized | gpu | 93.9 µs | 96.3 µs | 138 µs | 92.5 µs | 7258 |
| algo: closenessCentrality (one root) | v3 | 13.6 ms | 14.6 ms | 18.2 ms | 13.1 ms | 44 |
| algo: closenessCentrality (one root) | gpu | 199 µs | 206 µs | 311 µs | 192 µs | 3396 |
| algo: degreeCentrality (one root) | v3 | 7.46 µs | 7.39 µs | 8.27 µs | 6.56 µs | 19 |
| algo: degreeCentrality (one root) | gpu | 239 ns | 245 ns | 345 ns | 233 ns | 692 |
| algo: pageRank (20 iters) | v3 | 2.76 ms | 2.88 ms | 5.89 ms | 2.69 ms | 238 |
| algo: pageRank (20 iters) | gpu | 39.6 µs | 45.1 µs | 167 µs | 38.4 µs | 15359 |
| algo: closenessCentrality (weighted, one root) | v3 | 13.8 ms | 14.9 ms | 18.4 ms | 13.3 ms | 43 |
| algo: closenessCentrality (weighted, one root) | gpu | 259 µs | 265 µs | 324 µs | 252 µs | 2646 |
| algo: floydWarshall | v3 | 247 ms | 272 ms | 384 ms | 244 ms | 12 |
| algo: floydWarshall | gpu | 140 ms | 157 ms | 212 ms | 137 ms | 12 |
| algo: closenessCentralityNormalized | v3 | 276 ms | 276 ms | 280 ms | 271 ms | 12 |
| algo: closenessCentralityNormalized | gpu | 167 ms | 169 ms | 171 ms | 166 ms | 12 |
| algo: markovClustering | v3 | 4.12 s | 4.37 s | 4.67 s | 4.07 s | 12 |
| algo: markovClustering | gpu | 3.75 s | 3.76 s | 3.80 s | 3.73 s | 12 |
| algo: hierarchicalClustering (threshold) | v3 | 34.8 ms | 34.8 ms | 35.1 ms | 34.5 ms | 16 |
| algo: hierarchicalClustering (threshold) | gpu | 4.16 ms | 4.29 ms | 5.81 ms | 4.05 ms | 157 |
| algo: kMeans (fixed centroids) | v3 | 9.01 ms | 9.09 ms | 9.70 ms | 8.81 ms | 73 |
| algo: kMeans (fixed centroids) | gpu | 2.10 ms | 2.16 ms | 3.28 ms | 2.07 ms | 320 |
| algo: kMedoids | v3 | 350 ms | 307 ms | 393 ms | 107 ms | 12 |
| algo: kMedoids | gpu | 34.9 ms | 34.7 ms | 46.0 ms | 16.4 ms | 17 |
| algo: fuzzyCMeans | v3 | 79.0 ms | 80.1 ms | 82.1 ms | 77.9 ms | 12 |
| algo: fuzzyCMeans | gpu | 7.21 ms | 7.27 ms | 7.72 ms | 7.02 ms | 93 |
| algo: affinityPropagation | v3 | 210 ms | 216 ms | 244 ms | 201 ms | 12 |
| algo: affinityPropagation | gpu | 39.3 ms | 39.6 ms | 40.7 ms | 38.6 ms | 11 |
| algo: kargerStein | v3 | 323 ms | 323 ms | 337 ms | 312 ms | 12 |
| algo: kargerStein | gpu | 303 ms | 305 ms | 313 ms | 298 ms | 12 |
| algo: betweennessCentrality (weighted) | v3 | 725 ms | 730 ms | 744 ms | 714 ms | 12 |
| algo: betweennessCentrality (weighted) | gpu | 80.4 ms | 82.6 ms | 84.7 ms | 77.6 ms | 12 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| mapper: bulk write, color | cpu eval | 2.53 ms | 2.60 ms | 4.38 ms | 2.43 ms | 261 |
| mapper: bulk write, color | gpu path | 175 µs | 182 µs | 313 µs | 172 µs | 3844 |
| mapper: bulk write, color + size | cpu eval | 2.91 ms | 2.96 ms | 3.45 ms | 2.79 ms | 229 |
| mapper: bulk write, color + size | gpu color / cpu size | 2.53 ms | 2.55 ms | 2.98 ms | 2.44 ms | 272 |
| mapper: bulk write, mapped labels (round-5 path) | label refresh | 3.97 ms | 4.15 ms | 6.84 ms | 3.52 ms | 162 |