Cytoscape.js GPU benchmarks

v4 executor 'cpu' vs 'gpu' · times are per-call p50 · 2026-08-10 19:05 · 1f324088 (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)
Commit1f324088
fix(65.9b): style-bundle.mjs has been a module-level SyntaxError since round 42 — every all-profile run published it as a failure
Machine id5cf3f79c
Median speedup (geo-mean) 13× 27 cpu-vs-gpu comparisons
Biggest win 642× markovClustering @ N=1.024k
cpu still ahead 0 comparisons
Total run time 5.0 min algorithms-gpu profile

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

markovClustering @ 1.024k
642×
markovClustering @ 512
300×
kMedoids @ 4.096k
163×
kMedoids @ 2.048k
103×
markovClustering @ 256
72×
fuzzyCMeans @ 65.536k
66×
fuzzyCMeans @ 16.384k
49×
floydWarshall @ 1.024k
32×
fuzzyCMeans @ 4.096k
31×
kMedoids @ 1.024k
23×
kMeans @ 65.536k
23×
betweennessCentrality @ 2.048k
18×
kMeans @ 16.384k
17×
floydWarshall @ 512
11×
betweennessCentrality @ 1.024k
10×
kMeans @ 4.096k
7.9×
affinityPropagation @ 1.024k
5.1×
betweennessCentrality @ 512
3.8×
floydWarshall @ 256
3.4×
affinityPropagation @ 256
2.6×
hierarchicalClustering @ 1.024k
2.1×
hierarchicalClustering @ 2.048k
1.89×
affinityPropagation @ 512
1.86×
hierarchicalClustering @ 4.096k
1.74×
pageRank @ 2.048k
1.69×
pageRank @ 1.024k
1.67×
pageRank @ 512
1.27×
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
markovClustering72×300×642×
floydWarshall3.4×11×32×
affinityPropagation2.6×1.86×5.1×
pageRank1.27×1.67×1.69×
betweennessCentrality3.8×10×18×
kMedoids23×103×163×
hierarchicalClustering2.1×1.89×1.74×
kMeans7.9×17×23×
fuzzyCMeans31×49×66×

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

markovClustering
72×
floydWarshall
3.4×
affinityPropagation
2.6×
1 ms10 ms100 ms1 s
All stats (table view)
groupbenchp50avgp99minsamples
markovClusteringcpu 612 ms612 ms 613 ms611 ms 5
markovClusteringgpu 8.50 ms9.44 ms 8.60 ms8.30 ms 5
markovClusteringgpu first call 31.7 ms31.7 ms 31.7 ms31.7 ms 1
floydWarshallcpu 23.3 ms23.3 ms 23.3 ms23.1 ms 5
floydWarshallgpu 6.90 ms6.96 ms 7.00 ms6.80 ms 5
floydWarshallgpu first call 20.3 ms20.3 ms 20.3 ms20.3 ms 1
affinityPropagationcpu 39.8 ms47.6 ms 40.8 ms37.5 ms 5
affinityPropagationgpu 15.1 ms15.1 ms 15.2 ms14.7 ms 5
affinityPropagationgpu first call 25.5 ms25.5 ms 25.5 ms25.5 ms 1

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

markovClustering
300×
pageRank
1.27×
floydWarshall
11×
betweennessCentrality
3.8×
affinityPropagation
1.86×
1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
markovClusteringcpu 4.78 s4.78 s 4.79 s4.77 s 5
markovClusteringgpu 15.9 ms17.4 ms 16.2 ms15.8 ms 5
markovClusteringgpu first call 25.6 ms25.6 ms 25.6 ms25.6 ms 1
pageRankcpu 8.00 ms8.14 ms 8.10 ms7.90 ms 5
pageRankgpu 6.30 ms6.48 ms 6.40 ms6.20 ms 5
pageRankgpu first call 13.3 ms13.3 ms 13.3 ms13.3 ms 1
floydWarshallcpu 179 ms216 ms 181 ms176 ms 5
floydWarshallgpu 16.1 ms16.8 ms 17.0 ms14.7 ms 5
floydWarshallgpu first call 18.0 ms18.0 ms 18.0 ms18.0 ms 1
betweennessCentralitycpu 34.6 ms34.9 ms 35.1 ms34.4 ms 5
betweennessCentralitygpu 9.10 ms9.18 ms 9.20 ms8.70 ms 5
betweennessCentralitygpu first call 19.6 ms19.6 ms 19.6 ms19.6 ms 1
affinityPropagationcpu 209 ms317 ms 483 ms204 ms 5
affinityPropagationgpu 112 ms112 ms 113 ms112 ms 5
affinityPropagationgpu first call 117 ms117 ms 117 ms117 ms 1

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

