Cytoscape.js GPU benchmarks

v4 executor 'cpu' vs 'gpu' · times are per-call p50 · 2026-09-02 01:47 · 9ed49abc (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) · 7.1.10-100.fc43.x86_64 · x64
Nodev24.18.0 (v8 13.6.233.17-node.50)
Commit9ed49abc
docs(113): the performance review recorded — what the sweep measured and what it fixed
Machine id5cf3f79c
Median speedup (geo-mean) 7.7× 57 cpu-vs-gpu comparisons
Biggest win 2222× heatKernel @ N=1.024k
cpu still ahead 11 comparisons
Total run time 16.3 min algorithms-gpu profile

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

heatKernel @ 1.024k
2222×
heatKernel @ 512
674×
markovClustering @ 1.024k
650×
markovClustering @ 512
301×
rwrProximity @ 1.024k
277×
kMedoids @ 4.096k
159×
simRank @ 1.024k
156×
rwrProximity @ 512
124×
markovClustering @ 256
115×
kMedoids @ 2.048k
109×
simRank @ 512
90×
heatKernel @ 256
76×
fuzzyCMeans @ 65.536k
69×
fuzzyCMeans @ 16.384k
51×
closenessCentralityNormalized @ 1.024k
49×
effectiveResistance @ 1.024k
43×
floydWarshall @ 1.024k
37×
rwrProximity @ 256
35×
simRank @ 256
33×
fuzzyCMeans @ 4.096k
30×
closenessCentralityNormalized @ 512
25×
motifCensus @ 2.048k
24×
kMedoids @ 1.024k
23×
kMeans @ 65.536k
22×
effectiveResistance @ 512
21×
betweennessCentrality @ 2.048k
18×
kMeans @ 16.384k
17×
floydWarshall @ 512
16×
betweennessCentrality @ 1.024k
10×
triangleCount @ 2.048k
9.0×
motifCensus @ 1.024k
7.9×
kMeans @ 4.096k
7.7×
effectiveResistance @ 256
7.4×
neighborhoodSimilarity @ 2.048k
6.6×
closenessCentralityNormalized @ 256
6.4×
triangleCount @ 1.024k
4.7×
betweennessCentrality @ 512
3.9×
neighborhoodSimilarity @ 1.024k
3.9×
affinityPropagation @ 512
3.7×
affinityPropagation @ 1.024k
3.7×
floydWarshall @ 256
3.6×
affinityPropagation @ 256
3.2×
triangleCount @ 512
2.3×
motifCensus @ 512
2.0×
neighborhoodSimilarity @ 512
2.00×
hierarchicalClustering @ 1.024k
1.01×
hierarchicalClustering @ 4.096k
0.96×
hierarchicalClustering @ 2.048k
0.94×
pageRankDense @ 1.024k
0.19×
pageRankDense @ 2.048k
0.19×
pageRankDense @ 512
0.15×
pageRank @ 512
0.06×
katzCentrality @ 512
0.05×
pageRank @ 1.024k
0.02×
katzCentrality @ 1.024k
0.02×
pageRank @ 2.048k
0.01×
katzCentrality @ 2.048k
0.01×
0.001×0.01×0.1×10×100×1000×10000×

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
markovClustering115×301×650×
floydWarshall3.6×16×37×
affinityPropagation3.2×3.7×3.7×
closenessCentralityNormalized6.4×25×49×
effectiveResistance7.4×21×43×
simRank33×90×156×
rwrProximity35×124×277×
heatKernel76×674×2222×
pageRank0.06×0.02×0.01×
pageRankDense0.15×0.19×0.19×
betweennessCentrality3.9×10×18×
triangleCount2.3×4.7×9.0×
neighborhoodSimilarity2.00×3.9×6.6×
katzCentrality0.05×0.02×0.01×
motifCensus2.0×7.9×24×
kMedoids23×109×159×
hierarchicalClustering1.01×0.94×0.96×
kMeans7.7×17×22×
fuzzyCMeans30×51×69×

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

