Profiling node performance

Following on from the comparison of threshold_crypto vs blst which showed blst as between 2-12x faster than threshold_crypto.

I replaced threshold_crypto with blst. Hopefully uploads should be faster since time spent doing bls crypto operations should be at least halved.

I ran a test storing 20 files each 2 KB, recording the total time taken to run.
sn_node v0.30.0
sn_api v0.21.0

threshold_crypto:

Test Time (s)
1 197.65
2 142.77
3 159.34
4 167.17
5 141.88
Avg 161.76

blst:

Test Time (s)
1 213.15
2 195.68
3 209.36
4 214.01
5 212.72
Avg 208.99

blst was slower to do 20 uploads, even though the actual crypto operations are at least 2x faster.

I don’t have numerical data unfortunately, but the cpu consumption was noticeably lower with blst (I have this cpu meter constantly running and there is very obviously much more green for threshold_crypto cpu_meter_threshold_crypto than blst cpu_meter_blst ).

So, blst had a slower overall upload speed, but less cpu usage… very hard to intuitively guess what is causing it to be slower, but would love to hear if anyone has some ideas.

7 Likes