Cytoscape.js GPU benchmarks

v4 executor 'cpu' vs 'gpu' · times are per-call p50 · 2026-08-12 23:08 · c2d24c2e (v4) · chromium v24.18.0 · algorithms-gpu profile

Machine and provenance
CPUIntel(R) Core(TM) i9-9900K CPU @ 3.60GHz
Cores8 physical / 16 logical · 3.6 GHz base · 5 GHz max
Memory62.6 GiB
GPUCoffeeLake-S GT2 [UHD Graphics 630] i915
Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (8.0 GiB) amdgpu
Adapteramd gcn-4
Browserchromium 149.0.7827.55
OSFedora Linux 43 (Workstation Edition) · 6.19.14-200.fc43.x86_64 · x64
Nodev24.18.0 (v8 13.6.233.17-node.50)
Commitc2d24c2e
docs: the summary goes day by day, from the commit record
Machine id5cf3f79c
Median speedup (geo-mean) 4.9× 30 cpu-vs-gpu comparisons
Biggest win 646× markovClustering @ N=1.024k
cpu still ahead 8 comparisons
Total run time 4.9 min algorithms-gpu profile

Speedup overview cpu p50 ÷ gpu p50, log scale · right of the 1× line = gpu faster

markovClustering @ 1.024k
646×
markovClustering @ 512
291×
kMedoids @ 4.096k
142×
markovClustering @ 256
69×
fuzzyCMeans @ 65.536k
59×
kMedoids @ 2.048k
59×
fuzzyCMeans @ 16.384k
49×
fuzzyCMeans @ 4.096k
32×
floydWarshall @ 1.024k
30×
kMeans @ 65.536k
25×
kMedoids @ 1.024k
23×
betweennessCentrality @ 2.048k
18×
kMeans @ 16.384k
17×
floydWarshall @ 512
12×
betweennessCentrality @ 1.024k
9.7×
kMeans @ 4.096k
7.8×
affinityPropagation @ 1.024k
3.9×
betweennessCentrality @ 512
3.9×
floydWarshall @ 256
3.4×
affinityPropagation @ 256
2.4×
affinityPropagation @ 512
1.87×
hierarchicalClustering @ 1.024k
1.04×
hierarchicalClustering @ 4.096k
0.96×
hierarchicalClustering @ 2.048k
0.91×
pageRankDense @ 1.024k
0.19×
pageRankDense @ 2.048k
0.19×
pageRankDense @ 512
0.14×
pageRank @ 512
0.10×
pageRank @ 1.024k
0.02×
pageRank @ 2.048k
0.01×
0.001×0.01×0.1×10×100×1000×

Scaling speedup vs graph size

algorithms-gpu

group× @ N=256× @ N=512× @ N=1.024k× @ N=2.048k× @ N=4.096k× @ N=16.384k× @ N=65.536k
markovClustering69×291×646×
floydWarshall3.4×12×30×
affinityPropagation2.4×1.87×3.9×
pageRank0.10×0.02×0.01×
pageRankDense0.14×0.19×0.19×
betweennessCentrality3.9×9.7×18×
kMedoids23×59×142×
hierarchicalClustering1.04×0.91×0.96×
kMeans7.8×17×25×
fuzzyCMeans32×49×59×

algorithms-gpu N=256 · 4.6 sv4 (gpu) v4 (cpu)

markovClustering
69×
floydWarshall
3.4×
affinityPropagation
2.4×
1 ms10 ms100 ms1 s
All stats (table view)
groupbenchp50avgp99minsamples
markovClusteringcpu 625 ms627 ms 627 ms622 ms 5
markovClusteringgpu 9.00 ms9.18 ms 9.00 ms8.50 ms 5
markovClusteringgpu first call 27.4 ms27.4 ms 27.4 ms27.4 ms 1
floydWarshallcpu 23.3 ms23.3 ms 23.4 ms23.3 ms 5
floydWarshallgpu 6.90 ms6.82 ms 7.00 ms6.50 ms 5
floydWarshallgpu first call 29.6 ms29.6 ms 29.6 ms29.6 ms 1
affinityPropagationcpu 38.4 ms40.5 ms 38.8 ms38.3 ms 5
affinityPropagationgpu 15.8 ms16.0 ms 15.9 ms15.3 ms 5
affinityPropagationgpu first call 26.0 ms26.0 ms 26.0 ms26.0 ms 1

algorithms-gpu N=512 · 33.5 sv4 (gpu) v4 (cpu)