markovClustering
115×
floydWarshall
3.6×
affinityPropagation
3.2×
closenessCentralityNormalized
6.4×
effectiveResistance
7.4×
simRank
33×
rwrProximity
35×
heatKernel
76×
1 ms10 ms100 ms1 s
All stats (table view)
groupbenchp50avgp99minsamples
markovClusteringcpu 607 ms612 ms 615 ms603 ms 5
markovClusteringgpu 5.30 ms5.80 ms 5.50 ms5.20 ms 5
markovClusteringgpu first call 25.7 ms25.7 ms 25.7 ms25.7 ms 1
floydWarshallcpu 23.2 ms33.9 ms 49.8 ms21.4 ms 5
floydWarshallgpu 6.40 ms6.50 ms 6.50 ms6.40 ms 5
floydWarshallgpu first call 20.6 ms20.6 ms 20.6 ms20.6 ms 1
affinityPropagationcpu 40.6 ms47.4 ms 41.8 ms37.9 ms 5
affinityPropagationgpu 12.8 ms12.8 ms 13.0 ms12.1 ms 5
affinityPropagationgpu first call 25.2 ms25.2 ms 25.2 ms25.2 ms 1
closenessCentralityNormalizedcpu 23.2 ms23.2 ms 23.3 ms23.0 ms 5
closenessCentralityNormalizedgpu 3.60 ms3.62 ms 3.70 ms3.50 ms 5
closenessCentralityNormalizedgpu first call 7.30 ms7.30 ms 7.30 ms7.30 ms 1
effectiveResistancecpu 52.4 ms53.1 ms 52.9 ms52.0 ms 5
effectiveResistancegpu 7.10 ms6.90 ms 7.40 ms6.20 ms 5
effectiveResistancegpu first call 14.0 ms14.0 ms 14.0 ms14.0 ms 1
simRankcpu 147 ms207 ms 149 ms146 ms 5
simRankgpu 4.40 ms4.58 ms 4.90 ms4.20 ms 5
simRankgpu first call 13.0 ms13.0 ms 13.0 ms13.0 ms 1
rwrProximitycpu 167 ms168 ms 168 ms166 ms 5
rwrProximitygpu 4.80 ms5.58 ms 4.90 ms4.60 ms 5
rwrProximitygpu first call 14.8 ms14.8 ms 14.8 ms14.8 ms 1
heatKernelcpu 305 ms306 ms 309 ms303 ms 5
heatKernelgpu 4.00 ms4.06 ms 4.30 ms3.80 ms 5
heatKernelgpu first call 13.2 ms13.2 ms 13.2 ms13.2 ms 1

algorithms-gpu N=512 · 1.4 minv4 (gpu) v4 (cpu)