markovClustering
642×
pageRank
1.67×
floydWarshall
32×
betweennessCentrality
10×
affinityPropagation
5.1×
kMedoids
23×
hierarchicalClustering
2.1×
1 ms10 ms100 ms1 s10 s100 s
All stats (table view)
groupbenchp50avgp99minsamples
markovClusteringcpu 30.2 s30.2 s 30.3 s30.1 s 5
markovClusteringgpu 47.1 ms50.2 ms 47.3 ms46.9 ms 5
markovClusteringgpu first call 62.0 ms62.0 ms 62.0 ms62.0 ms 1
pageRankcpu 32.1 ms42.8 ms 60.4 ms28.8 ms 5
pageRankgpu 19.2 ms19.5 ms 20.1 ms18.8 ms 5
pageRankgpu first call 21.3 ms21.3 ms 21.3 ms21.3 ms 1
floydWarshallcpu 1.35 s1.77 s 2.57 s1.16 s 5
floydWarshallgpu 42.1 ms42.9 ms 46.2 ms39.6 ms 5
floydWarshallgpu first call 46.5 ms46.5 ms 46.5 ms46.5 ms 1
betweennessCentralitycpu 153 ms154 ms 154 ms148 ms 5
betweennessCentralitygpu 15.2 ms16.2 ms 15.5 ms14.6 ms 5
betweennessCentralitygpu first call 17.5 ms17.5 ms 17.5 ms17.5 ms 1
affinityPropagationcpu 1.49 s1.64 s 1.54 s1.13 s 5
affinityPropagationgpu 293 ms293 ms 294 ms290 ms 5
affinityPropagationgpu first call 305 ms305 ms 305 ms305 ms 1
kMedoidscpu 78.6 ms82.9 ms 85.9 ms56.9 ms 5
kMedoidsgpu 3.40 ms3.78 ms 4.40 ms3.20 ms 5
kMedoidsgpu first call 12.2 ms12.2 ms 12.2 ms12.2 ms 1
hierarchicalClusteringcpu 73.5 ms74.3 ms 75.8 ms72.3 ms 5
hierarchicalClusteringgpu 34.8 ms39.7 ms 38.0 ms33.9 ms 5
hierarchicalClusteringgpu first call 34.4 ms34.4 ms 34.4 ms34.4 ms 1

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

pageRank
1.69×
betweennessCentrality
18×
kMedoids
103×
hierarchicalClustering
1.89×
1 ms10 ms100 ms1 s
All stats (table view)
groupbenchp50avgp99minsamples
pageRankcpu 122 ms122 ms 123 ms120 ms 5
pageRankgpu 71.9 ms72.3 ms 73.9 ms70.1 ms 5
pageRankgpu first call 90.7 ms90.7 ms 90.7 ms90.7 ms 1
betweennessCentralitycpu 642 ms653 ms 657 ms625 ms 5
betweennessCentralitygpu 35.9 ms38.5 ms 39.2 ms35.2 ms 5
betweennessCentralitygpu first call 41.6 ms41.6 ms 41.6 ms41.6 ms 1
kMedoidscpu 382 ms379 ms 407 ms300 ms 5
kMedoidsgpu 3.70 ms5.44 ms 4.60 ms3.60 ms 5
kMedoidsgpu first call 5.90 ms5.90 ms 5.90 ms5.90 ms 1
hierarchicalClusteringcpu 307 ms306 ms 307 ms298 ms 5
hierarchicalClusteringgpu 162 ms166 ms 177 ms154 ms 5
hierarchicalClusteringgpu first call 168 ms168 ms 168 ms168 ms 1

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

kMeans
7.9×
fuzzyCMeans
31×
kMedoids
163×
hierarchicalClustering
1.74×
1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
kMeanscpu 31.4 ms34.0 ms 32.3 ms29.7 ms 5
kMeansgpu 4.00 ms4.24 ms 4.00 ms3.90 ms 5
kMeansgpu first call 12.2 ms12.2 ms 12.2 ms12.2 ms 1
fuzzyCMeanscpu 157 ms157 ms 158 ms156 ms 5
fuzzyCMeansgpu 5.00 ms5.18 ms 5.50 ms4.90 ms 5
fuzzyCMeansgpu first call 17.8 ms17.8 ms 17.8 ms17.8 ms 1
kMedoidscpu 1.74 s1.73 s 1.78 s1.48 s 5
kMedoidsgpu 10.7 ms13.0 ms 11.7 ms9.50 ms 5
kMedoidsgpu first call 12.1 ms12.1 ms 12.1 ms12.1 ms 1
hierarchicalClusteringcpu 1.24 s1.25 s 1.28 s1.21 s 5
hierarchicalClusteringgpu 714 ms696 ms 718 ms645 ms 5
hierarchicalClusteringgpu first call 702 ms702 ms 702 ms702 ms 1

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

kMeans
17×
fuzzyCMeans
49×
1 ms10 ms100 ms1 s
All stats (table view)
groupbenchp50avgp99minsamples
kMeanscpu 129 ms129 ms 129 ms128 ms 5
kMeansgpu 7.70 ms8.70 ms 8.10 ms7.30 ms 5
kMeansgpu first call 16.7 ms16.7 ms 16.7 ms16.7 ms 1
fuzzyCMeanscpu 613 ms619 ms 615 ms610 ms 5
fuzzyCMeansgpu 12.4 ms12.5 ms 12.4 ms11.7 ms 5
fuzzyCMeansgpu first call 21.1 ms21.1 ms 21.1 ms21.1 ms 1

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

kMeans
23×
fuzzyCMeans
66×
10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
kMeanscpu 628 ms636 ms 632 ms617 ms 5
kMeansgpu 27.4 ms27.1 ms 27.4 ms26.0 ms 5
kMeansgpu first call 68.5 ms68.5 ms 68.5 ms68.5 ms 1
fuzzyCMeanscpu 2.54 s2.55 s 2.56 s2.51 s 5
fuzzyCMeansgpu 38.5 ms39.4 ms 38.8 ms37.3 ms 5
fuzzyCMeansgpu first call 82.5 ms82.5 ms 82.5 ms82.5 ms 1