vacp2p / zerokit

A set of Zero Knowledge modules, written in Rust and designed to be used in other system programming environments.
Apache License 2.0
130 stars 7 forks source link

feat: expose custom witness ffi #255

Closed alrevuelta closed 3 months ago

alrevuelta commented 3 months ago
github-actions[bot] commented 3 months ago

Benchmark for ffa4a67

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::delete | 866.4±6.32ns | **842.3±12.93ns** | **-2.78%** | | FullMerkleTree::get | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::get_empty_leaves_indices | 7.4±0.09ns | 7.4±0.09ns | 0.00% | | FullMerkleTree::get_subtree_root | 0.9±0.01ns | 0.9±0.01ns | 0.00% | | FullMerkleTree::override_range | **1296.8±8.53ns** | 1307.6±17.30ns | **+0.83%** | | FullMerkleTree::set | 865.2±11.31ns | **843.2±7.50ns** | **-2.54%** | | OptimalMerkleTree::compute_root | 1010.2±14.63ns | **1002.3±7.41ns** | **-0.78%** | | OptimalMerkleTree::delete | 1019.6±8.49ns | **1006.5±18.51ns** | **-1.28%** | | OptimalMerkleTree::get | **23.0±0.40ns** | 23.6±0.29ns | **+2.61%** | | OptimalMerkleTree::get_empty_leaves_indices | 7.1±0.05ns | 7.1±0.06ns | 0.00% | | OptimalMerkleTree::get_subtree_root | 24.1±0.45ns | 24.2±0.47ns | +0.41% | | OptimalMerkleTree::override_range | 4.2±0.04µs | **4.1±0.09µs** | **-2.38%** | | OptimalMerkleTree::set | 1019.9±13.95ns | 1009.4±40.59ns | -1.03% |
github-actions[bot] commented 3 months ago

Benchmark for ffa4a67

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::::full_height_gen | 15.4±0.21ms | 15.3±0.18ms | -0.65% | | OptimalMerkleTree::::full_height_gen | 566.4±10.66µs | 576.7±16.85µs | +1.82% | | Pmtree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | Pmtree::get | 332.1±7.07ns | 336.3±6.67ns | +1.26% | | Pmtree::get_empty_leaves_indices | 8.4±0.09ns | 8.4±0.21ns | 0.00% | | Pmtree::get_subtree_root | 479.9±11.96ns | 473.3±8.55ns | -1.38% | | Pmtree::override_range | 233.1±4.53µs | 236.8±4.74µs | +1.59% | | Pmtree::set | **53.8±0.36µs** | 54.4±0.35µs | **+1.12%** | | Pmtree:delete | 53.9±0.76µs | 54.4±0.53µs | +0.93% | | Set/FullMerkleTree::::set/1 | **545.4±5.18µs** | 551.9±5.47µs | **+1.19%** | | Set/FullMerkleTree::::set/10 | **5.4±0.02ms** | 5.5±0.01ms | **+1.85%** | | Set/FullMerkleTree::::set/100 | **54.9±0.28ms** | 55.4±0.17ms | **+0.91%** | | Set/FullMerkleTree::::set_range/1 | **547.1±18.86µs** | 556.2±4.84µs | **+1.66%** | | Set/FullMerkleTree::::set_range/10 | **748.3±7.00µs** | 757.4±3.66µs | **+1.22%** | | Set/FullMerkleTree::::set_range/100 | 3.3±0.05ms | 3.3±0.01ms | 0.00% | | Set/OptimalMerkleTree::::set/1 | **546.4±4.12µs** | 552.8±3.91µs | **+1.17%** | | Set/OptimalMerkleTree::::set/10 | 5.5±0.09ms | 5.5±0.03ms | 0.00% | | Set/OptimalMerkleTree::::set/100 | **55.2±0.48ms** | 56.1±0.10ms | **+1.63%** | | Set/OptimalMerkleTree::::set_range/1 | 548.7±15.94µs | 552.8±4.66µs | +0.75% | | Set/OptimalMerkleTree::::set_range/10 | 5.5±0.02ms | 5.5±0.03ms | 0.00% | | Set/OptimalMerkleTree::::set_range/100 | **55.0±0.18ms** | 56.1±0.22ms | **+2.00%** | | zkey::upload_from_folder | 3.3±0.00s | 3.3±0.01s | 0.00% |
github-actions[bot] commented 3 months ago

