EspressoSystems / hotshot-primitives

Primitives used in HotShot
https://hotshot-primitives.docs.espressosys.com/
3 stars 2 forks source link

Benchmark for quadratic-time VID ADVZ: recover #49

Closed ggutoski closed 1 year ago

ggutoski commented 1 year ago

Benchmark data for Advz::recover_payload collected via cargo bench -- advz using code from https://github.com/EspressoSystems/hotshot-primitives/pull/55/commits/6407158efa5a8b2783b2a385528b658cb1fd274d on my 2020 MBP Intel.

Overview

advz_Bls381_recover_1000KB

Data

advz_Bls381_recover_1000KB

num storage nodes run time
100 2.7112 s
200 5.8802 s
300 8.8662 s
400 11.665 s
500 14.734 s

advz_Bls381_recover_100KB

num storage nodes run time
100 273.70 ms
200 594.49 ms
300 923.84 ms
400 1.2540 s
500 1.5791 s
ggutoski commented 1 year ago

More storage nodes

New data gathered using https://github.com/EspressoSystems/hotshot-primitives/commit/cd8d3b6fcb9a88ab633ea1a0e2899035a242bd88 (which pins jellyfish to https://github.com/EspressoSystems/jellyfish/commit/a32de380a2f2667fb789766582a9c24fe050f090).

1MB payload, 600-1000 storage nodes

Still looks pretty linear!

violin

advz_Bls381_recover_1024KB

num storage nodes run time
600 18.179 s
700 20.370 s
800 23.360 s
900 26.356 s
1000 29.401 s