markovClustering
301×
pageRank
0.06×
pageRankDense
0.15×
floydWarshall
16×
betweennessCentrality
3.9×
affinityPropagation
3.7×
closenessCentralityNormalized
25×
triangleCount
2.3×
neighborhoodSimilarity
2.00×
katzCentrality
0.05×
effectiveResistance
21×
simRank
90×
rwrProximity
124×
heatKernel
674×
motifCensus
2.0×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
markovClusteringcpu 4.75 s4.75 s 4.76 s4.73 s 5
markovClusteringgpu 15.8 ms15.7 ms 15.9 ms14.9 ms 5
markovClusteringgpu first call 21.9 ms21.9 ms 21.9 ms21.9 ms 1
pageRankcpu 400 µs420 µs 400 µs200 µs 5
pageRankgpu 6.60 ms6.72 ms 6.80 ms6.40 ms 5
pageRankgpu first call 13.4 ms13.4 ms 13.4 ms13.4 ms 1
pageRankDensecpu 1.00 ms960 µs 1.00 ms900 µs 5
pageRankDensegpu 6.70 ms7.90 ms 8.00 ms6.50 ms 5
pageRankDensegpu first call 30.0 ms30.0 ms 30.0 ms30.0 ms 1
floydWarshallcpu 182 ms181 ms 183 ms176 ms 5
floydWarshallgpu 11.6 ms11.9 ms 11.6 ms11.4 ms 5
floydWarshallgpu first call 13.7 ms13.7 ms 13.7 ms13.7 ms 1
betweennessCentralitycpu 34.8 ms35.0 ms 35.0 ms34.6 ms 5
betweennessCentralitygpu 8.90 ms9.00 ms 9.00 ms8.50 ms 5
betweennessCentralitygpu first call 19.2 ms19.2 ms 19.2 ms19.2 ms 1
affinityPropagationcpu 204 ms311 ms 470 ms198 ms 5
affinityPropagationgpu 54.6 ms54.2 ms 54.7 ms53.4 ms 5
affinityPropagationgpu first call 59.1 ms59.1 ms 59.1 ms59.1 ms 1
closenessCentralityNormalizedcpu 180 ms174 ms 182 ms162 ms 5
closenessCentralityNormalizedgpu 7.20 ms7.46 ms 7.50 ms7.00 ms 5
closenessCentralityNormalizedgpu first call 8.10 ms8.10 ms 8.10 ms8.10 ms 1
triangleCountcpu 15.8 ms16.0 ms 15.9 ms15.3 ms 5
triangleCountgpu 6.90 ms6.92 ms 7.10 ms6.60 ms 5
triangleCountgpu first call 29.1 ms29.1 ms 29.1 ms29.1 ms 1
neighborhoodSimilaritycpu 14.6 ms14.5 ms 14.6 ms14.0 ms 5
neighborhoodSimilaritygpu 7.30 ms7.34 ms 7.50 ms7.00 ms 5
neighborhoodSimilaritygpu first call 36.4 ms36.4 ms 36.4 ms36.4 ms 1
katzCentralitycpu 300 µs300 µs 300 µs200 µs 5
katzCentralitygpu 6.00 ms6.02 ms 6.30 ms5.60 ms 5
katzCentralitygpu first call 10.8 ms10.8 ms 10.8 ms10.8 ms 1
effectiveResistancecpu 411 ms601 ms 892 ms402 ms 5
effectiveResistancegpu 20.0 ms19.9 ms 20.4 ms18.4 ms 5
effectiveResistancegpu first call 19.3 ms19.3 ms 19.3 ms19.3 ms 1
simRankcpu 1.07 s1.51 s 1.08 s1.05 s 5
simRankgpu 11.9 ms11.9 ms 12.0 ms11.8 ms 5
simRankgpu first call 29.7 ms29.7 ms 29.7 ms29.7 ms 1
rwrProximitycpu 1.29 s1.30 s 1.30 s1.29 s 5
rwrProximitygpu 10.4 ms11.2 ms 10.5 ms10.3 ms 5
rwrProximitygpu first call 31.1 ms31.1 ms 31.1 ms31.1 ms 1
heatKernelcpu 4.72 s4.72 s 4.72 s4.70 s 5
heatKernelgpu 7.00 ms7.80 ms 7.80 ms6.80 ms 5
heatKernelgpu first call 28.4 ms28.4 ms 28.4 ms28.4 ms 1
motifCensuscpu 42.5 ms51.4 ms 66.6 ms39.6 ms 5
motifCensusgpu 21.2 ms19.9 ms 22.4 ms12.8 ms 5
motifCensusgpu first call 47.0 ms47.0 ms 47.0 ms47.0 ms 1

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