Benchmark for e34ac8f

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::delete | 848.9±14.02ns | **841.9±6.21ns** | **-0.82%** | | FullMerkleTree::get | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::get_empty_leaves_indices | 7.4±0.10ns | 7.4±0.09ns | 0.00% | | FullMerkleTree::get_subtree_root | 0.9±0.01ns | 0.9±0.03ns | 0.00% | | FullMerkleTree::override_range | 1298.9±18.03ns | 1311.2±17.25ns | +0.95% | | FullMerkleTree::set | 850.0±13.12ns | **840.8±5.38ns** | **-1.08%** | | OptimalMerkleTree::compute_root | **994.7±8.13ns** | 1004.3±8.14ns | **+0.97%** | | OptimalMerkleTree::delete | **993.2±16.01ns** | 1009.6±32.59ns | **+1.65%** | | OptimalMerkleTree::get | **23.0±0.34ns** | 23.2±0.17ns | **+0.87%** | | OptimalMerkleTree::get_empty_leaves_indices | 7.2±0.37ns | 7.2±0.41ns | 0.00% | | OptimalMerkleTree::get_subtree_root | 24.1±0.52ns | 24.4±0.37ns | +1.24% | | OptimalMerkleTree::override_range | 4.1±0.06µs | 4.1±0.03µs | 0.00% | | OptimalMerkleTree::set | 993.4±15.41ns | 1005.1±35.40ns | +1.18% |
github-actions[bot] commented 3 months ago

Benchmark for e34ac8f

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::::full_height_gen | 15.6±0.14ms | **14.5±0.34ms** | **-7.05%** | | OptimalMerkleTree::::full_height_gen | 576.0±8.49µs | 569.9±8.13µs | -1.06% | | Pmtree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | Pmtree::get | 339.7±6.01ns | **326.8±7.81ns** | **-3.80%** | | Pmtree::get_empty_leaves_indices | 8.4±0.06ns | 8.4±0.08ns | 0.00% | | Pmtree::get_subtree_root | **473.0±6.00ns** | 487.6±7.58ns | **+3.09%** | | Pmtree::override_range | 235.9±3.82µs | 236.4±6.22µs | +0.21% | | Pmtree::set | **53.7±0.35µs** | 54.1±2.80µs | **+0.74%** | | Pmtree:delete | 53.8±0.74µs | 53.6±0.40µs | -0.37% | | Set/FullMerkleTree::::set/1 | 545.9±6.45µs | 547.9±5.11µs | +0.37% | | Set/FullMerkleTree::::set/10 | 5.4±0.03ms | 5.4±0.03ms | 0.00% | | Set/FullMerkleTree::::set/100 | 55.0±0.27ms | **54.7±0.21ms** | **-0.55%** | | Set/FullMerkleTree::::set_range/1 | 543.4±6.14µs | 544.1±7.91µs | +0.13% | | Set/FullMerkleTree::::set_range/10 | 750.3±9.92µs | 747.9±6.52µs | -0.32% | | Set/FullMerkleTree::::set_range/100 | 3.3±0.01ms | 3.3±0.01ms | 0.00% | | Set/OptimalMerkleTree::::set/1 | 546.0±6.75µs | 548.3±4.69µs | +0.42% | | Set/OptimalMerkleTree::::set/10 | 5.5±0.01ms | 5.5±0.05ms | 0.00% | | Set/OptimalMerkleTree::::set/100 | **54.8±0.06ms** | 55.0±0.17ms | **+0.36%** | | Set/OptimalMerkleTree::::set_range/1 | 544.7±6.02µs | 546.2±12.62µs | +0.28% | | Set/OptimalMerkleTree::::set_range/10 | 5.5±0.02ms | 5.5±0.08ms | 0.00% | | Set/OptimalMerkleTree::::set_range/100 | 55.0±1.43ms | 54.9±0.52ms | -0.18% | | zkey::upload_from_folder | 3.3±0.01s | 3.3±0.01s | 0.00% |
github-actions[bot] commented 3 months ago

