diff options
author | MITSUNARI Shigeo <herumi@nifty.com> | 2019-02-13 08:44:59 +0800 |
---|---|---|
committer | MITSUNARI Shigeo <herumi@nifty.com> | 2019-02-13 08:45:05 +0800 |
commit | 817a6d94e679280005e6d87cca4d600a19d77e61 (patch) | |
tree | b22f350936e975ee829ad08f3e52daf54d7c4347 | |
parent | 4faf7ef2c1eb2431632f6069d45eed52ee15c798 (diff) | |
download | tangerine-mcl-817a6d94e679280005e6d87cca4d600a19d77e61.tar.gz tangerine-mcl-817a6d94e679280005e6d87cca4d600a19d77e61.tar.zst tangerine-mcl-817a6d94e679280005e6d87cca4d600a19d77e61.zip |
add some benchmark
-rw-r--r-- | test/bench.hpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/bench.hpp b/test/bench.hpp index 64c792f..e703194 100644 --- a/test/bench.hpp +++ b/test/bench.hpp @@ -19,10 +19,34 @@ void testBench(const G1& P, const G2& Q) CYBOZU_BENCH_C("G1::mul ", C, G1::mul, Pa, Pa, a); CYBOZU_BENCH_C("G1::add ", C, G1::add, Pa, Pa, P); CYBOZU_BENCH_C("G1::dbl ", C, G1::dbl, Pa, Pa); + { + G1 P1 = Pa, P2 = Pa + P, P3; + CYBOZU_BENCH_C("G1::add(1) ", C3, G1::add, P3, P1, P2); + P1.normalize(); + CYBOZU_BENCH_C("G1::add(2) ", C3, G1::add, P3, P1, P2); + P2.normalize(); + CYBOZU_BENCH_C("G1::add(3) ", C3, G1::add, P3, P1, P2); + P1 = P3; + CYBOZU_BENCH_C("G1::dbl(1) ", C3, G1::dbl, P3, P1); + P1.normalize(); + CYBOZU_BENCH_C("G1::dbl(2) ", C3, G1::dbl, P3, P1); + } CYBOZU_BENCH_C("G2::mulCT ", C, G2::mulCT, Qa, Q, a); CYBOZU_BENCH_C("G2::mul ", C, G2::mul, Qa, Qa, a); CYBOZU_BENCH_C("G2::add ", C, G2::add, Qa, Qa, Q); CYBOZU_BENCH_C("G2::dbl ", C, G2::dbl, Qa, Qa); + { + G2 Q1 = Qa, Q2 = Qa + Q, Q3; + CYBOZU_BENCH_C("G2::add(1) ", C3, G2::add, Q3, Q1, Q2); + Q1.normalize(); + CYBOZU_BENCH_C("G2::add(2) ", C3, G2::add, Q3, Q1, Q2); + Q2.normalize(); + CYBOZU_BENCH_C("G2::add(3) ", C3, G2::add, Q3, Q1, Q2); + Q1 = Q3; + CYBOZU_BENCH_C("G2::dbl(1) ", C3, G2::dbl, Q3, Q1); + Q1.normalize(); + CYBOZU_BENCH_C("G2::dbl(2) ", C3, G2::dbl, Q3, Q1); + } CYBOZU_BENCH_C("GT::pow ", C, GT::pow, e1, e1, a); // CYBOZU_BENCH_C("GT::powGLV ", C, BN::param.glv2.pow, e1, e1, a); G1 PP; @@ -85,6 +109,7 @@ void testBench(const G1& P, const G2& Q) CYBOZU_BENCH_C("finalExp ", 3000, finalExp, e1, e1); //exit(1); std::vector<Fp6> Qcoeff; + CYBOZU_BENCH_C("precomputeG2 ", C, precomputeG2, Qcoeff, Q); precomputeG2(Qcoeff, Q); CYBOZU_BENCH_C("precomputedML ", C, precomputedMillerLoop, e2, P, Qcoeff); } |