clearmatics / libff

C++ library for Finite Fields and Elliptic Curves (forked from scipr-lab/libff)
https://clearmatics.github.io/libff/
Other
3 stars 2 forks source link

multiexp with precompute (depends on #47) #51

Closed dtebbs closed 3 years ago

dtebbs commented 3 years ago

VERY EARLY results of the precompute approach are promising.

g++ version: Clang 11.0.0
Compiled on Jun 16 2021 12:03:30
STATIC: no
MULTICORE: yes
DEBUG: no
PROFILE_OP_COUNTS: no
_GLIBCXX_DEBUG: no
Profiling alt_bn128_g1
              bos-coster                     djb              djb_signed        djb_signed_mixed             from_stream        from_stream_precompute             naive
8              101850945               143962044               133945593               129641152               133160699                48428056               392817568
9              182539509               214799315               211104288               176670299               165139984               101196694               760459762
10             312890426               384406273               361158319               315250813               306977981               175986452              1571023072
11             588082746               712470506               667700064               577321328               571331864               311207782              3063849854
12            1098899981              1184783165              1137456984               906677928               914859524               638768094              6376001826
13            1945632899              2112604539              1971138553              1551279352              1611160872              1055241793             12077203088
14            3716928559              3752533648              3556790689              2816956616              2994594794              1941602453             24471109430
15            7984521607              7081509640              6611727568              4901054723              5251706513              4194252070
16           14340633336             13182801957             12632883670              9293769124             10004053701              7856860652
17           27723307890             24384393531             22881983535             16699940661             18798418245             14278152460
18           55074017697             47220065441             44360330560             31104753216             33285671944             27720072975
19          110471268871             89552992753             83444550656             59156569168             63712374354             53674287662
20          220912914015            167761316158            160569572544            128603439403            126015956736            105974854128