Benchmark for 718c27c

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::delete | 850.5±10.81ns | **843.4±5.39ns** | **-0.83%** | | FullMerkleTree::get | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::get_empty_leaves_indices | **7.4±0.07ns** | 7.5±0.25ns | **+1.35%** | | FullMerkleTree::get_subtree_root | 0.9±0.02ns | 0.9±0.02ns | 0.00% | | FullMerkleTree::override_range | 1301.6±32.04ns | 1313.9±20.95ns | +0.94% | | FullMerkleTree::set | 848.3±10.56ns | **842.8±4.98ns** | **-0.65%** | | OptimalMerkleTree::compute_root | **998.1±36.87ns** | 1025.3±17.97ns | **+2.73%** | | OptimalMerkleTree::delete | **995.9±11.16ns** | 1054.0±14.00ns | **+5.83%** | | OptimalMerkleTree::get | **23.0±0.24ns** | 43.9±0.30ns | **+90.87%** | | OptimalMerkleTree::get_empty_leaves_indices | 7.1±0.13ns | 7.1±0.11ns | 0.00% | | OptimalMerkleTree::get_subtree_root | **24.3±1.94ns** | 28.2±0.96ns | **+16.05%** | | OptimalMerkleTree::override_range | **4.1±0.06µs** | 4.2±0.14µs | **+2.44%** | | OptimalMerkleTree::set | **993.6±7.94ns** | 1062.1±65.93ns | **+6.89%** |
github-actions[bot] commented 3 months ago

Benchmark for 718c27c

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::::full_height_gen | 14.0±0.03ms | **13.7±0.05ms** | **-2.14%** | | OptimalMerkleTree::::full_height_gen | 567.4±6.90µs | 567.0±3.01µs | -0.07% | | Pmtree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | Pmtree::get | 338.9±4.01ns | 336.8±5.67ns | -0.62% | | Pmtree::get_empty_leaves_indices | 8.4±0.12ns | 8.4±0.11ns | 0.00% | | Pmtree::get_subtree_root | 501.7±7.48ns | **490.2±4.69ns** | **-2.29%** | | Pmtree::override_range | 229.7±3.03µs | 232.0±2.97µs | +1.00% | | Pmtree::set | 53.8±0.31µs | 53.6±0.53µs | -0.37% | | Pmtree:delete | 54.0±1.99µs | 53.7±0.61µs | -0.56% | | Set/FullMerkleTree::::set/1 | 544.2±6.94µs | 546.2±13.09µs | +0.37% | | Set/FullMerkleTree::::set/10 | **5.4±0.02ms** | 5.5±0.02ms | **+1.85%** | | Set/FullMerkleTree::::set/100 | **54.7±0.17ms** | 55.0±0.19ms | **+0.55%** | | Set/FullMerkleTree::::set_range/1 | 543.4±6.06µs | 547.0±6.24µs | +0.66% | | Set/FullMerkleTree::::set_range/10 | 750.0±18.09µs | 745.8±5.73µs | -0.56% | | Set/FullMerkleTree::::set_range/100 | 3.3±0.01ms | 3.3±0.01ms | 0.00% | | Set/OptimalMerkleTree::::set/1 | 543.8±6.94µs | 544.8±6.71µs | +0.18% | | Set/OptimalMerkleTree::::set/10 | 5.5±0.02ms | 5.5±0.02ms | 0.00% | | Set/OptimalMerkleTree::::set/100 | 55.2±1.55ms | **54.9±0.11ms** | **-0.54%** | | Set/OptimalMerkleTree::::set_range/1 | 547.7±7.31µs | 543.9±4.80µs | -0.69% | | Set/OptimalMerkleTree::::set_range/10 | **5.4±0.01ms** | 5.5±0.01ms | **+1.85%** | | Set/OptimalMerkleTree::::set_range/100 | **55.1±0.17ms** | 55.6±5.27ms | **+0.91%** | | zkey::upload_from_folder | 3.3±0.00s | 3.3±0.00s | 0.00% |
github-actions[bot] commented 3 months ago

