Closed swasilyev closed 2 years ago
Interesting, should this be supported separately in arkworks?
Not sure. I guess Pippenger (or whatever var-base msm is in arkworks) becomes effective for just a couple (5-10) of bases.
https://github.com/w3f/fflonk/commit/6297e858feb01ba3d5d12948db574fc7d2e1e0cf
small-multiexp-vs-msm/small-multiexp-full/10
time: [4.9025 ms 4.9884 ms 5.0778 ms]
small-multiexp-vs-msm/var-base-msm-full/10
time: [6.1368 ms 6.2176 ms 6.3038 ms]
small-multiexp-vs-msm/small-multiexp-full/20
time: [9.3413 ms 9.4883 ms 9.6417 ms]
small-multiexp-vs-msm/var-base-msm-full/20
time: [8.7169 ms 8.8329 ms 8.9625 ms]
More like 15-20
In other words, they could dynamically tune it, so the interface need not be any more complicated.
Stolen from https://github.com/zcash/halo2/pull/20