markovClustering
291×
pageRank
0.10×
pageRankDense
0.14×
floydWarshall
12×
betweennessCentrality
3.9×
affinityPropagation
1.87×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
markovClusteringcpu 4.89 s4.89 s 4.90 s4.88 s 5
markovClusteringgpu 16.8 ms17.9 ms 17.0 ms15.9 ms 5
markovClusteringgpu first call 27.2 ms27.2 ms 27.2 ms27.2 ms 1
pageRankcpu 600 µs560 µs 700 µs200 µs 5
pageRankgpu 6.30 ms6.54 ms 7.00 ms6.10 ms 5
pageRankgpu first call 13.6 ms13.6 ms 13.6 ms13.6 ms 1
pageRankDensecpu 1.00 ms980 µs 1.00 ms900 µs 5
pageRankDensegpu 6.90 ms6.82 ms 6.90 ms6.60 ms 5
pageRankDensegpu first call 30.0 ms30.0 ms 30.0 ms30.0 ms 1
floydWarshallcpu 180 ms210 ms 188 ms178 ms 5
floydWarshallgpu 15.1 ms15.6 ms 15.4 ms14.9 ms 5
floydWarshallgpu first call 17.5 ms17.5 ms 17.5 ms17.5 ms 1
betweennessCentralitycpu 34.4 ms34.5 ms 34.5 ms34.1 ms 5
betweennessCentralitygpu 8.80 ms9.18 ms 9.00 ms8.60 ms 5
betweennessCentralitygpu first call 20.0 ms20.0 ms 20.0 ms20.0 ms 1
affinityPropagationcpu 209 ms266 ms 212 ms201 ms 5
affinityPropagationgpu 112 ms112 ms 113 ms111 ms 5
affinityPropagationgpu first call 115 ms115 ms 115 ms115 ms 1

algorithms-gpu N=1,024 · 3.5 minv4 (gpu) v4 (cpu)

markovClustering
646×
pageRank
0.02×
pageRankDense
0.19×
floydWarshall
30×
betweennessCentrality
9.7×
affinityPropagation
3.9×
kMedoids
23×
hierarchicalClustering
1.04×
100 µs1 ms10 ms100 ms1 s10 s100 s
All stats (table view)
groupbenchp50avgp99minsamples
markovClusteringcpu 30.3 s30.3 s 30.4 s30.3 s 5
markovClusteringgpu 46.9 ms50.4 ms 54.1 ms46.1 ms 5
markovClusteringgpu first call 62.2 ms62.2 ms 62.2 ms62.2 ms 1
pageRankcpu 300 µs460 µs 700 µs300 µs 5
pageRankgpu 18.0 ms18.2 ms 18.0 ms17.4 ms 5
pageRankgpu first call 19.2 ms19.2 ms 19.2 ms19.2 ms 1
pageRankDensecpu 3.90 ms3.84 ms 3.90 ms3.70 ms 5
pageRankDensegpu 20.7 ms20.7 ms 20.8 ms20.2 ms 5
pageRankDensegpu first call 107 ms107 ms 107 ms107 ms 1
floydWarshallcpu 1.41 s1.79 s 2.57 s1.18 s 5
floydWarshallgpu 46.6 ms51.1 ms 48.1 ms38.1 ms 5
floydWarshallgpu first call 51.1 ms51.1 ms 51.1 ms51.1 ms 1
betweennessCentralitycpu 149 ms153 ms 151 ms148 ms 5
betweennessCentralitygpu 15.4 ms16.5 ms 15.4 ms15.2 ms 5
betweennessCentralitygpu first call 17.5 ms17.5 ms 17.5 ms17.5 ms 1
affinityPropagationcpu 1.15 s1.58 s 2.30 s1.05 s 5
affinityPropagationgpu 295 ms295 ms 296 ms290 ms 5
affinityPropagationgpu first call 292 ms292 ms 292 ms292 ms 1
kMedoidscpu 72.6 ms81.0 ms 93.1 ms51.4 ms 5
kMedoidsgpu 3.20 ms3.58 ms 4.10 ms3.10 ms 5
kMedoidsgpu first call 13.5 ms13.5 ms 13.5 ms13.5 ms 1
hierarchicalClusteringcpu 28.0 ms29.3 ms 35.0 ms23.8 ms 5
hierarchicalClusteringgpu 27.0 ms27.0 ms 27.1 ms26.8 ms 5
hierarchicalClusteringgpu first call 36.0 ms36.0 ms 36.0 ms36.0 ms 1

algorithms-gpu N=2,048 · 9.1 sv4 (gpu) v4 (cpu)