Benchmark for aedda5a

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::delete | 847.9±8.47ns | 843.9±7.77ns | -0.47% | | FullMerkleTree::get | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::get_empty_leaves_indices | 7.5±0.59ns | 7.4±0.11ns | -1.33% | | FullMerkleTree::get_subtree_root | 0.9±0.01ns | 0.9±0.01ns | 0.00% | | FullMerkleTree::override_range | **1299.4±10.74ns** | 1339.8±15.91ns | **+3.11%** | | FullMerkleTree::set | 850.1±5.43ns | **842.2±11.97ns** | **-0.93%** | | OptimalMerkleTree::compute_root | **993.8±14.05ns** | 1031.5±6.57ns | **+3.79%** | | OptimalMerkleTree::delete | **992.8±8.67ns** | 1001.0±7.95ns | **+0.83%** | | OptimalMerkleTree::get | **23.2±0.46ns** | 23.9±0.47ns | **+3.02%** | | OptimalMerkleTree::get_empty_leaves_indices | 7.1±0.05ns | 7.1±0.14ns | 0.00% | | OptimalMerkleTree::get_subtree_root | **24.1±0.82ns** | 24.4±0.21ns | **+1.24%** | | OptimalMerkleTree::override_range | 4.1±0.04µs | 4.1±0.06µs | 0.00% | | OptimalMerkleTree::set | 993.7±10.25ns | 1000.5±9.68ns | +0.68% |
github-actions[bot] commented 3 months ago

Benchmark for aedda5a

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::::full_height_gen | 15.4±0.14ms | 15.3±0.12ms | -0.65% | | OptimalMerkleTree::::full_height_gen | 567.2±3.89µs | 565.2±5.17µs | -0.35% | | Pmtree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | Pmtree::get | 338.0±4.20ns | **331.5±8.93ns** | **-1.92%** | | Pmtree::get_empty_leaves_indices | 8.4±0.08ns | 8.4±0.15ns | 0.00% | | Pmtree::get_subtree_root | 482.7±13.96ns | 486.6±8.97ns | +0.81% | | Pmtree::override_range | **233.9±5.43µs** | 238.9±4.29µs | **+2.14%** | | Pmtree::set | 53.8±0.36µs | 53.9±0.34µs | +0.19% | | Pmtree:delete | **53.8±0.56µs** | 54.5±0.78µs | **+1.30%** | | Set/FullMerkleTree::::set/1 | 543.8±5.31µs | 545.4±10.23µs | +0.29% | | Set/FullMerkleTree::::set/10 | **5.4±0.03ms** | 5.5±0.02ms | **+1.85%** | | Set/FullMerkleTree::::set/100 | 54.9±0.21ms | 54.8±0.25ms | -0.18% | | Set/FullMerkleTree::::set_range/1 | 543.6±6.84µs | 548.1±6.26µs | +0.83% | | Set/FullMerkleTree::::set_range/10 | 748.4±9.48µs | 746.1±5.98µs | -0.31% | | Set/FullMerkleTree::::set_range/100 | 3.3±0.01ms | 3.3±0.01ms | 0.00% | | Set/OptimalMerkleTree::::set/1 | 545.9±2.88µs | 544.7±7.13µs | -0.22% | | Set/OptimalMerkleTree::::set/10 | 5.5±0.02ms | 5.5±0.04ms | 0.00% | | Set/OptimalMerkleTree::::set/100 | **54.8±0.21ms** | 55.2±0.09ms | **+0.73%** | | Set/OptimalMerkleTree::::set_range/1 | 548.5±18.54µs | 543.4±6.24µs | -0.93% | | Set/OptimalMerkleTree::::set_range/10 | 5.5±0.05ms | 5.5±0.04ms | 0.00% | | Set/OptimalMerkleTree::::set_range/100 | **54.9±0.19ms** | 55.2±0.07ms | **+0.55%** | | zkey::upload_from_folder | 3.3±0.01s | 3.3±0.01s | 0.00% |
github-actions[bot] commented 3 months ago

