---
# System prepended metadata

title: Bench kw/gnark-merge-dep

---

# Bench kw/gnark-merge-dep

# go-ipa

```markdown
name                              old time/op    new time/op    delta
pkg:github.com/crate-crypto/go-ipa/bandersnatch goos:linux goarch:amd64
MultiExpG1/32_points-16              357µs ± 6%     354µs ± 3%     ~     (p=0.841 n=5+5)
MultiExpG1/64_points-16              373µs ±12%     296µs ± 8%  -20.67%  (p=0.008 n=5+5)
MultiExpG1/128_points-16             427µs ±19%     385µs ± 2%     ~     (p=0.151 n=5+5)
MultiExpG1/256_points-16             539µs ± 3%     546µs ± 2%     ~     (p=0.548 n=5+5)
MultiExpG1/512_points-16             857µs ± 1%     885µs ± 2%   +3.25%  (p=0.016 n=4+5)
MultiExpG1/1024_points-16           1.27ms ± 2%    1.29ms ± 3%     ~     (p=0.151 n=5+5)
MultiExpG1/2048_points-16           2.36ms ± 1%    2.37ms ± 1%     ~     (p=0.690 n=5+5)
MultiExpG1/4096_points-16           4.19ms ± 1%    4.24ms ± 1%   +1.26%  (p=0.016 n=5+5)
MultiExpG1/8192_points-16           8.12ms ± 0%    8.16ms ± 0%   +0.43%  (p=0.008 n=5+5)
MultiExpG1/16384_points-16          15.7ms ± 1%    15.7ms ± 2%     ~     (p=0.690 n=5+5)
MultiExpG1/32768_points-16          30.1ms ± 1%    31.1ms ± 2%   +3.13%  (p=0.016 n=5+5)
MultiExpG1/65536_points-16          54.1ms ± 3%    55.0ms ± 2%     ~     (p=0.310 n=5+5)
MultiExpG1/131072_points-16         91.2ms ± 1%    94.1ms ± 3%   +3.18%  (p=0.016 n=5+5)
MultiExpG1/262144_points-16          161ms ± 3%     161ms ± 1%     ~     (p=0.841 n=5+5)
MultiExpG1/524288_points-16          319ms ± 1%     321ms ± 3%     ~     (p=0.841 n=5+5)
MultiExpG1/1048576_points-16         601ms ± 0%     606ms ± 2%     ~     (p=0.310 n=5+5)
MultiExpG1/2097152_points-16         1.18s ± 1%     1.19s ± 1%     ~     (p=0.056 n=5+5)
MultiExpG1/4194304_points-16         2.39s ± 1%     2.43s ± 1%   +1.87%  (p=0.008 n=5+5)
MultiExpG1/8388608_points-16         5.00s ± 1%     5.04s ± 1%     ~     (p=0.095 n=5+5)
MultiExpG1/16777216_points-16        9.17s ± 1%     9.23s ± 0%     ~     (p=0.151 n=5+5)
MultiExpG1Reference-16               607ms ± 1%     612ms ± 1%     ~     (p=0.151 n=5+5)
ManyMultiExpG1Reference-16           1.81s ± 1%     1.83s ± 1%   +1.02%  (p=0.032 n=5+5)
pkg:github.com/crate-crypto/go-ipa/bandersnatch/fr goos:linux goarch:amd64
ElementSetBytes-16                  43.9ns ± 3%    43.0ns ± 3%     ~     (p=0.222 n=5+5)
ElementMulByConstants/mulBy3-16     5.05ns ± 2%    5.08ns ± 2%     ~     (p=0.421 n=5+5)
ElementMulByConstants/mulBy5-16     6.64ns ± 0%    6.65ns ± 0%   +0.25%  (p=0.016 n=5+5)
ElementMulByConstants/mulBy13-16    9.90ns ± 1%    9.90ns ± 2%     ~     (p=0.548 n=5+5)
ElementInverse-16                   1.70µs ± 1%    1.72µs ± 3%     ~     (p=0.421 n=5+5)
ElementButterfly-16                 4.59ns ± 2%    4.66ns ± 0%   +1.44%  (p=0.008 n=5+5)
ElementExp-16                       6.34µs ± 4%    6.43µs ± 4%     ~     (p=0.548 n=5+5)
ElementDouble-16                    3.40ns ± 1%    3.46ns ± 0%   +1.59%  (p=0.008 n=5+5)
ElementAdd-16                       3.42ns ± 2%    3.45ns ± 3%     ~     (p=0.151 n=5+5)
ElementSub-16                       3.36ns ± 2%    3.45ns ± 0%   +2.73%  (p=0.016 n=5+4)
ElementNeg-16                       2.30ns ± 2%    2.34ns ± 1%     ~     (p=0.310 n=5+5)
ElementDiv-16                       1.69µs ± 2%    1.72µs ± 1%   +1.82%  (p=0.032 n=5+5)
ElementFromMont-16                  11.4ns ± 2%    11.5ns ± 0%   +1.21%  (p=0.016 n=5+4)
ElementToMont-16                    15.8ns ± 2%    16.1ns ± 0%   +1.83%  (p=0.008 n=5+5)
ElementSquare-16                    15.5ns ± 2%    15.7ns ± 1%   +1.30%  (p=0.008 n=5+5)
ElementSqrt-16                      6.17µs ± 2%    6.49µs ± 4%   +5.12%  (p=0.008 n=5+5)
ElementMul-16                       16.6ns ± 0%    16.6ns ± 2%     ~     (p=0.444 n=4+5)
ElementCmp-16                       23.5ns ± 2%    24.0ns ± 1%   +2.01%  (p=0.032 n=5+5)

name                              old alloc/op   new alloc/op   delta
pkg:github.com/crate-crypto/go-ipa/bandersnatch goos:linux goarch:amd64
MultiExpG1/32_points-16             17.6kB ± 0%    17.6kB ± 0%   +0.20%  (p=0.016 n=4+5)
MultiExpG1/64_points-16             20.6kB ± 0%    20.6kB ± 0%   +0.16%  (p=0.008 n=5+5)
MultiExpG1/128_points-16            22.6kB ± 0%    22.7kB ± 0%   +0.14%  (p=0.016 n=4+5)
MultiExpG1/256_points-16            23.8kB ± 0%    23.9kB ± 0%   +0.13%  (p=0.008 n=5+5)
MultiExpG1/512_points-16            29.8kB ± 0%    29.9kB ± 0%   +0.11%  (p=0.008 n=5+5)
MultiExpG1/1024_points-16           44.5kB ± 0%    44.6kB ± 0%   +0.07%  (p=0.008 n=5+5)
MultiExpG1/2048_points-16           76.4kB ± 0%    76.4kB ± 0%   +0.04%  (p=0.008 n=5+5)
MultiExpG1/4096_points-16            142kB ± 0%     142kB ± 0%   +0.02%  (p=0.008 n=5+5)
MultiExpG1/8192_points-16            272kB ± 0%     272kB ± 0%   +0.01%  (p=0.008 n=5+5)
MultiExpG1/16384_points-16           533kB ± 0%     533kB ± 0%   +0.01%  (p=0.016 n=5+4)
MultiExpG1/32768_points-16          1.06MB ± 0%    1.06MB ± 0%   +0.00%  (p=0.008 n=5+5)
MultiExpG1/65536_points-16          2.11MB ± 0%    2.11MB ± 0%   +0.00%  (p=0.008 n=5+5)
MultiExpG1/131072_points-16         4.20MB ± 0%    4.20MB ± 0%   +0.00%  (p=0.008 n=5+5)
MultiExpG1/262144_points-16         8.40MB ± 0%    8.40MB ± 0%   +0.00%  (p=0.016 n=5+4)
MultiExpG1/524288_points-16         16.8MB ± 0%    16.8MB ± 0%   +0.00%  (p=0.008 n=5+5)
MultiExpG1/1048576_points-16        33.6MB ± 0%    33.6MB ± 0%   +0.00%  (p=0.029 n=4+4)
MultiExpG1/2097152_points-16        67.1MB ± 0%    67.1MB ± 0%     ~     (p=0.762 n=5+4)
MultiExpG1/4194304_points-16         134MB ± 0%     134MB ± 0%     ~     (p=0.770 n=5+5)
MultiExpG1/8388608_points-16        1.48GB ± 0%    1.48GB ± 0%     ~     (p=0.389 n=5+5)
MultiExpG1/16777216_points-16       1.74GB ± 0%    1.74GB ± 0%     ~     (p=0.540 n=5+5)
MultiExpG1Reference-16              33.6MB ± 0%    33.6MB ± 0%   +0.00%  (p=0.008 n=5+5)
ManyMultiExpG1Reference-16           101MB ± 0%     101MB ± 0%     ~     (p=0.413 n=5+4)
pkg:github.com/crate-crypto/go-ipa/bandersnatch/fr goos:linux goarch:amd64
ElementSetBytes-16                   0.00B          0.00B          ~     (all equal)
ElementMulByConstants/mulBy3-16      0.00B          0.00B          ~     (all equal)
ElementMulByConstants/mulBy5-16      0.00B          0.00B          ~     (all equal)
ElementMulByConstants/mulBy13-16     0.00B          0.00B          ~     (all equal)
ElementInverse-16                    0.00B          0.00B          ~     (all equal)
ElementButterfly-16                  0.00B          0.00B          ~     (all equal)
ElementExp-16                        0.00B          0.00B          ~     (all equal)
ElementDouble-16                     0.00B          0.00B          ~     (all equal)
ElementAdd-16                        0.00B          0.00B          ~     (all equal)
ElementSub-16                        0.00B          0.00B          ~     (all equal)
ElementNeg-16                        0.00B          0.00B          ~     (all equal)
ElementDiv-16                        0.00B          0.00B          ~     (all equal)
ElementFromMont-16                   0.00B          0.00B          ~     (all equal)
ElementToMont-16                     0.00B          0.00B          ~     (all equal)
ElementSquare-16                     0.00B          0.00B          ~     (all equal)
ElementSqrt-16                       0.00B          0.00B          ~     (all equal)
ElementMul-16                        0.00B          0.00B          ~     (all equal)
ElementCmp-16                        0.00B          0.00B          ~     (all equal)

name                              old allocs/op  new allocs/op  delta
pkg:github.com/crate-crypto/go-ipa/bandersnatch goos:linux goarch:amd64
MultiExpG1/32_points-16               89.0 ± 0%      90.0 ± 0%   +1.12%  (p=0.008 n=5+5)
MultiExpG1/64_points-16                130 ± 0%       131 ± 0%   +0.77%  (p=0.008 n=5+5)
MultiExpG1/128_points-16               130 ± 0%       131 ± 0%   +0.77%  (p=0.008 n=5+5)
MultiExpG1/256_points-16               112 ± 0%       113 ± 0%   +0.89%  (p=0.008 n=5+5)
MultiExpG1/512_points-16               100 ± 0%       101 ± 0%   +1.00%  (p=0.008 n=5+5)
MultiExpG1/1024_points-16             89.0 ± 0%      90.0 ± 0%   +1.12%  (p=0.008 n=5+5)
MultiExpG1/2048_points-16             84.0 ± 0%      85.0 ± 0%   +1.19%  (p=0.008 n=5+5)
MultiExpG1/4096_points-16             84.0 ± 0%      85.0 ± 0%   +1.19%  (p=0.008 n=5+5)
MultiExpG1/8192_points-16             78.0 ± 0%      79.0 ± 0%   +1.28%  (p=0.008 n=5+5)
MultiExpG1/16384_points-16            74.0 ± 0%      75.0 ± 0%   +1.35%  (p=0.008 n=5+5)
MultiExpG1/32768_points-16            70.0 ± 0%      71.0 ± 0%   +1.43%  (p=0.008 n=5+5)
MultiExpG1/65536_points-16            66.0 ± 0%      67.0 ± 0%   +1.52%  (p=0.008 n=5+5)
MultiExpG1/131072_points-16           64.0 ± 0%      65.0 ± 0%   +1.56%  (p=0.008 n=5+5)
MultiExpG1/262144_points-16           62.0 ± 0%      63.0 ± 0%   +1.61%  (p=0.008 n=5+5)
MultiExpG1/524288_points-16           57.0 ± 0%      58.0 ± 0%   +1.75%  (p=0.008 n=5+5)
MultiExpG1/1048576_points-16          57.0 ± 0%      58.0 ± 0%   +1.75%  (p=0.008 n=5+5)
MultiExpG1/2097152_points-16          57.6 ± 1%      58.0 ± 0%     ~     (p=0.556 n=5+4)
MultiExpG1/4194304_points-16          94.0 ± 1%      94.6 ± 1%     ~     (p=0.365 n=5+5)
MultiExpG1/8388608_points-16           111 ± 6%       111 ± 3%     ~     (p=1.000 n=5+5)
MultiExpG1/16777216_points-16          108 ± 1%       109 ± 1%     ~     (p=0.190 n=5+5)
MultiExpG1Reference-16                57.0 ± 0%      58.0 ± 0%   +1.75%  (p=0.008 n=5+5)
ManyMultiExpG1Reference-16             178 ± 2%       179 ± 0%     ~     (p=1.000 n=5+4)
pkg:github.com/crate-crypto/go-ipa/bandersnatch/fr goos:linux goarch:amd64
ElementSetBytes-16                    0.00           0.00          ~     (all equal)
ElementMulByConstants/mulBy3-16       0.00           0.00          ~     (all equal)
ElementMulByConstants/mulBy5-16       0.00           0.00          ~     (all equal)
ElementMulByConstants/mulBy13-16      0.00           0.00          ~     (all equal)
ElementInverse-16                     0.00           0.00          ~     (all equal)
ElementButterfly-16                   0.00           0.00          ~     (all equal)
ElementExp-16                         0.00           0.00          ~     (all equal)
ElementDouble-16                      0.00           0.00          ~     (all equal)
ElementAdd-16                         0.00           0.00          ~     (all equal)
ElementSub-16                         0.00           0.00          ~     (all equal)
ElementNeg-16                         0.00           0.00          ~     (all equal)
ElementDiv-16                         0.00           0.00          ~     (all equal)
ElementFromMont-16                    0.00           0.00          ~     (all equal)
ElementToMont-16                      0.00           0.00          ~     (all equal)
ElementSquare-16                      0.00           0.00          ~     (all equal)
ElementSqrt-16                        0.00           0.00          ~     (all equal)
ElementMul-16                         0.00           0.00          ~     (all equal)
ElementCmp-16                         0.00           0.00          ~     (all equal)
```

