| 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) | 63× | 55× |
| algo: dfs (whole graph) | 61× | 60× |
| algo: dijkstra + pathTo | 53× | 56× |
| algo: aStar | 3.6× | 3.3× |
| algo: bellmanFord | 21× | 20× |
| algo: kruskal | 25× | 27× |
| algo: tarjan SCC | 36× | 38× |
| algo: hopcroft-tarjan biconnected | 26× | 25× |
| algo: hierholzer (directed) | 5.2× | 2.9× |
| algo: betweennessCentrality (unweighted) | 13× | 11× |
| algo: degreeCentralityNormalized | 38× | 39× |
| algo: closenessCentrality (one root) | 68× | 73× |
| algo: degreeCentrality (one root) | 32× | 30× |
| algo: pageRank (20 iters) | 70× | – |
| algo: closenessCentrality (weighted, one root) | 56× | – |
| algo: floydWarshall | 1.77× | – |
| algo: closenessCentralityNormalized | 1.67× | – |
| algo: markovClustering | 1.10× | – |
| algo: hierarchicalClustering (threshold) | 8.3× | – |
| algo: kMeans (fixed centroids) | 4.8× | – |
| algo: kMedoids | 5.9× | – |
| algo: fuzzyCMeans | 12× | – |
| algo: affinityPropagation | 5.3× | – |
| algo: kargerStein | 1.07× | – |
| algo: betweennessCentrality (weighted) | 8.9× | – |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| core: getElementById() | v3 | 89.8 ns | 93.4 ns | 141 ns | 87.1 ns | 1835 |
| core: getElementById() | gpu | 91.3 ns | 94.7 ns | 145 ns | 87.8 ns | 1809 |
| core: id lookup ($("#id") vs $id()) | v3 | 2.01 µs | 2.36 µs | 3.57 µs | 1.90 µs | 68 |
| core: id lookup ($("#id") vs $id()) | gpu | 85.2 ns | 88.2 ns | 165 ns | 82.7 ns | 1938 |
| core: nodes() | v3 | 414 µs | 426 µs | 586 µs | 400 µs | 1641 |
| core: nodes() | gpu | 8.20 ns | 8.70 ns | 17.5 ns | 7.77 ns | 19570 |
| core: edges() | v3 | 720 µs | 749 µs | 1.32 ms | 702 µs | 933 |
| core: edges() | gpu | 7.93 ns | 8.45 ns | 16.2 ns | 7.72 ns | 20127 |
| core: elements() | v3 | 139 µs | 147 µs | 257 µs | 137 µs | 4757 |
| core: elements() | gpu | 6.95 ns | 7.34 ns | 23.8 ns | 6.50 ns | 23080 |
| core: nodes ($("node") vs filter({group})) | v3 | 556 µs | 590 µs | 1.28 ms | 541 µs | 1184 |
| core: nodes ($("node") vs filter({group})) | gpu | 113 µs | 119 µs | 253 µs | 83.4 µs | 5779 |
| core: selected ($(":selected") vs filter({selected})) | v3 | 340 µs | 361 µs | 672 µs | 327 µs | 1926 |
| core: selected ($(":selected") vs filter({selected})) | gpu | 25.1 µs | 25.9 µs | 27.7 µs | 24.6 µs | 12 |
| core: filter(fn) | v3 | 415 µs | 426 µs | 568 µs | 411 µs | 1641 |
| core: filter(fn) | gpu | 426 µs | 463 µs | 979 µs | 411 µs | 1489 |
| core: collection() | v3 | 458 ns | 543 ns | 1.57 µs | 447 ns | 304 |
| core: collection() | gpu | 66.1 ns | 71.3 ns | 154 ns | 63.6 ns | 2332 |
| core: pan() get (x32) | v3 | 44.6 ns | 46.2 ns | 57.9 ns | 43.7 ns | 3593 |
| core: pan() get (x32) | gpu | 34.0 ns | 36.2 ns | 54.0 ns | 33.2 ns | 4726 |
| core: extent() | v3 | 22.6 ns | 40.9 ns | 147 ns | 21.6 ns | 4067 |
| core: extent() | gpu | 20.8 ns | 27.9 ns | 106 ns | 19.5 ns | 5978 |
| core: add + remove | v3 | 125 µs | 129 µs | 205 µs | 115 µs | 5346 |
| core: add + remove | gpu | 7.09 µs | 8.19 µs | 21.6 µs | 6.64 µs | 78211 |
| core: zoom set | v3 | 1.36 µs | 1.38 µs | 1.58 µs | 1.25 µs | 118 |
| core: zoom set | gpu | 602 ns | 617 ns | 766 ns | 592 ns | 263 |
| traverse: neighborhood() | v3 | 3.67 µs | 3.91 µs | 4.62 µs | 3.49 µs | 39 |
| traverse: neighborhood() | gpu | 943 ns | 1.02 µs | 2.37 µs | 908 ns | 154 |
| traverse: connectedEdges() | v3 | 1.05 µs | 1.18 µs | 2.17 µs | 1.01 µs | 140 |
| traverse: connectedEdges() | gpu | 383 ns | 412 ns | 1.36 µs | 367 ns | 398 |
| traverse: outgoers() | v3 | 2.41 µs | 2.59 µs | 3.42 µs | 2.30 µs | 62 |
| traverse: outgoers() | gpu | 443 ns | 564 ns | 2.12 µs | 432 ns | 285 |
| traverse: incomers() | v3 | 2.40 µs | 2.57 µs | 3.42 µs | 2.27 µs | 62 |
| traverse: incomers() | gpu | 445 ns | 527 ns | 2.02 µs | 434 ns | 308 |
| traverse: components() | v3 | 79.0 ms | 82.2 ms | 90.2 ms | 76.6 ms | 12 |
| traverse: components() | gpu | 2.01 ms | 2.14 ms | 3.66 ms | 1.95 ms | 312 |
| degree: node.degree() | v3 | 3.38 µs | 3.74 µs | 5.06 µs | 3.14 µs | 42 |
| degree: node.degree() | gpu | 27.8 ns | 29.3 ns | 43.1 ns | 26.5 ns | 5827 |
| degree: nodes.totalDegree() | v3 | 7.25 ms | 8.20 ms | 13.3 ms | 6.80 ms | 81 |
| degree: nodes.totalDegree() | gpu | 44.7 µs | 46.3 µs | 82.1 µs | 42.8 µs | 14993 |
| degree: nodes.maxDegree() | v3 | 7.83 ms | 8.53 ms | 12.7 ms | 7.20 ms | 78 |
| degree: nodes.maxDegree() | gpu | 52.0 µs | 53.8 µs | 97.5 µs | 50.8 µs | 13004 |
| data: get | v3 | 30.3 ns | 31.4 ns | 53.6 ns | 29.3 ns | 5441 |
| data: get | gpu | 29.7 ns | 31.2 ns | 50.7 ns | 28.8 ns | 5480 |
| position: get | v3 | 35.7 ns | 38.1 ns | 87.0 ns | 34.0 ns | 4488 |
| position: get | gpu | 21.8 ns | 26.4 ns | 63.9 ns | 20.9 ns | 6307 |
| json: element | v3 | 302 ns | 393 ns | 3.58 µs | 294 ns | 423 |
| json: element | gpu | 159 ns | 166 ns | 264 ns | 155 ns | 982 |
| set: union() | v3 | 92.6 µs | 106 µs | 178 µs | 90.3 µs | 6436 |
| set: union() | gpu | 18.0 µs | 18.6 µs | 20.1 µs | 17.4 µs | 12 |
| set: intersection() | v3 | 89.2 µs | 100 µs | 155 µs | 86.1 µs | 6796 |
| set: intersection() | gpu | 3.45 µs | 3.50 µs | 3.85 µs | 3.38 µs | 44 |
| set: difference() | v3 | 90.9 µs | 104 µs | 160 µs | 88.0 µs | 6640 |
| set: difference() | gpu | 3.42 µs | 3.47 µs | 4.05 µs | 3.32 µs | 43 |
| iter: map() | v3 | 27.5 µs | 29.1 µs | 78.0 µs | 26.4 µs | 23716 |
| iter: map() | gpu | 10.6 µs | 11.2 µs | 36.1 µs | 10.1 µs | 59939 |
| iter: forEach() | v3 | 3.51 µs | 3.80 µs | 3.68 µs | 3.43 µs | 35 |
| iter: forEach() | gpu | 3.36 µs | 3.46 µs | 3.96 µs | 3.34 µs | 44 |
| iter: filter(fn) | v3 | 248 µs | 261 µs | 539 µs | 242 µs | 2678 |
| iter: filter(fn) | gpu | 130 µs | 135 µs | 224 µs | 124 µs | 5168 |
| compare: same() | v3 | 122 µs | 127 µs | 218 µs | 118 µs | 5503 |
| compare: same() | gpu | 14.9 ns | 15.9 ns | 29.7 ns | 14.3 ns | 10752 |
| compare: contains() | v3 | 6.24 µs | 6.26 µs | 6.39 µs | 6.15 µs | 23 |
| compare: contains() | gpu | 1.24 µs | 1.25 µs | 1.34 µs | 1.21 µs | 130 |
| mut: data set | v3 | 600 ns | 619 ns | 1.05 µs | 586 ns | 268 |
| mut: data set | gpu | 238 ns | 242 ns | 365 ns | 232 ns | 693 |
| mut: position set | v3 | 1.20 µs | 1.22 µs | 1.58 µs | 1.15 µs | 136 |
| mut: position set | gpu | 49.3 ns | 53.8 ns | 106 ns | 47.3 ns | 3159 |
| mut: select + unselect | v3 | 2.56 µs | 2.72 µs | 3.77 µs | 2.34 µs | 58 |
| mut: select + unselect | gpu | 593 ns | 603 ns | 720 ns | 575 ns | 271 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| sweep: nodes() | v3 | 415 µs | 427 µs | 559 µs | 408 µs | 1641 |
| sweep: nodes() | gpu | 2.41 ns | 2.51 ns | 6.22 ns | 2.35 ns | 65610 |
| sweep: edges() | v3 | 718 µs | 736 µs | 1.09 ms | 696 µs | 949 |
| sweep: edges() | gpu | 2.56 ns | 2.63 ns | 4.75 ns | 2.51 ns | 63034 |
| sweep: elements() | v3 | 144 µs | 152 µs | 263 µs | 142 µs | 4597 |
| sweep: elements() | gpu | 4.80 ns | 5.04 ns | 12.3 ns | 4.59 ns | 33503 |
| sweep: all nodes ($("node") vs filter({group})) | v3 | 542 µs | 572 µs | 864 µs | 532 µs | 1222 |
| sweep: all nodes ($("node") vs filter({group})) | gpu | 57.6 µs | 71.6 µs | 160 µs | 53.6 µs | 9664 |
| sweep: selected ($(":selected") vs filter({selected})) | v3 | 341 µs | 350 µs | 558 µs | 335 µs | 1996 |
| sweep: selected ($(":selected") vs filter({selected})) | gpu | 26.2 µs | 26.5 µs | 27.4 µs | 25.8 µs | 12 |
| sweep: selected nodes ($("node:selected") vs filter({group, selected})) | v3 | 327 µs | 351 µs | 644 µs | 315 µs | 1980 |
| sweep: selected nodes ($("node:selected") vs filter({group, selected})) | gpu | 9.04 µs | 9.08 µs | 9.36 µs | 8.91 µs | 15 |
| sweep: nodes(":selected") vs nodes({selected}) | v3 | 530 µs | 543 µs | 766 µs | 525 µs | 1290 |
| sweep: nodes(":selected") vs nodes({selected}) | gpu | 8.98 µs | 9.01 µs | 9.08 µs | 8.85 µs | 15 |
| sweep: filter(fn) | v3 | 411 µs | 419 µs | 519 µs | 407 µs | 1671 |
| sweep: filter(fn) | gpu | 241 µs | 259 µs | 561 µs | 236 µs | 2690 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| mut-bulk: select + unselect | v3 | 1.97 ms | 2.04 ms | 3.54 ms | 1.91 ms | 322 |
| mut-bulk: select + unselect | gpu | 274 µs | 285 µs | 428 µs | 268 µs | 2459 |
| mut-bulk: hide + show | v3 | 60.1 ms | 64.6 ms | 70.8 ms | 57.5 ms | 12 |
| mut-bulk: hide + show | gpu | 224 µs | 229 µs | 397 µs | 218 µs | 2958 |
| mut-bulk: lock + unlock | v3 | 1.96 ms | 2.02 ms | 3.57 ms | 1.91 ms | 341 |
| mut-bulk: lock + unlock | gpu | 38.8 µs | 39.1 µs | 39.7 µs | 38.2 µs | 12 |
| mut-bulk: positions(obj) | v3 | 2.13 ms | 2.18 ms | 3.59 ms | 2.08 ms | 314 |
| mut-bulk: positions(obj) | gpu | 36.8 µs | 38.3 µs | 75.0 µs | 35.5 µs | 18008 |
| mut-bulk: positions(fn) | v3 | 3.25 ms | 3.39 ms | 4.96 ms | 3.16 ms | 201 |
| mut-bulk: positions(fn) | gpu | 148 µs | 151 µs | 226 µs | 142 µs | 4522 |
| mut-bulk: shift | v3 | 3.37 ms | 3.52 ms | 4.64 ms | 3.29 ms | 193 |
| mut-bulk: shift | gpu | 32.4 µs | 33.9 µs | 65.7 µs | 31.1 µs | 20438 |
| mut-bulk: data set | v3 | 832 µs | 869 µs | 1.47 ms | 807 µs | 792 |
| mut-bulk: data set | gpu | 65.2 µs | 67.8 µs | 137 µs | 63.0 µs | 10184 |
| mut-bulk: remove + re-add (256 nodes + cascade) | v3 | 40.9 ms | 42.0 ms | 49.1 ms | 39.5 ms | 13 |
| mut-bulk: remove + re-add (256 nodes + cascade) | gpu | 6.70 ms | 6.83 ms | 8.82 ms | 5.98 ms | 97 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| scn: explore (expand 2-hop + select + fit) | v3 | 297 µs | 345 µs | 958 µs | 268 µs | 2007 |
| scn: explore (expand 2-hop + select + fit) | gpu | 37.3 µs | 41.8 µs | 93.5 µs | 33.4 µs | 16207 |
| scn: select-all + fit (listeners on) | v3 | 24.8 ms | 24.9 ms | 27.8 ms | 22.9 ms | 23 |
| scn: select-all + fit (listeners on) | gpu | 930 µs | 976 µs | 1.50 ms | 881 µs | 692 |
| scn: drag (select band of 100 + 8-step shift, position listener) | v3 | 1.62 ms | 1.68 ms | 2.17 ms | 1.56 ms | 399 |
| scn: drag (select band of 100 + 8-step shift, position listener) | gpu | 98.4 µs | 106 µs | 334 µs | 94.7 µs | 6594 |
| scn: edit (remove + re-add 256 nodes + cascade, add/remove listeners) | v3 | 44.7 ms | 44.9 ms | 47.0 ms | 42.6 ms | 12 |
| scn: edit (remove + re-add 256 nodes + cascade, add/remove listeners) | gpu | 6.93 ms | 7.20 ms | 8.86 ms | 6.28 ms | 91 |
| scn: refresh (bulk data write + mapped labels + filter + fit, data listener) | v3 | 7.45 ms | 8.02 ms | 14.1 ms | 6.98 ms | 81 |
| scn: refresh (bulk data write + mapped labels + filter + fit, data listener) | gpu | 4.14 ms | 4.28 ms | 7.05 ms | 3.70 ms | 150 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| trav: neighborhood() | v3 | 4.04 µs | 4.24 µs | 5.67 µs | 3.42 µs | 36 |
| trav: neighborhood() | gpu | 999 ns | 1.06 µs | 2.09 µs | 851 ns | 156 |
| trav: closedNeighborhood() | v3 | 5.75 µs | 5.61 µs | 6.07 µs | 5.13 µs | 27 |
| trav: closedNeighborhood() | gpu | 2.23 µs | 2.31 µs | 2.70 µs | 2.17 µs | 69 |
| trav: connectedEdges() | v3 | 988 ns | 1.06 µs | 1.77 µs | 958 ns | 157 |
| trav: connectedEdges() | gpu | 387 ns | 401 ns | 650 ns | 373 ns | 421 |
| trav: outgoers() | v3 | 2.31 µs | 2.44 µs | 2.98 µs | 2.21 µs | 66 |
| trav: outgoers() | gpu | 469 ns | 543 ns | 2.03 µs | 433 ns | 306 |
| trav: incomers() | v3 | 2.30 µs | 2.46 µs | 3.07 µs | 2.22 µs | 65 |
| trav: incomers() | gpu | 468 ns | 546 ns | 2.06 µs | 450 ns | 304 |
| trav: successors() | v3 | 435 ms | 436 ms | 450 ms | 423 ms | 12 |
| trav: successors() | gpu | 558 µs | 585 µs | 1.72 ms | 530 µs | 1162 |
| trav: predecessors() | v3 | 435 ms | 439 ms | 453 ms | 427 ms | 12 |
| trav: predecessors() | gpu | 579 µs | 609 µs | 1.41 ms | 561 µs | 1117 |
| trav: band neighborhood() | v3 | 185 µs | 203 µs | 386 µs | 177 µs | 3436 |
| trav: band neighborhood() | gpu | 37.3 µs | 38.0 µs | 39.1 µs | 36.7 µs | 12 |
| trav: band connectedEdges() | v3 | 24.3 µs | 24.8 µs | 25.5 µs | 23.9 µs | 12 |
| trav: band connectedEdges() | gpu | 16.5 µs | 17.2 µs | 19.0 µs | 16.3 µs | 12 |
| trav: band roots() | v3 | 109 µs | 117 µs | 156 µs | 105 µs | 5966 |
| trav: band roots() | gpu | 4.81 µs | 4.84 µs | 5.04 µs | 4.75 µs | 31 |
| trav: band sources() | v3 | 6.65 µs | 6.63 µs | 6.95 µs | 6.28 µs | 22 |
| trav: band sources() | gpu | 4.37 µs | 4.40 µs | 4.56 µs | 4.31 µs | 34 |
| trav: band connectedNodes() | v3 | 14.3 µs | 14.6 µs | 14.7 µs | 14.0 µs | 12 |
| trav: band connectedNodes() | gpu | 5.07 µs | 5.14 µs | 5.57 µs | 4.94 µs | 29 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| algo: bfs (whole graph) | v3 | 50.9 ms | 52.8 ms | 56.8 ms | 49.8 ms | 10 |
| algo: bfs (whole graph) | gpu | 933 µs | 977 µs | 1.59 ms | 858 µs | 709 |
| algo: dfs (whole graph) | v3 | 50.7 ms | 51.6 ms | 55.3 ms | 48.6 ms | 10 |
| algo: dfs (whole graph) | gpu | 838 µs | 868 µs | 1.26 ms | 820 µs | 799 |
| algo: dijkstra + pathTo | v3 | 52.6 ms | 53.1 ms | 54.6 ms | 52.1 ms | 10 |
| algo: dijkstra + pathTo | gpu | 937 µs | 954 µs | 1.18 ms | 910 µs | 727 |
| algo: aStar | v3 | 1.67 ms | 1.72 ms | 2.38 ms | 1.62 ms | 402 |
| algo: aStar | gpu | 504 µs | 517 µs | 684 µs | 487 µs | 1351 |
| algo: bellmanFord | v3 | 235 ms | 230 ms | 252 ms | 207 ms | 12 |
| algo: bellmanFord | gpu | 11.8 ms | 11.8 ms | 12.8 ms | 11.4 ms | 55 |
| algo: kruskal | v3 | 13.4 ms | 14.6 ms | 18.6 ms | 12.7 ms | 44 |
| algo: kruskal | gpu | 494 µs | 525 µs | 813 µs | 467 µs | 1308 |
| algo: tarjan SCC | v3 | 23.7 ms | 23.9 ms | 26.8 ms | 21.4 ms | 25 |
| algo: tarjan SCC | gpu | 622 µs | 667 µs | 1.19 ms | 595 µs | 1029 |
| algo: hopcroft-tarjan biconnected | v3 | 85.9 ms | 87.0 ms | 92.2 ms | 81.8 ms | 12 |
| algo: hopcroft-tarjan biconnected | gpu | 3.44 ms | 3.57 ms | 5.04 ms | 3.36 ms | 189 |
| algo: hierholzer (directed) | v3 | 22.7 ms | 23.4 ms | 26.3 ms | 21.5 ms | 26 |
| algo: hierholzer (directed) | gpu | 7.88 ms | 8.01 ms | 9.35 ms | 7.62 ms | 81 |
| algo: betweennessCentrality (unweighted) | v3 | 4.07 s | 4.07 s | 4.15 s | 3.96 s | 12 |
| algo: betweennessCentrality (unweighted) | gpu | 357 ms | 372 ms | 436 ms | 342 ms | 12 |
| algo: degreeCentralityNormalized | v3 | 15.8 ms | 17.0 ms | 20.6 ms | 15.0 ms | 37 |
| algo: degreeCentralityNormalized | gpu | 404 µs | 419 µs | 700 µs | 398 µs | 1668 |
| algo: closenessCentrality (one root) | v3 | 60.4 ms | 64.0 ms | 73.2 ms | 59.2 ms | 12 |
| algo: closenessCentrality (one root) | gpu | 822 µs | 849 µs | 1.15 ms | 793 µs | 820 |
| algo: degreeCentrality (one root) | v3 | 7.45 µs | 7.34 µs | 8.23 µs | 6.54 µs | 19 |
| algo: degreeCentrality (one root) | gpu | 249 ns | 256 ns | 450 ns | 242 ns | 657 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| algo: bfs (whole graph) | v3 | 12.4 ms | 13.3 ms | 17.3 ms | 11.0 ms | 48 |
| algo: bfs (whole graph) | gpu | 198 µs | 206 µs | 306 µs | 195 µs | 3404 |
| algo: dfs (whole graph) | v3 | 11.5 ms | 12.5 ms | 15.4 ms | 11.1 ms | 52 |
| algo: dfs (whole graph) | gpu | 190 µs | 197 µs | 318 µs | 187 µs | 3556 |
| algo: dijkstra + pathTo | v3 | 12.3 ms | 12.9 ms | 16.1 ms | 11.5 ms | 50 |
| algo: dijkstra + pathTo | gpu | 230 µs | 243 µs | 421 µs | 221 µs | 2860 |
| algo: aStar | v3 | 437 µs | 452 µs | 712 µs | 423 µs | 1548 |
| algo: aStar | gpu | 122 µs | 128 µs | 216 µs | 117 µs | 5476 |
| algo: bellmanFord | v3 | 17.1 ms | 17.4 ms | 18.3 ms | 16.7 ms | 36 |
| algo: bellmanFord | gpu | 812 µs | 840 µs | 1.94 ms | 799 µs | 827 |
| algo: kruskal | v3 | 3.24 ms | 3.51 ms | 6.98 ms | 3.13 ms | 196 |
| algo: kruskal | gpu | 127 µs | 143 µs | 275 µs | 125 µs | 4883 |
| algo: tarjan SCC | v3 | 5.39 ms | 6.07 ms | 10.6 ms | 5.27 ms | 110 |
| algo: tarjan SCC | gpu | 151 µs | 160 µs | 371 µs | 147 µs | 4371 |
| algo: hopcroft-tarjan biconnected | v3 | 21.6 ms | 22.4 ms | 25.1 ms | 20.0 ms | 27 |
| algo: hopcroft-tarjan biconnected | gpu | 823 µs | 861 µs | 1.56 ms | 804 µs | 807 |
| algo: hierholzer (directed) | v3 | 4.25 ms | 4.55 ms | 7.31 ms | 4.10 ms | 144 |
| algo: hierholzer (directed) | gpu | 816 µs | 840 µs | 1.18 ms | 795 µs | 824 |
| algo: betweennessCentrality (unweighted) | v3 | 259 ms | 260 ms | 263 ms | 255 ms | 12 |
| algo: betweennessCentrality (unweighted) | gpu | 20.8 ms | 21.2 ms | 25.2 ms | 20.2 ms | 29 |
| algo: degreeCentralityNormalized | v3 | 3.57 ms | 3.93 ms | 7.35 ms | 3.46 ms | 174 |
| algo: degreeCentralityNormalized | gpu | 93.4 µs | 97.1 µs | 154 µs | 91.5 µs | 7190 |
| algo: closenessCentrality (one root) | v3 | 13.9 ms | 14.5 ms | 19.3 ms | 13.0 ms | 44 |
| algo: closenessCentrality (one root) | gpu | 204 µs | 211 µs | 284 µs | 198 µs | 3322 |
| algo: degreeCentrality (one root) | v3 | 7.73 µs | 7.63 µs | 8.50 µs | 6.83 µs | 19 |
| algo: degreeCentrality (one root) | gpu | 245 ns | 250 ns | 317 ns | 235 ns | 680 |
| algo: pageRank (20 iters) | v3 | 2.77 ms | 2.86 ms | 5.84 ms | 2.69 ms | 234 |
| algo: pageRank (20 iters) | gpu | 39.3 µs | 44.4 µs | 157 µs | 37.7 µs | 15611 |
| algo: closenessCentrality (weighted, one root) | v3 | 14.0 ms | 14.8 ms | 17.7 ms | 13.2 ms | 43 |
| algo: closenessCentrality (weighted, one root) | gpu | 249 µs | 255 µs | 333 µs | 241 µs | 2750 |
| algo: floydWarshall | v3 | 248 ms | 273 ms | 383 ms | 244 ms | 12 |
| algo: floydWarshall | gpu | 140 ms | 153 ms | 210 ms | 137 ms | 12 |
| algo: closenessCentralityNormalized | v3 | 275 ms | 277 ms | 285 ms | 269 ms | 12 |
| algo: closenessCentralityNormalized | gpu | 165 ms | 166 ms | 169 ms | 163 ms | 12 |
| algo: markovClustering | v3 | 4.13 s | 4.38 s | 4.66 s | 4.09 s | 12 |
| algo: markovClustering | gpu | 3.75 s | 3.75 s | 3.77 s | 3.74 s | 12 |
| algo: hierarchicalClustering (threshold) | v3 | 34.5 ms | 34.6 ms | 35.1 ms | 33.9 ms | 17 |
| algo: hierarchicalClustering (threshold) | gpu | 4.15 ms | 4.31 ms | 6.17 ms | 4.05 ms | 157 |
| algo: kMeans (fixed centroids) | v3 | 9.19 ms | 9.27 ms | 9.85 ms | 9.08 ms | 71 |
| algo: kMeans (fixed centroids) | gpu | 1.93 ms | 1.98 ms | 3.09 ms | 1.88 ms | 350 |
| algo: kMedoids | v3 | 247 ms | 250 ms | 379 ms | 69.2 ms | 12 |
| algo: kMedoids | gpu | 41.7 ms | 39.6 ms | 44.9 ms | 26.9 ms | 15 |
| algo: fuzzyCMeans | v3 | 78.4 ms | 79.5 ms | 81.8 ms | 77.5 ms | 12 |
| algo: fuzzyCMeans | gpu | 6.81 ms | 6.88 ms | 7.47 ms | 6.56 ms | 97 |
| algo: affinityPropagation | v3 | 212 ms | 213 ms | 222 ms | 200 ms | 12 |
| algo: affinityPropagation | gpu | 39.7 ms | 39.8 ms | 41.2 ms | 38.4 ms | 11 |
| algo: kargerStein | v3 | 320 ms | 325 ms | 339 ms | 312 ms | 12 |
| algo: kargerStein | gpu | 300 ms | 306 ms | 321 ms | 295 ms | 12 |
| algo: betweennessCentrality (weighted) | v3 | 724 ms | 727 ms | 753 ms | 712 ms | 12 |
| algo: betweennessCentrality (weighted) | gpu | 80.9 ms | 83.4 ms | 85.0 ms | 79.3 ms | 12 |
| group | bench | p50 | avg | p99 | min | samples |
|---|---|---|---|---|---|---|
| mapper: bulk write, color | cpu eval | 2.58 ms | 2.63 ms | 3.98 ms | 2.46 ms | 258 |
| mapper: bulk write, color | gpu path | 175 µs | 181 µs | 273 µs | 171 µs | 3873 |
| mapper: bulk write, color + size | cpu eval | 2.96 ms | 3.00 ms | 3.55 ms | 2.89 ms | 228 |
| mapper: bulk write, color + size | gpu color / cpu size | 2.60 ms | 2.64 ms | 3.13 ms | 2.54 ms | 263 |
| mapper: bulk write, mapped labels (round-5 path) | label refresh | 3.93 ms | 4.20 ms | 6.78 ms | 3.55 ms | 162 |