Benchmark for ebd1748

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::delete | 847.6±4.40ns | 847.8±11.36ns | +0.02% | | FullMerkleTree::get | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::get_empty_leaves_indices | 7.5±0.39ns | 7.5±0.41ns | 0.00% | | FullMerkleTree::get_subtree_root | 0.9±0.03ns | 0.9±0.02ns | 0.00% | | FullMerkleTree::override_range | 1300.5±13.04ns | 1304.6±26.82ns | +0.32% | | FullMerkleTree::set | 849.7±6.58ns | 852.6±16.03ns | +0.34% | | OptimalMerkleTree::compute_root | 998.1±13.33ns | 1005.0±29.98ns | +0.69% | | OptimalMerkleTree::delete | 1000.9±29.90ns | 1014.7±60.10ns | +1.38% | | OptimalMerkleTree::get | 23.9±0.29ns | **23.0±0.28ns** | **-3.77%** | | OptimalMerkleTree::get_empty_leaves_indices | 7.2±0.39ns | 7.2±0.19ns | 0.00% | | OptimalMerkleTree::get_subtree_root | 24.2±0.35ns | 24.3±0.38ns | +0.41% | | OptimalMerkleTree::override_range | 4.2±0.05µs | 4.2±0.03µs | 0.00% | | OptimalMerkleTree::set | 1001.2±17.08ns | 1001.5±20.55ns | +0.03% |
github-actions[bot] commented 3 months ago

Benchmark for f57aa28

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::delete | 861.1±12.15ns | **849.9±5.32ns** | **-1.30%** | | FullMerkleTree::get | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::get_empty_leaves_indices | 7.5±0.15ns | 7.5±0.17ns | 0.00% | | FullMerkleTree::get_subtree_root | 0.9±0.01ns | 0.9±0.01ns | 0.00% | | FullMerkleTree::override_range | 1325.8±38.23ns | **1299.6±20.21ns** | **-1.98%** | | FullMerkleTree::set | 859.4±23.21ns | 848.8±11.44ns | -1.23% | | OptimalMerkleTree::compute_root | 1014.0±9.62ns | **1000.5±43.63ns** | **-1.33%** | | OptimalMerkleTree::delete | 1028.6±7.40ns | **995.5±17.29ns** | **-3.22%** | | OptimalMerkleTree::get | 23.8±0.67ns | 23.3±1.48ns | -2.10% | | OptimalMerkleTree::get_empty_leaves_indices | 7.1±0.14ns | 7.1±0.08ns | 0.00% | | OptimalMerkleTree::get_subtree_root | 24.3±0.36ns | 24.1±0.37ns | -0.82% | | OptimalMerkleTree::override_range | 4.1±0.03µs | 4.1±0.03µs | 0.00% | | OptimalMerkleTree::set | 1027.2±12.28ns | **995.4±18.23ns** | **-3.10%** |
github-actions[bot] commented 3 months ago