# go-verkle

```markdown
name                                        old time/op    new time/op    delta
ProofCalculation-16                            4.07s ± 1%     4.29s ± 1%    +5.51%  (p=0.008 n=5+5)
ProofVerification-16                          26.6ms ± 3%    28.0ms ± 2%    +5.14%  (p=0.008 n=5+5)
GroupToField/single-16                        1.50µs ± 2%    1.53µs ± 3%      ~     (p=0.151 n=5+5)
GroupToField/multiple/1-16                    1.59µs ± 2%    1.65µs ± 1%    +3.75%  (p=0.008 n=5+5)
GroupToField/multiple/2-16                    1.75µs ± 2%    2.00µs ± 2%   +14.33%  (p=0.008 n=5+5)
GroupToField/multiple/4-16                    2.47µs ± 4%    2.72µs ± 2%   +10.00%  (p=0.008 n=5+5)
GroupToField/multiple/8-16                    3.84µs ± 2%    4.04µs ± 2%    +5.44%  (p=0.008 n=5+5)
GroupToField/multiple/16-16                   6.15µs ± 1%    6.35µs ± 2%    +3.31%  (p=0.008 n=5+5)
GroupToField/multiple/32-16                   10.9µs ± 2%    10.8µs ± 2%      ~     (p=0.548 n=5+5)
GroupToField/multiple/64-16                   21.0µs ± 1%    21.2µs ± 2%      ~     (p=0.310 n=5+5)
GroupToField/multiple/128-16                  39.4µs ± 2%    42.1µs ± 1%    +6.85%  (p=0.008 n=5+5)
GroupToField/multiple/256-16                  78.0µs ± 1%    83.9µs ± 1%    +7.50%  (p=0.008 n=5+5)
CommitLeaves/insert/leaves/1000-16             200ms ± 2%     213ms ± 1%    +6.50%  (p=0.008 n=5+5)
CommitLeaves/insertOrdered/leaves/1000-16      225ms ± 2%     241ms ± 2%    +6.96%  (p=0.008 n=5+5)
CommitLeaves/insert/leaves/10000-16            2.30s ± 0%     2.44s ± 1%    +6.09%  (p=0.008 n=5+5)
CommitLeaves/insertOrdered/leaves/10000-16     2.33s ± 1%     2.53s ± 1%    +8.58%  (p=0.008 n=5+5)
CommitFullNode-16                             30.0ms ± 2%    32.3ms ± 0%    +7.56%  (p=0.008 n=5+5)
ModifyLeaves-16                                8.10s ± 1%     8.51s ± 1%    +5.00%  (p=0.008 n=5+5)

name                                        old alloc/op   new alloc/op   delta
ProofCalculation-16                           2.77GB ± 0%    2.78GB ± 0%    +0.39%  (p=0.008 n=5+5)
ProofVerification-16                           179kB ± 0%     180kB ± 0%    +0.90%  (p=0.008 n=5+5)
GroupToField/single-16                         8.00B ± 0%    40.00B ± 0%  +400.00%  (p=0.008 n=5+5)
GroupToField/multiple/1-16                     80.0B ± 0%    112.0B ± 0%   +40.00%  (p=0.008 n=5+5)
GroupToField/multiple/2-16                      144B ± 0%      184B ± 0%   +27.78%  (p=0.008 n=5+5)
GroupToField/multiple/4-16                      288B ± 0%      328B ± 0%   +13.89%  (p=0.008 n=5+5)
GroupToField/multiple/8-16                      568B ± 0%      608B ± 0%    +7.04%  (p=0.008 n=5+5)
GroupToField/multiple/16-16                   1.14kB ± 0%    1.18kB ± 0%    +3.52%  (p=0.008 n=5+5)
GroupToField/multiple/32-16                   2.27kB ± 0%    2.30kB ± 0%    +1.06%  (p=0.008 n=5+5)
GroupToField/multiple/64-16                   4.57kB ± 0%    4.60kB ± 0%    +0.70%  (p=0.008 n=5+5)
GroupToField/multiple/128-16                  9.08kB ± 0%    9.22kB ± 0%    +1.59%  (p=0.008 n=5+5)
GroupToField/multiple/256-16                  18.2kB ± 0%    18.4kB ± 0%    +1.45%  (p=0.016 n=4+5)
CommitLeaves/insert/leaves/1000-16            59.8MB ± 0%    60.1MB ± 0%    +0.44%  (p=0.008 n=5+5)
CommitLeaves/insertOrdered/leaves/1000-16     59.8MB ± 0%    60.2MB ± 0%    +0.51%  (p=0.008 n=5+5)
CommitLeaves/insert/leaves/10000-16            579MB ± 0%     583MB ± 0%    +0.63%  (p=0.008 n=5+5)
CommitLeaves/insertOrdered/leaves/10000-16     579MB ± 0%     583MB ± 0%    +0.69%  (p=0.008 n=5+5)
CommitFullNode-16                             14.5MB ± 0%    14.6MB ± 0%    +0.40%  (p=0.008 n=5+5)
ModifyLeaves-16                               5.50GB ± 0%    5.52GB ± 0%    +0.43%  (p=0.008 n=5+5)

name                                        old allocs/op  new allocs/op  delta
ProofCalculation-16                            1.26M ± 0%     1.63M ± 0%   +29.14%  (p=0.008 n=5+5)
ProofVerification-16                             822 ± 1%       872 ± 1%    +6.08%  (p=0.008 n=5+5)
GroupToField/single-16                          1.00 ± 0%      2.00 ± 0%  +100.00%  (p=0.008 n=5+5)
GroupToField/multiple/1-16                      4.00 ± 0%      5.00 ± 0%   +25.00%  (p=0.008 n=5+5)
GroupToField/multiple/2-16                      4.00 ± 0%      6.00 ± 0%   +50.00%  (p=0.008 n=5+5)
GroupToField/multiple/4-16                      6.00 ± 0%      8.00 ± 0%   +33.33%  (p=0.008 n=5+5)
GroupToField/multiple/8-16                      9.00 ± 0%     11.00 ± 0%   +22.22%  (p=0.008 n=5+5)
GroupToField/multiple/16-16                     15.0 ± 0%      17.0 ± 0%   +13.33%  (p=0.008 n=5+5)
GroupToField/multiple/32-16                     27.0 ± 0%      27.0 ± 0%      ~     (all equal)
GroupToField/multiple/64-16                     54.0 ± 0%      55.0 ± 0%    +1.85%  (p=0.008 n=5+5)
GroupToField/multiple/128-16                    98.0 ± 0%     113.0 ± 0%   +15.31%  (p=0.008 n=5+5)
GroupToField/multiple/256-16                     192 ± 0%       222 ± 0%   +15.62%  (p=0.008 n=5+5)
CommitLeaves/insert/leaves/1000-16             29.1k ± 0%     38.3k ± 0%   +31.74%  (p=0.008 n=5+5)
CommitLeaves/insertOrdered/leaves/1000-16      31.5k ± 0%     42.1k ± 0%   +33.66%  (p=0.008 n=5+5)
CommitLeaves/insert/leaves/10000-16             283k ± 0%      383k ± 0%   +35.40%  (p=0.008 n=5+5)
CommitLeaves/insertOrdered/leaves/10000-16      309k ± 0%      421k ± 0%   +36.38%  (p=0.008 n=5+5)
CommitFullNode-16                              6.79k ± 0%     8.66k ± 0%   +27.53%  (p=0.016 n=5+4)
ModifyLeaves-16                                2.60M ± 0%     3.42M ± 0%   +31.53%  (p=0.008 n=5+5)

name                                        old ns/value   new ns/value   delta
GroupToField/multiple/1-16                     1.59k ± 2%     1.65k ± 1%    +3.75%  (p=0.008 n=5+5)
GroupToField/multiple/2-16                       873 ± 2%       998 ± 2%   +14.33%  (p=0.008 n=5+5)
GroupToField/multiple/4-16                       619 ± 4%       680 ± 2%   +10.00%  (p=0.008 n=5+5)
GroupToField/multiple/8-16                       479 ± 2%       506 ± 2%    +5.45%  (p=0.008 n=5+5)
GroupToField/multiple/16-16                      384 ± 1%       397 ± 2%    +3.31%  (p=0.008 n=5+5)
GroupToField/multiple/32-16                      339 ± 2%       337 ± 2%      ~     (p=0.548 n=5+5)
GroupToField/multiple/64-16                      329 ± 1%       331 ± 2%      ~     (p=0.278 n=5+5)
GroupToField/multiple/128-16                     308 ± 2%       329 ± 1%    +6.85%  (p=0.008 n=5+5)
GroupToField/multiple/256-16                     305 ± 1%       328 ± 1%    +7.51%  (p=0.008 n=5+5)
```