diff --git a/bench/data.js b/bench/data.js index ea8aeb2ec..d7543f250 100644 --- a/bench/data.js +++ b/bench/data.js @@ -1,5 +1,5 @@ window.BENCHMARK_DATA = { - "lastUpdate": 1727812114886, + "lastUpdate": 1727813001003, "repoUrl": "https://github.com/lambdaclass/lambdaworks", "entries": { "Benchmark": [ @@ -14234,6 +14234,450 @@ window.BENCHMARK_DATA = { "unit": "ns/iter" } ] + }, + { + "commit": { + "author": { + "email": "nicole.graus@lambdaclass.com", + "name": "Nicole Graus", + "username": "nicole-graus" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "7a427aacfd9241276c17f38ecbfd5e6dfae4e032", + "message": "Optimize Mersenne31 Field (#921)\n\n* optimize add\n\n* save changes. Add, sub and mul checked\n\n* fix tests\n\n* add new inv\n\n* add mult by powers of two\n\n* replace inverse\n\n* test new inv\n\n* modify old algorithm for inv\n\n* fix tests extension\n\n* add mul for degree 4 extension\n\n* add fp4 isField and isSubField operations and benchmarks\n\n* new version for fp4 mul based on the paper\n\n* add mul of a fp2e by non-residue\n\n* change inv using mul_fp2_by_non_resiude\n\n* save work\n\n* wip fp2 test\n\n* add fp2 tests\n\n* add 2 * a^2 - 1 function\n\n* use karatsuba in fp4 mul version 1\n\n* clean up\n\n* fix Fp as subfield of Fp2. Tests Fp plus Fp4 is now correct\n\n* fix inv\n\n* fix comments\n\n* fix comments\n\n* fixes\n\n* fix clippy\n\n* fix cargo check no-std\n\n* fix clippy\n\n* change zero function of isField to rust default\n\n* fix two_square_minus_one function and optimize inv function\n\n* fix clippy\n\n---------\n\nCo-authored-by: Nicole \nCo-authored-by: Joaquin Carletti \nCo-authored-by: diegokingston \nCo-authored-by: Diego K <43053772+diegokingston@users.noreply.github.com>\nCo-authored-by: Joaquin Carletti <56092489+ColoCarletti@users.noreply.github.com>", + "timestamp": "2024-10-01T19:34:56Z", + "tree_id": "25d06e0cb0053c3af5b6498cf807ad07dae1d526", + "url": "https://github.com/lambdaclass/lambdaworks/commit/7a427aacfd9241276c17f38ecbfd5e6dfae4e032" + }, + "date": 1727812999285, + "tool": "cargo", + "benches": [ + { + "name": "Ordered FFT/Sequential from NR radix2", + "value": 324013493, + "range": "± 861566", + "unit": "ns/iter" + }, + { + "name": "Ordered FFT/Sequential from RN radix2", + "value": 423781744, + "range": "± 10729386", + "unit": "ns/iter" + }, + { + "name": "Ordered FFT/Sequential from NR radix4", + "value": 281652697, + "range": "± 4670032", + "unit": "ns/iter" + }, + { + "name": "Ordered FFT/Sequential from NR radix2 #2", + "value": 681824372, + "range": "± 4143920", + "unit": "ns/iter" + }, + { + "name": "Ordered FFT/Sequential from RN radix2 #2", + "value": 955030591, + "range": "± 34879891", + "unit": "ns/iter" + }, + { + "name": "Ordered FFT/Sequential from NR radix2 #3", + "value": 1425697814, + "range": "± 8269703", + "unit": "ns/iter" + }, + { + "name": "Ordered FFT/Sequential from RN radix2 #3", + "value": 1918814391, + "range": "± 61039194", + "unit": "ns/iter" + }, + { + "name": "Ordered FFT/Sequential from NR radix4 #2", + "value": 1236722938, + "range": "± 1155948", + "unit": "ns/iter" + }, + { + "name": "Ordered FFT/Sequential from NR radix2 #4", + "value": 2963959511, + "range": "± 7244742", + "unit": "ns/iter" + }, + { + "name": "Ordered FFT/Sequential from RN radix2 #4", + "value": 3866787727, + "range": "± 72219770", + "unit": "ns/iter" + }, + { + "name": "Ordered FFT/Sequential from NR radix2 #5", + "value": 6219336783, + "range": "± 12884962", + "unit": "ns/iter" + }, + { + "name": "Ordered FFT/Sequential from RN radix2 #5", + "value": 8221572169, + "range": "± 257197320", + "unit": "ns/iter" + }, + { + "name": "Ordered FFT/Sequential from NR radix4 #3", + "value": 5425735496, + "range": "± 5336216", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/natural", + "value": 7453073, + "range": "± 12223", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/natural inversed", + "value": 7499604, + "range": "± 24035", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/bit-reversed", + "value": 15066010, + "range": "± 1315039", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/bit-reversed inversed", + "value": 13356394, + "range": "± 1585583", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/natural #2", + "value": 18772380, + "range": "± 174308", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/natural inversed #2", + "value": 18844736, + "range": "± 139404", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/bit-reversed #2", + "value": 43929951, + "range": "± 1944421", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/bit-reversed inversed #2", + "value": 40227286, + "range": "± 2108238", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/natural #3", + "value": 36933956, + "range": "± 240796", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/natural inversed #3", + "value": 37098689, + "range": "± 220188", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/bit-reversed #3", + "value": 88967109, + "range": "± 3070434", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/bit-reversed inversed #3", + "value": 85371235, + "range": "± 1727172", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/natural #4", + "value": 74029871, + "range": "± 339819", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/natural inversed #4", + "value": 74069785, + "range": "± 602555", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/bit-reversed #4", + "value": 182285370, + "range": "± 7773072", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/bit-reversed inversed #4", + "value": 177877356, + "range": "± 4649859", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/natural #5", + "value": 147380596, + "range": "± 536996", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/natural inversed #5", + "value": 147116722, + "range": "± 743911", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/bit-reversed #5", + "value": 349820850, + "range": "± 9106608", + "unit": "ns/iter" + }, + { + "name": "FFT twiddles generation/bit-reversed inversed #5", + "value": 341791896, + "range": "± 8862498", + "unit": "ns/iter" + }, + { + "name": "Bit-reverse permutation/Sequential", + "value": 24715899, + "range": "± 928615", + "unit": "ns/iter" + }, + { + "name": "Bit-reverse permutation/Sequential #2", + "value": 52579574, + "range": "± 1329983", + "unit": "ns/iter" + }, + { + "name": "Bit-reverse permutation/Sequential #3", + "value": 106351699, + "range": "± 3211461", + "unit": "ns/iter" + }, + { + "name": "Bit-reverse permutation/Sequential #4", + "value": 203869725, + "range": "± 7186209", + "unit": "ns/iter" + }, + { + "name": "Bit-reverse permutation/Sequential #5", + "value": 505121964, + "range": "± 16412552", + "unit": "ns/iter" + }, + { + "name": "Polynomial evaluation/Sequential FFT", + "value": 386998685, + "range": "± 7198632", + "unit": "ns/iter" + }, + { + "name": "Polynomial evaluation/Sequential FFT #2", + "value": 801588011, + "range": "± 7627518", + "unit": "ns/iter" + }, + { + "name": "Polynomial evaluation/Sequential FFT #3", + "value": 1669008660, + "range": "± 12717735", + "unit": "ns/iter" + }, + { + "name": "Polynomial evaluation/Sequential FFT #4", + "value": 3426313370, + "range": "± 19925895", + "unit": "ns/iter" + }, + { + "name": "Polynomial evaluation/Sequential FFT #5", + "value": 7217212550, + "range": "± 16840526", + "unit": "ns/iter" + }, + { + "name": "Polynomial interpolation/Sequential FFT", + "value": 407594533, + "range": "± 2960933", + "unit": "ns/iter" + }, + { + "name": "Polynomial interpolation/Sequential FFT #2", + "value": 842928460, + "range": "± 5094150", + "unit": "ns/iter" + }, + { + "name": "Polynomial interpolation/Sequential FFT #3", + "value": 1749275454, + "range": "± 10774898", + "unit": "ns/iter" + }, + { + "name": "Polynomial interpolation/Sequential FFT #4", + "value": 3642019537, + "range": "± 19946112", + "unit": "ns/iter" + }, + { + "name": "Polynomial interpolation/Sequential FFT #5", + "value": 7630667772, + "range": "± 52388415", + "unit": "ns/iter" + }, + { + "name": "Polynomial/evaluate", + "value": 265, + "range": "± 1", + "unit": "ns/iter" + }, + { + "name": "Polynomial/evaluate_slice", + "value": 8495, + "range": "± 16", + "unit": "ns/iter" + }, + { + "name": "Polynomial/add", + "value": 283, + "range": "± 3", + "unit": "ns/iter" + }, + { + "name": "Polynomial/neg", + "value": 161, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "Polynomial/sub", + "value": 434, + "range": "± 1", + "unit": "ns/iter" + }, + { + "name": "Polynomial/mul", + "value": 6418, + "range": "± 502", + "unit": "ns/iter" + }, + { + "name": "Polynomial/div", + "value": 1290, + "range": "± 1470", + "unit": "ns/iter" + }, + { + "name": "Polynomial/div by 'x - b' with generic div", + "value": 27400, + "range": "± 339", + "unit": "ns/iter" + }, + { + "name": "Polynomial/div by 'x - b' with Ruffini", + "value": 269, + "range": "± 1", + "unit": "ns/iter" + }, + { + "name": "Polynomial/evaluate #2", + "value": 13, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "Polynomial/evaluate_with", + "value": 11, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "Polynomial/merge", + "value": 84, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "Polynomial/add #2", + "value": 73, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "Polynomial/mul #2", + "value": 27, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "Polynomial/evaluate 3", + "value": 1, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "Polynomial/evaluate 4", + "value": 1, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "Polynomial/evaluate 5", + "value": 1, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "Polynomial/evaluate 6", + "value": 1, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "Polynomial/evaluate 7", + "value": 1, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "Polynomial/evaluate 8", + "value": 1, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "Polynomial/evaluate 9", + "value": 1, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "Polynomial/evaluate 10", + "value": 1, + "range": "± 0", + "unit": "ns/iter" + } + ] } ] }