Benchmark for ebd1748

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::::full_height_gen | **15.4±0.07ms** | 15.5±0.30ms | **+0.65%** | | OptimalMerkleTree::::full_height_gen | **567.4±6.69µs** | 577.7±7.03µs | **+1.82%** | | Pmtree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | Pmtree::get | 341.0±8.26ns | **327.4±4.44ns** | **-3.99%** | | Pmtree::get_empty_leaves_indices | 8.4±0.07ns | 8.4±0.08ns | 0.00% | | Pmtree::get_subtree_root | 482.3±4.63ns | **477.1±7.46ns** | **-1.08%** | | Pmtree::override_range | 233.6±3.23µs | 233.4±4.32µs | -0.09% | | Pmtree::set | 54.1±1.34µs | 54.6±0.56µs | +0.92% | | Pmtree:delete | **54.0±0.54µs** | 54.6±0.53µs | **+1.11%** | | Set/FullMerkleTree::::set/1 | **545.4±5.94µs** | 554.4±9.52µs | **+1.65%** | | Set/FullMerkleTree::::set/10 | 5.5±0.02ms | 5.5±0.02ms | 0.00% | | Set/FullMerkleTree::::set/100 | **55.1±0.07ms** | 55.8±0.19ms | **+1.27%** | | Set/FullMerkleTree::::set_range/1 | 547.2±5.01µs | 551.7±7.53µs | +0.82% | | Set/FullMerkleTree::::set_range/10 | **746.3±4.66µs** | 758.5±8.90µs | **+1.63%** | | Set/FullMerkleTree::::set_range/100 | 3.3±0.01ms | 3.3±0.01ms | 0.00% | | Set/OptimalMerkleTree::::set/1 | **546.7±5.61µs** | 553.8±8.79µs | **+1.30%** | | Set/OptimalMerkleTree::::set/10 | 5.5±0.02ms | 5.5±0.01ms | 0.00% | | Set/OptimalMerkleTree::::set/100 | **55.1±0.08ms** | 55.8±0.17ms | **+1.27%** | | Set/OptimalMerkleTree::::set_range/1 | **542.9±6.01µs** | 557.2±3.72µs | **+2.63%** | | Set/OptimalMerkleTree::::set_range/10 | 5.5±0.01ms | 5.5±0.01ms | 0.00% | | Set/OptimalMerkleTree::::set_range/100 | **54.8±0.17ms** | 55.7±0.45ms | **+1.64%** | | zkey::upload_from_folder | 3.3±0.00s | 3.3±0.00s | 0.00% |
github-actions[bot] commented 3 months ago

Benchmark for f57aa28

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::::full_height_gen | 15.4±0.16ms | **14.5±0.18ms** | **-5.84%** | | OptimalMerkleTree::::full_height_gen | 568.8±10.91µs | 576.4±8.56µs | +1.34% | | Pmtree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | Pmtree::get | 341.1±6.81ns | **329.3±18.29ns** | **-3.46%** | | Pmtree::get_empty_leaves_indices | 8.4±0.11ns | 8.4±0.13ns | 0.00% | | Pmtree::get_subtree_root | 476.2±11.17ns | 474.6±7.77ns | -0.34% | | Pmtree::override_range | 232.8±4.74µs | 236.3±3.77µs | +1.50% | | Pmtree::set | **54.2±1.78µs** | 55.9±0.87µs | **+3.14%** | | Pmtree:delete | **54.0±0.62µs** | 54.5±0.47µs | **+0.93%** | | Set/FullMerkleTree::::set/1 | 544.2±7.92µs | 551.1±16.37µs | +1.27% | | Set/FullMerkleTree::::set/10 | 5.5±0.02ms | 5.5±0.02ms | 0.00% | | Set/FullMerkleTree::::set/100 | **54.7±0.16ms** | 55.6±0.34ms | **+1.65%** | | Set/FullMerkleTree::::set_range/1 | **543.2±8.46µs** | 552.8±4.60µs | **+1.77%** | | Set/FullMerkleTree::::set_range/10 | **748.5±5.15µs** | 758.7±11.32µs | **+1.36%** | | Set/FullMerkleTree::::set_range/100 | 3.3±0.01ms | 3.3±0.00ms | 0.00% | | Set/OptimalMerkleTree::::set/1 | **545.5±4.97µs** | 556.1±7.23µs | **+1.94%** | | Set/OptimalMerkleTree::::set/10 | **5.5±0.02ms** | 5.6±0.01ms | **+1.82%** | | Set/OptimalMerkleTree::::set/100 | **54.9±0.08ms** | 56.0±0.25ms | **+2.00%** | | Set/OptimalMerkleTree::::set_range/1 | **545.0±8.23µs** | 557.7±6.53µs | **+2.33%** | | Set/OptimalMerkleTree::::set_range/10 | 5.5±0.03ms | 5.5±0.01ms | 0.00% | | Set/OptimalMerkleTree::::set_range/100 | **54.8±0.09ms** | 55.9±0.12ms | **+2.01%** | | zkey::upload_from_folder | 3.3±0.00s | 3.3±0.01s | 0.00% |
github-actions[bot] commented 3 months ago