markovClustering
650×
pageRank
0.02×
pageRankDense
0.19×
floydWarshall
37×
betweennessCentrality
10×
affinityPropagation
3.7×
kMedoids
23×
hierarchicalClustering
1.01×
closenessCentralityNormalized
49×
triangleCount
4.7×
neighborhoodSimilarity
3.9×
katzCentrality
0.02×
effectiveResistance
43×
simRank
156×
rwrProximity
277×
heatKernel
2222×
motifCensus
7.9×
100 µs1 ms10 ms100 ms1 s10 s100 s
All stats (table view)
groupbenchp50avgp99minsamples
markovClusteringcpu 30.0 s30.0 s 30.0 s30.0 s 5
markovClusteringgpu 46.2 ms47.9 ms 46.6 ms46.0 ms 5
markovClusteringgpu first call 53.3 ms53.3 ms 53.3 ms53.3 ms 1
pageRankcpu 400 µs500 µs 600 µs300 µs 5
pageRankgpu 18.2 ms18.4 ms 18.3 ms17.8 ms 5
pageRankgpu first call 20.2 ms20.2 ms 20.2 ms20.2 ms 1
pageRankDensecpu 3.70 ms3.70 ms 3.80 ms3.60 ms 5
pageRankDensegpu 19.3 ms19.6 ms 19.3 ms19.1 ms 5
pageRankDensegpu first call 107 ms107 ms 107 ms107 ms 1
floydWarshallcpu 1.40 s1.41 s 1.40 s1.40 s 5
floydWarshallgpu 37.9 ms42.9 ms 47.9 ms35.5 ms 5
floydWarshallgpu first call 40.0 ms40.0 ms 40.0 ms40.0 ms 1
betweennessCentralitycpu 152 ms155 ms 152 ms151 ms 5
betweennessCentralitygpu 15.2 ms15.2 ms 15.3 ms15.1 ms 5
betweennessCentralitygpu first call 19.1 ms19.1 ms 19.1 ms19.1 ms 1
affinityPropagationcpu 1.07 s1.40 s 1.20 s1.04 s 5
affinityPropagationgpu 293 ms293 ms 294 ms289 ms 5
affinityPropagationgpu first call 291 ms291 ms 291 ms291 ms 1
kMedoidscpu 74.1 ms73.9 ms 97.8 ms38.3 ms 5
kMedoidsgpu 3.20 ms3.26 ms 3.30 ms3.10 ms 5
kMedoidsgpu first call 12.0 ms12.0 ms 12.0 ms12.0 ms 1
hierarchicalClusteringcpu 27.3 ms29.5 ms 35.5 ms24.1 ms 5
hierarchicalClusteringgpu 26.9 ms26.9 ms 27.0 ms26.7 ms 5
hierarchicalClusteringgpu first call 32.9 ms32.9 ms 32.9 ms32.9 ms 1
closenessCentralityNormalizedcpu 1.29 s1.29 s 1.30 s1.28 s 5
closenessCentralityNormalizedgpu 26.4 ms27.3 ms 26.7 ms26.2 ms 5
closenessCentralityNormalizedgpu first call 27.8 ms27.8 ms 27.8 ms27.8 ms 1
triangleCountcpu 104 ms154 ms 107 ms104 ms 5
triangleCountgpu 22.2 ms22.6 ms 24.4 ms20.4 ms 5
triangleCountgpu first call 103 ms103 ms 103 ms103 ms 1
neighborhoodSimilaritycpu 90.9 ms137 ms 207 ms88.8 ms 5
neighborhoodSimilaritygpu 23.5 ms23.3 ms 23.5 ms23.0 ms 5
neighborhoodSimilaritygpu first call 90.9 ms90.9 ms 90.9 ms90.9 ms 1
katzCentralitycpu 200 µs160 µs 200 µs0.00 ns 5
katzCentralitygpu 13.0 ms13.2 ms 13.2 ms12.9 ms 5
katzCentralitygpu first call 14.0 ms14.0 ms 14.0 ms14.0 ms 1
effectiveResistancecpu 3.39 s3.41 s 3.42 s3.39 s 5
effectiveResistancegpu 79.7 ms81.9 ms 84.3 ms78.9 ms 5
effectiveResistancegpu first call 81.9 ms81.9 ms 81.9 ms81.9 ms 1
simRankcpu 8.37 s8.37 s 8.37 s8.34 s 5
simRankgpu 53.7 ms54.1 ms 54.3 ms53.0 ms 5
simRankgpu first call 129 ms129 ms 129 ms129 ms 1
rwrProximitycpu 10.3 s10.3 s 10.3 s10.3 s 5
rwrProximitygpu 37.2 ms37.9 ms 38.1 ms36.8 ms 5
rwrProximitygpu first call 109 ms109 ms 109 ms109 ms 1
heatKernelcpu 74.9 s74.9 s 74.9 s74.7 s 5
heatKernelgpu 33.7 ms34.2 ms 34.1 ms33.2 ms 5
heatKernelgpu first call 116 ms116 ms 116 ms116 ms 1
motifCensuscpu 329 ms408 ms 540 ms314 ms 5
motifCensusgpu 41.5 ms41.7 ms 41.9 ms41.3 ms 5
motifCensusgpu first call 111 ms111 ms 111 ms111 ms 1

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