pageRank
0.01×
pageRankDense
0.19×
betweennessCentrality
18×
kMedoids
59×
hierarchicalClustering
0.91×
100 µs1 ms10 ms100 ms1 s
All stats (table view)
groupbenchp50avgp99minsamples
pageRankcpu 600 µs620 µs 600 µs500 µs 5
pageRankgpu 72.5 ms72.0 ms 72.8 ms68.2 ms 5
pageRankgpu first call 85.3 ms85.3 ms 85.3 ms85.3 ms 1
pageRankDensecpu 15.4 ms15.4 ms 15.5 ms15.2 ms 5
pageRankDensegpu 82.5 ms82.4 ms 83.0 ms81.1 ms 5
pageRankDensegpu first call 380 ms380 ms 380 ms380 ms 1
betweennessCentralitycpu 640 ms661 ms 715 ms611 ms 5
betweennessCentralitygpu 36.5 ms38.5 ms 38.0 ms35.6 ms 5
betweennessCentralitygpu first call 42.7 ms42.7 ms 42.7 ms42.7 ms 1
kMedoidscpu 271 ms309 ms 382 ms228 ms 5
kMedoidsgpu 4.60 ms5.82 ms 4.70 ms3.60 ms 5
kMedoidsgpu first call 5.90 ms5.90 ms 5.90 ms5.90 ms 1
hierarchicalClusteringcpu 98.6 ms99.0 ms 99.2 ms98.0 ms 5
hierarchicalClusteringgpu 108 ms108 ms 108 ms105 ms 5
hierarchicalClusteringgpu first call 106 ms106 ms 106 ms106 ms 1

algorithms-gpu N=4,096 · 17.1 sv4 (gpu) v4 (cpu)

kMeans
7.8×
fuzzyCMeans
32×
kMedoids
142×
hierarchicalClustering
0.96×
1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
kMeanscpu 30.6 ms30.9 ms 30.8 ms29.7 ms 5
kMeansgpu 3.90 ms3.88 ms 4.00 ms3.70 ms 5
kMeansgpu first call 12.2 ms12.2 ms 12.2 ms12.2 ms 1
fuzzyCMeanscpu 152 ms152 ms 152 ms151 ms 5
fuzzyCMeansgpu 4.80 ms5.00 ms 5.40 ms4.60 ms 5
fuzzyCMeansgpu first call 18.0 ms18.0 ms 18.0 ms18.0 ms 1
kMedoidscpu 1.71 s1.76 s 1.87 s1.63 s 5
kMedoidsgpu 12.0 ms13.1 ms 12.2 ms9.80 ms 5
kMedoidsgpu first call 12.0 ms12.0 ms 12.0 ms12.0 ms 1
hierarchicalClusteringcpu 422 ms424 ms 425 ms415 ms 5
hierarchicalClusteringgpu 439 ms448 ms 459 ms436 ms 5
hierarchicalClusteringgpu first call 493 ms493 ms 493 ms493 ms 1

algorithms-gpu N=16,384 · 4.6 sv4 (gpu) v4 (cpu)

kMeans
17×
fuzzyCMeans
49×
1 ms10 ms100 ms1 s
All stats (table view)
groupbenchp50avgp99minsamples
kMeanscpu 124 ms126 ms 129 ms122 ms 5
kMeansgpu 7.30 ms7.30 ms 7.30 ms7.20 ms 5
kMeansgpu first call 17.4 ms17.4 ms 17.4 ms17.4 ms 1
fuzzyCMeanscpu 600 ms604 ms 607 ms600 ms 5
fuzzyCMeansgpu 12.3 ms16.8 ms 12.3 ms11.2 ms 5
fuzzyCMeansgpu first call 22.0 ms22.0 ms 22.0 ms22.0 ms 1

algorithms-gpu N=65,536 · 19.6 sv4 (gpu) v4 (cpu)

kMeans
25×
fuzzyCMeans
59×
10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
kMeanscpu 611 ms600 ms 616 ms570 ms 5
kMeansgpu 24.3 ms27.4 ms 24.7 ms24.2 ms 5
kMeansgpu first call 70.3 ms70.3 ms 70.3 ms70.3 ms 1
fuzzyCMeanscpu 2.53 s2.56 s 2.56 s2.52 s 5
fuzzyCMeansgpu 42.6 ms41.2 ms 42.8 ms37.4 ms 5
fuzzyCMeansgpu first call 84.3 ms84.3 ms 84.3 ms84.3 ms 1