Benchmark for aeb45f3

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::delete | **843.5±9.74ns** | 861.0±29.32ns | **+2.07%** | | FullMerkleTree::get | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::get_empty_leaves_indices | 7.4±0.11ns | 7.4±0.09ns | 0.00% | | FullMerkleTree::get_subtree_root | 0.9±0.01ns | 0.9±0.02ns | 0.00% | | FullMerkleTree::override_range | 1336.1±7.54ns | **1300.7±23.68ns** | **-2.65%** | | FullMerkleTree::set | 845.6±39.19ns | 850.3±11.39ns | +0.56% | | OptimalMerkleTree::compute_root | 1032.6±13.50ns | **1006.4±22.38ns** | **-2.54%** | | OptimalMerkleTree::delete | 1001.1±10.57ns | 994.9±20.66ns | -0.62% | | OptimalMerkleTree::get | **23.9±0.43ns** | 31.2±0.25ns | **+30.54%** | | OptimalMerkleTree::get_empty_leaves_indices | 7.1±0.12ns | 7.1±0.12ns | 0.00% | | OptimalMerkleTree::get_subtree_root | **24.4±0.22ns** | 32.6±0.36ns | **+33.61%** | | OptimalMerkleTree::override_range | 4.1±0.06µs | 4.1±0.10µs | 0.00% | | OptimalMerkleTree::set | 999.9±12.92ns | 995.2±24.38ns | -0.47% |
github-actions[bot] commented 3 months ago

Benchmark for aeb45f3

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::::full_height_gen | **13.7±0.50ms** | 15.0±0.08ms | **+9.49%** | | OptimalMerkleTree::::full_height_gen | **566.8±5.68µs** | 572.2±2.39µs | **+0.95%** | | Pmtree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | Pmtree::get | **341.2±5.39ns** | 346.4±4.33ns | **+1.52%** | | Pmtree::get_empty_leaves_indices | 8.4±0.08ns | 8.4±0.09ns | 0.00% | | Pmtree::get_subtree_root | 479.6±7.08ns | 472.7±7.16ns | -1.44% | | Pmtree::override_range | 232.6±4.29µs | 233.8±4.25µs | +0.52% | | Pmtree::set | **54.0±0.71µs** | 54.8±1.14µs | **+1.48%** | | Pmtree:delete | **53.8±0.60µs** | 54.6±0.57µs | **+1.49%** | | Set/FullMerkleTree::::set/1 | 547.0±6.86µs | 550.8±7.70µs | +0.69% | | Set/FullMerkleTree::::set/10 | 5.5±0.02ms | 5.5±0.01ms | 0.00% | | Set/FullMerkleTree::::set/100 | **54.6±0.18ms** | 55.6±0.21ms | **+1.83%** | | Set/FullMerkleTree::::set_range/1 | 549.7±5.82µs | 552.4±6.44µs | +0.49% | | Set/FullMerkleTree::::set_range/10 | **747.4±4.09µs** | 756.7±6.08µs | **+1.24%** | | Set/FullMerkleTree::::set_range/100 | 3.3±0.01ms | 3.3±0.01ms | 0.00% | | Set/OptimalMerkleTree::::set/1 | **544.2±5.61µs** | 552.7±2.90µs | **+1.56%** | | Set/OptimalMerkleTree::::set/10 | 5.5±0.04ms | 5.5±0.02ms | 0.00% | | Set/OptimalMerkleTree::::set/100 | 55.7±0.18ms | 55.7±0.15ms | 0.00% | | Set/OptimalMerkleTree::::set_range/1 | **545.6±7.97µs** | 553.6±6.39µs | **+1.47%** | | Set/OptimalMerkleTree::::set_range/10 | **5.5±0.02ms** | 5.6±0.01ms | **+1.82%** | | Set/OptimalMerkleTree::::set_range/100 | **54.9±0.08ms** | 55.9±0.26ms | **+1.82%** | | zkey::upload_from_folder | 3.3±0.01s | 3.3±0.01s | 0.00% |
github-actions[bot] commented 3 months ago