pageRank
0.01×
pageRankDense
0.19×
betweennessCentrality
18×
kMedoids
109×
hierarchicalClustering
0.94×
triangleCount
9.0×
neighborhoodSimilarity
6.6×
katzCentrality
0.01×
motifCensus
24×
100 µs1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
pageRankcpu 600 µs640 µs 600 µs500 µs 5
pageRankgpu 69.0 ms69.9 ms 71.2 ms67.9 ms 5
pageRankgpu first call 83.1 ms83.1 ms 83.1 ms83.1 ms 1
pageRankDensecpu 15.4 ms15.5 ms 15.5 ms15.3 ms 5
pageRankDensegpu 80.5 ms81.2 ms 82.3 ms79.7 ms 5
pageRankDensegpu first call 397 ms397 ms 397 ms397 ms 1
betweennessCentralitycpu 635 ms655 ms 706 ms610 ms 5
betweennessCentralitygpu 35.1 ms35.4 ms 35.7 ms34.7 ms 5
betweennessCentralitygpu first call 39.1 ms39.1 ms 39.1 ms39.1 ms 1
kMedoidscpu 381 ms366 ms 437 ms264 ms 5
kMedoidsgpu 3.50 ms3.76 ms 3.60 ms3.40 ms 5
kMedoidsgpu first call 4.60 ms4.60 ms 4.60 ms4.60 ms 1
hierarchicalClusteringcpu 98.2 ms98.3 ms 98.8 ms97.5 ms 5
hierarchicalClusteringgpu 105 ms106 ms 109 ms103 ms 5
hierarchicalClusteringgpu first call 131 ms131 ms 131 ms131 ms 1
triangleCountcpu 765 ms1.54 s 2.70 s761 ms 5
triangleCountgpu 85.1 ms86.8 ms 85.1 ms83.3 ms 5
triangleCountgpu first call 398 ms398 ms 398 ms398 ms 1
neighborhoodSimilaritycpu 602 ms601 ms 602 ms599 ms 5
neighborhoodSimilaritygpu 91.7 ms95.3 ms 95.4 ms88.7 ms 5
neighborhoodSimilaritygpu first call 406 ms406 ms 406 ms406 ms 1
katzCentralitycpu 300 µs280 µs 300 µs200 µs 5
katzCentralitygpu 34.9 ms35.5 ms 36.5 ms34.2 ms 5
katzCentralitygpu first call 37.2 ms37.2 ms 37.2 ms37.2 ms 1
motifCensuscpu 2.88 s3.45 s 4.46 s2.58 s 5
motifCensusgpu 121 ms121 ms 124 ms109 ms 5
motifCensusgpu first call 460 ms460 ms 460 ms460 ms 1

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

kMeans
7.7×
fuzzyCMeans
30×
kMedoids
159×
hierarchicalClustering
0.96×
1 ms10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
kMeanscpu 30.8 ms33.4 ms 33.9 ms29.5 ms 5
kMeansgpu 4.00 ms4.18 ms 4.10 ms3.60 ms 5
kMeansgpu first call 12.6 ms12.6 ms 12.6 ms12.6 ms 1
fuzzyCMeanscpu 153 ms153 ms 154 ms149 ms 5
fuzzyCMeansgpu 5.10 ms5.22 ms 5.30 ms4.90 ms 5
fuzzyCMeansgpu first call 17.8 ms17.8 ms 17.8 ms17.8 ms 1
kMedoidscpu 1.75 s1.82 s 1.97 s1.60 s 5
kMedoidsgpu 11.0 ms11.2 ms 11.6 ms10.8 ms 5
kMedoidsgpu first call 12.0 ms12.0 ms 12.0 ms12.0 ms 1
hierarchicalClusteringcpu 422 ms423 ms 427 ms417 ms 5
hierarchicalClusteringgpu 439 ms443 ms 439 ms435 ms 5
hierarchicalClusteringgpu first call 469 ms469 ms 469 ms469 ms 1

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

kMeans
17×
fuzzyCMeans
51×
1 ms10 ms100 ms1 s
All stats (table view)
groupbenchp50avgp99minsamples
kMeanscpu 126 ms126 ms 127 ms124 ms 5
kMeansgpu 7.50 ms8.64 ms 9.70 ms7.20 ms 5
kMeansgpu first call 18.5 ms18.5 ms 18.5 ms18.5 ms 1
fuzzyCMeanscpu 601 ms605 ms 607 ms595 ms 5
fuzzyCMeansgpu 11.7 ms11.6 ms 11.7 ms10.1 ms 5
fuzzyCMeansgpu first call 21.5 ms21.5 ms 21.5 ms21.5 ms 1

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

kMeans
22×
fuzzyCMeans
69×
10 ms100 ms1 s10 s
All stats (table view)
groupbenchp50avgp99minsamples
kMeanscpu 608 ms615 ms 613 ms597 ms 5
kMeansgpu 27.1 ms27.2 ms 27.3 ms26.7 ms 5
kMeansgpu first call 69.7 ms69.7 ms 69.7 ms69.7 ms 1
fuzzyCMeanscpu 2.57 s2.57 s 2.59 s2.51 s 5
fuzzyCMeansgpu 37.2 ms37.6 ms 38.9 ms35.0 ms 5
fuzzyCMeansgpu first call 91.4 ms91.4 ms 91.4 ms91.4 ms 1