Benchmark for c3ad186

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::delete | 863.1±8.34ns | **842.3±10.98ns** | **-2.41%** | | FullMerkleTree::get | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::get_empty_leaves_indices | 7.4±0.11ns | 7.5±0.16ns | +1.35% | | FullMerkleTree::get_subtree_root | 0.9±0.01ns | 0.9±0.00ns | 0.00% | | FullMerkleTree::override_range | 1300.4±40.50ns | 1324.7±40.23ns | +1.87% | | FullMerkleTree::set | 860.6±8.64ns | **843.2±10.38ns** | **-2.02%** | | OptimalMerkleTree::compute_root | 1035.2±14.08ns | **1004.8±13.10ns** | **-2.94%** | | OptimalMerkleTree::delete | 1027.4±8.86ns | **1010.3±13.45ns** | **-1.66%** | | OptimalMerkleTree::get | **23.1±0.81ns** | 23.7±0.30ns | **+2.60%** | | OptimalMerkleTree::get_empty_leaves_indices | 7.1±0.06ns | 7.1±0.13ns | 0.00% | | OptimalMerkleTree::get_subtree_root | **24.0±0.19ns** | 24.3±0.23ns | **+1.25%** | | OptimalMerkleTree::override_range | 4.2±0.03µs | 4.2±0.18µs | 0.00% | | OptimalMerkleTree::set | 1029.0±8.02ns | **1010.5±6.33ns** | **-1.80%** |
github-actions[bot] commented 3 months ago

Benchmark for c3ad186

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::::full_height_gen | 15.9±0.24ms | **15.4±0.14ms** | **-3.14%** | | OptimalMerkleTree::::full_height_gen | **569.2±4.73µs** | 581.5±8.69µs | **+2.16%** | | Pmtree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | Pmtree::get | 342.4±6.82ns | 343.9±7.88ns | +0.44% | | Pmtree::get_empty_leaves_indices | 8.4±0.13ns | 8.4±0.14ns | 0.00% | | Pmtree::get_subtree_root | **472.7±9.07ns** | 489.0±11.00ns | **+3.45%** | | Pmtree::override_range | 234.7±7.00µs | 233.2±4.15µs | -0.64% | | Pmtree::set | 54.0±1.45µs | 54.5±0.61µs | +0.93% | | Pmtree:delete | **53.6±0.55µs** | 54.7±1.36µs | **+2.05%** | | Set/FullMerkleTree::::set/1 | **545.1±10.06µs** | 554.8±9.64µs | **+1.78%** | | Set/FullMerkleTree::::set/10 | **5.4±0.09ms** | 5.6±0.03ms | **+3.70%** | | Set/FullMerkleTree::::set/100 | **55.0±0.27ms** | 55.7±0.28ms | **+1.27%** | | Set/FullMerkleTree::::set_range/1 | 548.0±7.65µs | 553.2±5.45µs | +0.95% | | Set/FullMerkleTree::::set_range/10 | **746.6±7.47µs** | 758.9±8.79µs | **+1.65%** | | Set/FullMerkleTree::::set_range/100 | 3.3±0.00ms | 3.3±0.04ms | 0.00% | | Set/OptimalMerkleTree::::set/1 | 550.4±7.51µs | 555.1±5.76µs | +0.85% | | Set/OptimalMerkleTree::::set/10 | **5.4±0.02ms** | 5.5±0.02ms | **+1.85%** | | Set/OptimalMerkleTree::::set/100 | **55.1±0.95ms** | 55.8±0.57ms | **+1.27%** | | Set/OptimalMerkleTree::::set_range/1 | 549.7±7.90µs | 553.7±5.96µs | +0.73% | | Set/OptimalMerkleTree::::set_range/10 | **5.5±0.10ms** | 5.6±0.01ms | **+1.82%** | | Set/OptimalMerkleTree::::set_range/100 | **54.9±0.23ms** | 55.8±0.26ms | **+1.64%** | | zkey::upload_from_folder | 3.3±0.01s | 3.3±0.01s | 0.00% |