Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: prepare Readme and documentation for new release #284

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

seemenkina
Copy link
Collaborator

@seemenkina seemenkina commented Feb 20, 2025

Update documentation for rln, utils and zerokit itself

@seemenkina seemenkina self-assigned this Feb 20, 2025
Copy link

Benchmark for 1e41944

Click to view benchmark
Test Base PR %
FullMerkleTree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
FullMerkleTree::delete 871.9±12.01ns 871.8±11.77ns -0.01%
FullMerkleTree::get 3.5±0.08ns 3.4±0.12ns -2.86%
FullMerkleTree::get_empty_leaves_indices 7.8±0.11ns 7.5±0.12ns -3.85%
FullMerkleTree::get_subtree_root 3.7±0.11ns 3.8±0.09ns +2.70%
FullMerkleTree::override_range 1331.1±10.57ns 1331.3±7.98ns +0.02%
FullMerkleTree::set 878.4±8.60ns 875.3±7.03ns -0.35%
OptimalMerkleTree::compute_root 1036.7±11.27ns 1011.2±25.97ns -2.46%
OptimalMerkleTree::delete 1019.8±20.61ns 1002.4±12.50ns -1.71%
OptimalMerkleTree::get 22.2±0.25ns 22.0±0.41ns -0.90%
OptimalMerkleTree::get_empty_leaves_indices 7.5±0.12ns 7.5±0.11ns 0.00%
OptimalMerkleTree::get_subtree_root 23.9±0.31ns 24.1±0.20ns +0.84%
OptimalMerkleTree::override_range 4.2±0.05µs 4.1±0.15µs -2.38%
OptimalMerkleTree::set 1015.3±15.21ns 1001.3±13.76ns -1.38%

Copy link

Benchmark for 7e0fdc6

Click to view benchmark
Test Base PR %
FullMerkleTree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
FullMerkleTree::delete 886.2±18.65ns 881.6±12.94ns -0.52%
FullMerkleTree::get 3.5±0.06ns 3.4±0.03ns -2.86%
FullMerkleTree::get_empty_leaves_indices 7.5±0.06ns 7.5±0.17ns 0.00%
FullMerkleTree::get_subtree_root 3.7±0.05ns 3.6±0.10ns -2.70%
FullMerkleTree::override_range 1332.1±16.51ns 1370.7±15.88ns +2.90%
FullMerkleTree::set 883.6±5.17ns 868.8±5.04ns -1.67%
OptimalMerkleTree::compute_root 1040.4±7.40ns 1007.5±5.50ns -3.16%
OptimalMerkleTree::delete 1026.5±7.64ns 1006.0±42.08ns -2.00%
OptimalMerkleTree::get 22.2±0.17ns 21.9±0.22ns -1.35%
OptimalMerkleTree::get_empty_leaves_indices 7.5±0.24ns 7.5±0.34ns 0.00%
OptimalMerkleTree::get_subtree_root 23.9±0.30ns 24.4±0.24ns +2.09%
OptimalMerkleTree::override_range 4.1±0.03µs 4.2±0.09µs +2.44%
OptimalMerkleTree::set 1021.5±27.40ns 1000.5±5.92ns -2.06%

@seemenkina seemenkina requested a review from kaiserd February 20, 2025 12:26
Copy link

Benchmark for 1e41944

Click to view benchmark
Test Base PR %
FullMerkleTree::::full_height_gen 13.7±0.06ms 13.7±0.29ms 0.00%
OptimalMerkleTree::::full_height_gen 585.2±4.06µs 586.7±4.61µs +0.26%
Pmtree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
Pmtree::get 355.2±4.62ns 356.9±4.99ns +0.48%
Pmtree::get_empty_leaves_indices 9.7±0.14ns 9.0±0.10ns -7.22%
Pmtree::get_subtree_root 520.4±6.80ns 516.1±10.18ns -0.83%
Pmtree::override_range 237.4±3.90µs 237.9±4.72µs +0.21%
Pmtree::set 54.6±0.68µs 54.5±0.56µs -0.18%
Pmtree:delete 54.6±0.71µs 54.6±0.49µs 0.00%
Set/FullMerkleTree::::set/1 562.8±5.45µs 562.8±4.74µs 0.00%
Set/FullMerkleTree::::set/10 5.6±0.03ms 5.6±0.02ms 0.00%
Set/FullMerkleTree::::set/100 56.3±0.14ms 56.3±0.19ms 0.00%
Set/FullMerkleTree::::set_range/1 562.3±4.21µs 564.1±9.64µs +0.32%
Set/FullMerkleTree::::set_range/10 765.9±5.98µs 766.0±5.64µs +0.01%
Set/FullMerkleTree::::set_range/100 3.3±0.00ms 3.3±0.01ms 0.00%
Set/OptimalMerkleTree::::set/1 566.5±3.95µs 567.8±4.75µs +0.23%
Set/OptimalMerkleTree::::set/10 5.6±0.01ms 5.6±0.05ms 0.00%
Set/OptimalMerkleTree::::set/100 56.5±0.13ms 56.9±0.12ms +0.71%
Set/OptimalMerkleTree::::set_range/1 564.4±3.64µs 568.7±7.96µs +0.76%
Set/OptimalMerkleTree::::set_range/10 5.6±0.03ms 5.6±0.02ms 0.00%
Set/OptimalMerkleTree::::set_range/100 56.4±0.14ms 56.7±0.41ms +0.53%
vk::vk_from_ark_serialized 1612.7±6.98ns 1614.9±23.41ns +0.14%
zkey::zkey_from_raw 3.4±0.00s 3.4±0.01s 0.00%

Copy link

Benchmark for cfd4faa

Click to view benchmark
Test Base PR %
FullMerkleTree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
FullMerkleTree::delete 879.5±17.31ns 871.5±7.66ns -0.91%
FullMerkleTree::get 3.5±0.09ns 3.5±0.04ns 0.00%
FullMerkleTree::get_empty_leaves_indices 7.5±0.11ns 7.5±0.34ns 0.00%
FullMerkleTree::get_subtree_root 3.7±0.14ns 3.7±0.08ns 0.00%
FullMerkleTree::override_range 1342.4±43.64ns 1337.5±34.02ns -0.37%
FullMerkleTree::set 884.1±11.17ns 874.6±6.89ns -1.07%
OptimalMerkleTree::compute_root 1005.3±8.89ns 1010.5±39.23ns +0.52%
OptimalMerkleTree::delete 1003.3±10.41ns 1010.8±42.50ns +0.75%
OptimalMerkleTree::get 22.0±0.28ns 22.0±0.31ns 0.00%
OptimalMerkleTree::get_empty_leaves_indices 7.5±0.11ns 7.5±0.08ns 0.00%
OptimalMerkleTree::get_subtree_root 24.5±0.32ns 24.5±0.50ns 0.00%
OptimalMerkleTree::override_range 4.1±0.05µs 4.1±0.14µs 0.00%
OptimalMerkleTree::set 999.7±5.52ns 1008.6±49.43ns +0.89%

Copy link

Benchmark for 7e0fdc6

Click to view benchmark
Test Base PR %
FullMerkleTree::::full_height_gen 13.7±0.15ms 13.4±0.43ms -2.19%
OptimalMerkleTree::::full_height_gen 586.3±8.55µs 585.1±4.17µs -0.20%
Pmtree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
Pmtree::get 355.4±2.67ns 364.6±15.14ns +2.59%
Pmtree::get_empty_leaves_indices 9.8±0.54ns 9.0±0.11ns -8.16%
Pmtree::get_subtree_root 514.1±4.10ns 515.9±6.22ns +0.35%
Pmtree::override_range 244.9±4.28µs 239.4±3.90µs -2.25%
Pmtree::set 54.7±0.43µs 55.3±3.29µs +1.10%
Pmtree:delete 54.6±0.53µs 54.6±1.21µs 0.00%
Set/FullMerkleTree::::set/1 561.2±4.33µs 578.4±10.32µs +3.06%
Set/FullMerkleTree::::set/10 5.6±0.16ms 5.8±0.02ms +3.57%
Set/FullMerkleTree::::set/100 56.6±1.47ms 56.2±0.14ms -0.71%
Set/FullMerkleTree::::set_range/1 562.5±4.43µs 575.0±3.52µs +2.22%
Set/FullMerkleTree::::set_range/10 766.8±14.09µs 766.2±14.19µs -0.08%
Set/FullMerkleTree::::set_range/100 3.3±0.01ms 3.3±0.02ms 0.00%
Set/OptimalMerkleTree::::set/1 565.9±4.30µs 566.2±7.36µs +0.05%
Set/OptimalMerkleTree::::set/10 5.7±0.17ms 5.6±0.05ms -1.75%
Set/OptimalMerkleTree::::set/100 56.5±0.27ms 56.7±1.87ms +0.35%
Set/OptimalMerkleTree::::set_range/1 564.9±6.21µs 565.8±4.71µs +0.16%
Set/OptimalMerkleTree::::set_range/10 5.6±0.02ms 5.6±0.01ms 0.00%
Set/OptimalMerkleTree::::set_range/100 56.5±0.36ms 56.6±0.16ms +0.18%
vk::vk_from_ark_serialized 1632.4±5.15ns 1627.8±7.17ns -0.28%
zkey::zkey_from_raw 3.4±0.01s 3.4±0.01s 0.00%

Copy link

Benchmark for 1e41944

Click to view benchmark
Test Base PR %
FullMerkleTree::::full_height_gen 13.1±0.07ms 13.5±0.10ms +3.05%
OptimalMerkleTree::::full_height_gen 580.5±14.60µs 588.1±7.59µs +1.31%
Pmtree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
Pmtree::get 358.5±4.91ns 365.7±5.90ns +2.01%
Pmtree::get_empty_leaves_indices 8.7±0.07ns 8.7±0.08ns 0.00%
Pmtree::get_subtree_root 517.1±2.99ns 512.0±5.64ns -0.99%
Pmtree::override_range 240.2±6.52µs 236.6±3.62µs -1.50%
Pmtree::set 54.4±1.49µs 54.6±0.98µs +0.37%
Pmtree:delete 54.7±1.87µs 54.3±0.54µs -0.73%
Set/FullMerkleTree::::set/1 558.3±5.36µs 582.9±11.55µs +4.41%
Set/FullMerkleTree::::set/10 5.6±0.02ms 5.8±0.02ms +3.57%
Set/FullMerkleTree::::set/100 55.7±1.27ms 58.1±0.13ms +4.31%
Set/FullMerkleTree::::set_range/1 555.1±1.63µs 583.5±13.80µs +5.12%
Set/FullMerkleTree::::set_range/10 755.5±8.26µs 788.9±3.49µs +4.42%
Set/FullMerkleTree::::set_range/100 3.3±0.01ms 3.4±0.01ms +3.03%
Set/OptimalMerkleTree::::set/1 559.2±5.41µs 581.7±3.85µs +4.02%
Set/OptimalMerkleTree::::set/10 5.6±0.01ms 5.8±0.02ms +3.57%
Set/OptimalMerkleTree::::set/100 55.6±0.15ms 58.2±0.29ms +4.68%
Set/OptimalMerkleTree::::set_range/1 558.1±4.35µs 583.1±7.96µs +4.48%
Set/OptimalMerkleTree::::set_range/10 5.6±0.03ms 5.6±0.02ms 0.00%
Set/OptimalMerkleTree::::set_range/100 55.7±0.20ms 58.3±0.18ms +4.67%
arkzkey::arkzkey_from_raw_compressed 338.3±0.59ms 338.3±0.86ms 0.00%
arkzkey::arkzkey_from_raw_uncompressed 6.1±0.01ms 6.0±0.02ms -1.64%
vk::vk_from_ark_serialized 1599.3±7.73ns 1597.2±15.48ns -0.13%
zkey::zkey_from_raw 3.4±0.01s 3.4±0.01s 0.00%

Copy link

Benchmark for cfd4faa

Click to view benchmark
Test Base PR %
FullMerkleTree::::full_height_gen 13.9±0.15ms 14.0±0.16ms +0.72%
OptimalMerkleTree::::full_height_gen 591.6±8.08µs 590.4±5.77µs -0.20%
Pmtree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
Pmtree::get 362.4±4.64ns 355.9±4.70ns -1.79%
Pmtree::get_empty_leaves_indices 9.1±0.18ns 9.0±0.14ns -1.10%
Pmtree::get_subtree_root 518.6±6.77ns 517.4±7.08ns -0.23%
Pmtree::override_range 241.5±7.24µs 254.3±6.22µs +5.30%
Pmtree::set 54.5±0.24µs 55.2±0.52µs +1.28%
Pmtree:delete 54.5±0.36µs 54.8±0.55µs +0.55%
Set/FullMerkleTree::::set/1 564.4±7.51µs 566.8±4.89µs +0.43%
Set/FullMerkleTree::::set/10 5.6±0.01ms 5.7±0.08ms +1.79%
Set/FullMerkleTree::::set/100 56.4±0.14ms 57.0±0.99ms +1.06%
Set/FullMerkleTree::::set_range/1 564.0±4.31µs 565.6±6.54µs +0.28%
Set/FullMerkleTree::::set_range/10 767.7±8.07µs 769.6±3.67µs +0.25%
Set/FullMerkleTree::::set_range/100 3.3±0.01ms 3.3±0.02ms 0.00%
Set/OptimalMerkleTree::::set/1 582.9±4.70µs 577.4±6.57µs -0.94%
Set/OptimalMerkleTree::::set/10 5.6±0.02ms 5.8±0.01ms +3.57%
Set/OptimalMerkleTree::::set/100 56.3±0.12ms 57.2±0.13ms +1.60%
Set/OptimalMerkleTree::::set_range/1 565.0±7.93µs 575.2±6.91µs +1.81%
Set/OptimalMerkleTree::::set_range/10 5.6±0.02ms 5.7±0.02ms +1.79%
Set/OptimalMerkleTree::::set_range/100 56.4±0.39ms 57.2±0.29ms +1.42%
vk::vk_from_ark_serialized 1636.3±6.83ns 1613.4±13.30ns -1.40%
zkey::zkey_from_raw 3.4±0.00s 3.4±0.01s 0.00%

Copy link

Benchmark for 7e0fdc6

Click to view benchmark
Test Base PR %
FullMerkleTree::::full_height_gen 13.0±0.04ms 13.3±0.12ms +2.31%
OptimalMerkleTree::::full_height_gen 575.9±6.73µs 578.8±6.44µs +0.50%
Pmtree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
Pmtree::get 365.3±2.45ns 361.6±4.98ns -1.01%
Pmtree::get_empty_leaves_indices 8.7±0.23ns 8.8±0.15ns +1.15%
Pmtree::get_subtree_root 525.4±5.38ns 514.0±7.43ns -2.17%
Pmtree::override_range 238.1±3.06µs 244.9±4.54µs +2.86%
Pmtree::set 54.6±0.52µs 54.4±0.51µs -0.37%
Pmtree:delete 54.4±1.05µs 54.3±0.56µs -0.18%
Set/FullMerkleTree::::set/1 556.7±3.66µs 554.3±5.72µs -0.43%
Set/FullMerkleTree::::set/10 5.6±0.02ms 5.6±0.03ms 0.00%
Set/FullMerkleTree::::set/100 55.5±0.07ms 55.7±0.26ms +0.36%
Set/FullMerkleTree::::set_range/1 555.9±4.44µs 555.2±5.06µs -0.13%
Set/FullMerkleTree::::set_range/10 757.1±5.03µs 761.7±33.87µs +0.61%
Set/FullMerkleTree::::set_range/100 3.3±0.01ms 3.3±0.00ms 0.00%
Set/OptimalMerkleTree::::set/1 559.6±4.58µs 556.4±2.99µs -0.57%
Set/OptimalMerkleTree::::set/10 5.6±0.03ms 5.6±0.00ms 0.00%
Set/OptimalMerkleTree::::set/100 55.7±0.11ms 55.7±0.13ms 0.00%
Set/OptimalMerkleTree::::set_range/1 558.1±2.88µs 559.1±7.54µs +0.18%
Set/OptimalMerkleTree::::set_range/10 5.6±0.02ms 5.6±0.02ms 0.00%
Set/OptimalMerkleTree::::set_range/100 55.9±0.13ms 55.9±0.15ms 0.00%
arkzkey::arkzkey_from_raw_compressed 338.1±0.72ms 338.3±1.01ms +0.06%
arkzkey::arkzkey_from_raw_uncompressed 6.0±0.02ms 6.0±0.01ms 0.00%
vk::vk_from_ark_serialized 1609.7±5.93ns 1644.1±21.70ns +2.14%
zkey::zkey_from_raw 3.4±0.00s 3.4±0.01s 0.00%

Copy link

Benchmark for cfd4faa

Click to view benchmark
Test Base PR %
FullMerkleTree::::full_height_gen 13.4±0.05ms 13.5±0.07ms +0.75%
OptimalMerkleTree::::full_height_gen 576.5±2.93µs 577.3±3.87µs +0.14%
Pmtree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
Pmtree::get 360.5±4.41ns 359.9±4.45ns -0.17%
Pmtree::get_empty_leaves_indices 8.7±0.08ns 8.7±0.09ns 0.00%
Pmtree::get_subtree_root 514.0±6.53ns 515.7±6.93ns +0.33%
Pmtree::override_range 246.0±2.43µs 242.3±3.12µs -1.50%
Pmtree::set 54.3±0.85µs 54.3±0.42µs 0.00%
Pmtree:delete 53.9±0.56µs 54.2±0.43µs +0.56%
Set/FullMerkleTree::::set/1 558.2±3.90µs 558.9±6.34µs +0.13%
Set/FullMerkleTree::::set/10 5.5±0.00ms 5.6±0.01ms +1.82%
Set/FullMerkleTree::::set/100 55.5±0.13ms 55.8±0.16ms +0.54%
Set/FullMerkleTree::::set_range/1 556.7±6.33µs 558.2±4.17µs +0.27%
Set/FullMerkleTree::::set_range/10 754.8±5.97µs 758.7±6.47µs +0.52%
Set/FullMerkleTree::::set_range/100 3.3±0.01ms 3.3±0.04ms 0.00%
Set/OptimalMerkleTree::::set/1 558.3±3.11µs 559.3±4.97µs +0.18%
Set/OptimalMerkleTree::::set/10 5.6±0.01ms 5.6±0.25ms 0.00%
Set/OptimalMerkleTree::::set/100 56.0±0.05ms 56.1±0.25ms +0.18%
Set/OptimalMerkleTree::::set_range/1 558.5±7.84µs 559.5±3.72µs +0.18%
Set/OptimalMerkleTree::::set_range/10 5.6±0.01ms 5.6±0.01ms 0.00%
Set/OptimalMerkleTree::::set_range/100 55.9±0.12ms 56.0±0.16ms +0.18%
arkzkey::arkzkey_from_raw_compressed 338.2±0.77ms 338.1±0.64ms -0.03%
arkzkey::arkzkey_from_raw_uncompressed 6.0±0.01ms 6.0±0.02ms 0.00%
vk::vk_from_ark_serialized 1598.3±16.37ns 1625.9±18.73ns +1.73%
zkey::zkey_from_raw 3.4±0.01s 3.4±0.00s 0.00%

Copy link

Benchmark for dea53ba

Click to view benchmark
Test Base PR %
FullMerkleTree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
FullMerkleTree::delete 868.8±4.58ns 876.3±7.73ns +0.86%
FullMerkleTree::get 3.5±0.05ns 3.4±0.03ns -2.86%
FullMerkleTree::get_empty_leaves_indices 7.5±0.29ns 7.5±0.42ns 0.00%
FullMerkleTree::get_subtree_root 3.7±0.09ns 3.6±0.08ns -2.70%
FullMerkleTree::override_range 1332.4±15.29ns 1340.4±10.79ns +0.60%
FullMerkleTree::set 878.2±10.56ns 869.3±6.58ns -1.01%
OptimalMerkleTree::compute_root 1007.9±16.10ns 1006.7±5.20ns -0.12%
OptimalMerkleTree::delete 1003.9±10.56ns 1014.6±54.13ns +1.07%
OptimalMerkleTree::get 22.2±0.18ns 22.0±0.30ns -0.90%
OptimalMerkleTree::get_empty_leaves_indices 7.5±0.08ns 7.5±0.08ns 0.00%
OptimalMerkleTree::get_subtree_root 23.9±0.22ns 24.4±0.29ns +2.09%
OptimalMerkleTree::override_range 4.1±0.06µs 4.2±0.37µs +2.44%
OptimalMerkleTree::set 1003.2±31.02ns 1003.8±31.68ns +0.06%

Copy link

Benchmark for dea53ba

Click to view benchmark
Test Base PR %
FullMerkleTree::::full_height_gen 13.5±0.19ms 13.5±0.45ms 0.00%
OptimalMerkleTree::::full_height_gen 585.1±7.76µs 583.9±7.44µs -0.21%
Pmtree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
Pmtree::get 355.5±4.12ns 359.2±3.60ns +1.04%
Pmtree::get_empty_leaves_indices 8.7±0.12ns 8.9±0.22ns +2.30%
Pmtree::get_subtree_root 515.5±3.67ns 514.6±6.48ns -0.17%
Pmtree::override_range 241.9±4.35µs 249.5±4.80µs +3.14%
Pmtree::set 54.9±1.28µs 55.3±1.91µs +0.73%
Pmtree:delete 54.9±0.60µs 55.3±0.71µs +0.73%
Set/FullMerkleTree::::set/1 565.2±4.40µs 563.1±7.27µs -0.37%
Set/FullMerkleTree::::set/10 5.6±0.01ms 5.6±0.03ms 0.00%
Set/FullMerkleTree::::set/100 56.2±0.75ms 56.6±0.28ms +0.71%
Set/FullMerkleTree::::set_range/1 564.5±3.56µs 564.1±7.56µs -0.07%
Set/FullMerkleTree::::set_range/10 766.0±2.47µs 767.5±8.13µs +0.20%
Set/FullMerkleTree::::set_range/100 3.3±0.02ms 3.3±0.01ms 0.00%
Set/OptimalMerkleTree::::set/1 568.0±5.82µs 567.3±3.04µs -0.12%
Set/OptimalMerkleTree::::set/10 5.7±0.08ms 5.6±0.02ms -1.75%
Set/OptimalMerkleTree::::set/100 56.6±0.28ms 56.5±0.17ms -0.18%
Set/OptimalMerkleTree::::set_range/1 567.5±6.49µs 568.0±4.49µs +0.09%
Set/OptimalMerkleTree::::set_range/10 5.7±0.03ms 5.6±0.01ms -1.75%
Set/OptimalMerkleTree::::set_range/100 56.9±0.13ms 56.6±0.17ms -0.53%
vk::vk_from_ark_serialized 1653.4±22.64ns 1642.0±10.40ns -0.69%
zkey::zkey_from_raw 3.4±0.00s 3.4±0.01s 0.00%

Copy link

Benchmark for dea53ba

Click to view benchmark
Test Base PR %
FullMerkleTree::::full_height_gen 13.5±0.24ms 13.5±0.14ms 0.00%
OptimalMerkleTree::::full_height_gen 578.3±9.21µs 575.2±5.46µs -0.54%
Pmtree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
Pmtree::get 365.5±6.66ns 358.9±4.11ns -1.81%
Pmtree::get_empty_leaves_indices 8.8±0.40ns 8.7±0.11ns -1.14%
Pmtree::get_subtree_root 515.3±13.75ns 513.3±6.25ns -0.39%
Pmtree::override_range 232.5±3.32µs 241.3±5.26µs +3.78%
Pmtree::set 54.7±0.51µs 54.4±0.52µs -0.55%
Pmtree:delete 54.7±0.28µs 54.6±0.67µs -0.18%
Set/FullMerkleTree::::set/1 554.3±5.99µs 553.6±6.05µs -0.13%
Set/FullMerkleTree::::set/10 5.5±0.01ms 5.5±0.02ms 0.00%
Set/FullMerkleTree::::set/100 55.5±0.09ms 55.4±0.21ms -0.18%
Set/FullMerkleTree::::set_range/1 554.8±6.36µs 553.9±3.18µs -0.16%
Set/FullMerkleTree::::set_range/10 754.6±5.66µs 754.9±20.51µs +0.04%
Set/FullMerkleTree::::set_range/100 3.3±0.01ms 3.3±0.01ms 0.00%
Set/OptimalMerkleTree::::set/1 558.0±4.32µs 554.6±6.87µs -0.61%
Set/OptimalMerkleTree::::set/10 5.6±0.02ms 5.5±0.02ms -1.79%
Set/OptimalMerkleTree::::set/100 55.6±0.15ms 55.4±0.21ms -0.36%
Set/OptimalMerkleTree::::set_range/1 557.7±4.10µs 554.6±7.46µs -0.56%
Set/OptimalMerkleTree::::set_range/10 5.6±0.01ms 5.5±0.01ms -1.79%
Set/OptimalMerkleTree::::set_range/100 55.6±0.12ms 55.4±0.17ms -0.36%
arkzkey::arkzkey_from_raw_compressed 338.6±0.62ms 338.8±0.72ms +0.06%
arkzkey::arkzkey_from_raw_uncompressed 6.0±0.01ms 6.0±0.02ms 0.00%
vk::vk_from_ark_serialized 1601.6±6.90ns 1605.4±8.46ns +0.24%
zkey::zkey_from_raw 3.4±0.01s 3.4±0.01s 0.00%

Copy link

Benchmark for 520795a

Click to view benchmark
Test Base PR %
FullMerkleTree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
FullMerkleTree::delete 873.2±16.26ns 876.8±13.48ns +0.41%
FullMerkleTree::get 3.5±0.10ns 3.4±0.04ns -2.86%
FullMerkleTree::get_empty_leaves_indices 7.8±0.14ns 7.5±0.09ns -3.85%
FullMerkleTree::get_subtree_root 3.7±0.12ns 3.6±0.09ns -2.70%
FullMerkleTree::override_range 1350.9±10.99ns 1354.8±20.94ns +0.29%
FullMerkleTree::set 875.5±11.11ns 868.9±10.52ns -0.75%
OptimalMerkleTree::compute_root 1007.0±14.34ns 1007.7±8.99ns +0.07%
OptimalMerkleTree::delete 1009.6±30.74ns 1005.6±27.93ns -0.40%
OptimalMerkleTree::get 21.9±0.28ns 22.0±0.35ns +0.46%
OptimalMerkleTree::get_empty_leaves_indices 7.5±0.16ns 7.5±0.27ns 0.00%
OptimalMerkleTree::get_subtree_root 24.1±0.41ns 24.4±0.36ns +1.24%
OptimalMerkleTree::override_range 4.1±0.04µs 4.2±0.16µs +2.44%
OptimalMerkleTree::set 1000.6±11.18ns 1001.6±9.86ns +0.10%

Copy link

Benchmark for 520795a

Click to view benchmark
Test Base PR %
FullMerkleTree::::full_height_gen 13.3±0.08ms 13.3±0.08ms 0.00%
OptimalMerkleTree::::full_height_gen 582.3±5.86µs 586.4±18.41µs +0.70%
Pmtree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
Pmtree::get 356.6±4.25ns 355.8±3.69ns -0.22%
Pmtree::get_empty_leaves_indices 8.8±0.25ns 8.8±0.12ns 0.00%
Pmtree::get_subtree_root 513.1±4.39ns 515.9±4.18ns +0.55%
Pmtree::override_range 236.6±7.44µs 244.2±3.75µs +3.21%
Pmtree::set 54.7±0.88µs 54.8±0.52µs +0.18%
Pmtree:delete 54.5±0.38µs 54.7±0.83µs +0.37%
Set/FullMerkleTree::::set/1 559.9±4.50µs 562.3±3.82µs +0.43%
Set/FullMerkleTree::::set/10 5.6±0.02ms 5.6±0.02ms 0.00%
Set/FullMerkleTree::::set/100 56.3±0.12ms 56.1±0.13ms -0.36%
Set/FullMerkleTree::::set_range/1 560.7±6.86µs 565.8±22.97µs +0.91%
Set/FullMerkleTree::::set_range/10 763.9±5.28µs 764.1±17.23µs +0.03%
Set/FullMerkleTree::::set_range/100 3.3±0.13ms 3.3±0.02ms 0.00%
Set/OptimalMerkleTree::::set/1 566.2±5.47µs 565.1±4.56µs -0.19%
Set/OptimalMerkleTree::::set/10 5.7±0.01ms 5.6±0.01ms -1.75%
Set/OptimalMerkleTree::::set/100 56.7±0.09ms 56.7±0.30ms 0.00%
Set/OptimalMerkleTree::::set_range/1 564.9±6.32µs 561.9±3.14µs -0.53%
Set/OptimalMerkleTree::::set_range/10 5.6±0.03ms 5.6±0.03ms 0.00%
Set/OptimalMerkleTree::::set_range/100 56.6±0.29ms 56.5±0.15ms -0.18%
vk::vk_from_ark_serialized 1633.5±7.90ns 1640.3±10.11ns +0.42%
zkey::zkey_from_raw 3.4±0.01s 3.4±0.01s 0.00%

Copy link

Benchmark for 520795a

Click to view benchmark
Test Base PR %
FullMerkleTree::::full_height_gen 13.8±0.13ms 13.7±0.10ms -0.72%
OptimalMerkleTree::::full_height_gen 577.2±6.10µs 580.3±46.63µs +0.54%
Pmtree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
Pmtree::get 364.8±4.10ns 365.5±4.58ns +0.19%
Pmtree::get_empty_leaves_indices 8.7±0.11ns 8.7±0.07ns 0.00%
Pmtree::get_subtree_root 510.7±3.92ns 514.4±6.29ns +0.72%
Pmtree::override_range 244.2±7.91µs 231.8±2.77µs -5.08%
Pmtree::set 54.4±1.03µs 54.4±0.37µs 0.00%
Pmtree:delete 54.3±0.50µs 54.2±0.34µs -0.18%
Set/FullMerkleTree::::set/1 554.5±5.12µs 555.8±4.44µs +0.23%
Set/FullMerkleTree::::set/10 5.5±0.03ms 5.5±0.01ms 0.00%
Set/FullMerkleTree::::set/100 55.5±0.18ms 55.4±0.14ms -0.18%
Set/FullMerkleTree::::set_range/1 554.5±6.63µs 553.7±3.88µs -0.14%
Set/FullMerkleTree::::set_range/10 753.2±4.33µs 753.2±5.09µs 0.00%
Set/FullMerkleTree::::set_range/100 3.3±0.01ms 3.3±0.01ms 0.00%
Set/OptimalMerkleTree::::set/1 554.2±5.89µs 554.2±4.48µs 0.00%
Set/OptimalMerkleTree::::set/10 5.5±0.01ms 5.6±0.03ms +1.82%
Set/OptimalMerkleTree::::set/100 55.6±0.42ms 55.5±0.12ms -0.18%
Set/OptimalMerkleTree::::set_range/1 554.2±4.25µs 556.4±3.34µs +0.40%
Set/OptimalMerkleTree::::set_range/10 5.5±0.01ms 5.6±0.02ms +1.82%
Set/OptimalMerkleTree::::set_range/100 55.5±0.16ms 55.7±0.19ms +0.36%
arkzkey::arkzkey_from_raw_compressed 338.3±0.64ms 338.3±0.58ms 0.00%
arkzkey::arkzkey_from_raw_uncompressed 6.0±0.01ms 6.0±0.02ms 0.00%
vk::vk_from_ark_serialized 1599.5±10.52ns 1619.1±19.57ns +1.23%
zkey::zkey_from_raw 3.4±0.00s 3.4±0.01s 0.00%

Copy link

Benchmark for af698ac

Click to view benchmark
Test Base PR %
FullMerkleTree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
FullMerkleTree::delete 883.4±9.86ns 870.9±9.99ns -1.41%
FullMerkleTree::get 3.5±0.08ns 3.4±0.09ns -2.86%
FullMerkleTree::get_empty_leaves_indices 7.5±0.31ns 7.5±0.09ns 0.00%
FullMerkleTree::get_subtree_root 3.7±0.09ns 3.8±0.09ns +2.70%
FullMerkleTree::override_range 1338.4±52.54ns 1332.3±13.24ns -0.46%
FullMerkleTree::set 889.3±5.97ns 875.1±10.67ns -1.60%
OptimalMerkleTree::compute_root 1006.8±5.50ns 1011.8±39.43ns +0.50%
OptimalMerkleTree::delete 1014.2±57.60ns 1007.1±15.94ns -0.70%
OptimalMerkleTree::get 22.1±0.22ns 22.1±0.75ns 0.00%
OptimalMerkleTree::get_empty_leaves_indices 7.5±0.09ns 7.6±0.67ns +1.33%
OptimalMerkleTree::get_subtree_root 23.9±0.31ns 24.1±0.37ns +0.84%
OptimalMerkleTree::override_range 4.1±0.04µs 4.1±0.09µs 0.00%
OptimalMerkleTree::set 1001.2±8.00ns 1030.1±107.98ns +2.89%

Copy link

Benchmark for af698ac

Click to view benchmark
Test Base PR %
FullMerkleTree::::full_height_gen 13.6±0.10ms 13.6±0.12ms 0.00%
OptimalMerkleTree::::full_height_gen 580.8±8.13µs 582.3±4.95µs +0.26%
Pmtree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
Pmtree::get 358.3±4.83ns 361.6±4.42ns +0.92%
Pmtree::get_empty_leaves_indices 8.7±0.13ns 8.7±0.08ns 0.00%
Pmtree::get_subtree_root 514.9±6.48ns 542.3±7.93ns +5.32%
Pmtree::override_range 242.6±3.46µs 245.2±7.29µs +1.07%
Pmtree::set 54.5±0.55µs 54.7±0.61µs +0.37%
Pmtree:delete 54.7±0.54µs 55.0±0.66µs +0.55%
Set/FullMerkleTree::::set/1 562.0±5.94µs 559.1±2.54µs -0.52%
Set/FullMerkleTree::::set/10 5.6±0.05ms 5.6±0.01ms 0.00%
Set/FullMerkleTree::::set/100 55.9±0.47ms 56.1±0.06ms +0.36%
Set/FullMerkleTree::::set_range/1 562.4±6.47µs 563.4±3.35µs +0.18%
Set/FullMerkleTree::::set_range/10 764.7±3.73µs 766.1±6.12µs +0.18%
Set/FullMerkleTree::::set_range/100 3.3±0.01ms 3.3±0.00ms 0.00%
Set/OptimalMerkleTree::::set/1 567.1±5.16µs 564.1±11.01µs -0.53%
Set/OptimalMerkleTree::::set/10 5.6±0.04ms 5.6±0.01ms 0.00%
Set/OptimalMerkleTree::::set/100 56.2±0.18ms 56.4±0.22ms +0.36%
Set/OptimalMerkleTree::::set_range/1 562.4±5.52µs 563.9±5.04µs +0.27%
Set/OptimalMerkleTree::::set_range/10 5.6±0.11ms 5.6±0.03ms 0.00%
Set/OptimalMerkleTree::::set_range/100 56.2±0.18ms 56.3±0.41ms +0.18%
vk::vk_from_ark_serialized 1599.6±6.70ns 1637.5±18.55ns +2.37%
zkey::zkey_from_raw 3.4±0.00s 3.4±0.01s 0.00%

Copy link

Benchmark for af698ac

Click to view benchmark
Test Base PR %
FullMerkleTree::::full_height_gen 13.4±0.10ms 13.5±0.06ms +0.75%
OptimalMerkleTree::::full_height_gen 575.6±5.44µs 576.0±3.42µs +0.07%
Pmtree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
Pmtree::get 364.3±4.53ns 362.7±3.99ns -0.44%
Pmtree::get_empty_leaves_indices 8.7±0.07ns 8.7±0.07ns 0.00%
Pmtree::get_subtree_root 516.1±5.75ns 512.9±5.01ns -0.62%
Pmtree::override_range 243.9±3.41µs 244.8±9.63µs +0.37%
Pmtree::set 54.5±0.53µs 54.5±0.38µs 0.00%
Pmtree:delete 54.4±0.34µs 54.4±0.67µs 0.00%
Set/FullMerkleTree::::set/1 554.2±4.56µs 554.0±3.96µs -0.04%
Set/FullMerkleTree::::set/10 5.5±0.01ms 5.7±0.38ms +3.64%
Set/FullMerkleTree::::set/100 55.4±0.19ms 56.9±0.08ms +2.71%
Set/FullMerkleTree::::set_range/1 554.3±4.22µs 554.6±2.82µs +0.05%
Set/FullMerkleTree::::set_range/10 753.4±6.49µs 765.6±5.03µs +1.62%
Set/FullMerkleTree::::set_range/100 3.3±0.01ms 3.3±0.01ms 0.00%
Set/OptimalMerkleTree::::set/1 553.6±5.12µs 557.4±5.26µs +0.69%
Set/OptimalMerkleTree::::set/10 5.5±0.10ms 5.5±0.04ms 0.00%
Set/OptimalMerkleTree::::set/100 55.4±0.17ms 55.5±0.16ms +0.18%
Set/OptimalMerkleTree::::set_range/1 553.7±6.10µs 552.9±2.97µs -0.14%
Set/OptimalMerkleTree::::set_range/10 5.5±0.02ms 5.5±0.02ms 0.00%
Set/OptimalMerkleTree::::set_range/100 55.4±0.20ms 55.5±0.24ms +0.18%
arkzkey::arkzkey_from_raw_compressed 338.9±1.21ms 338.3±0.25ms -0.18%
arkzkey::arkzkey_from_raw_uncompressed 6.0±0.01ms 6.1±0.01ms +1.67%
vk::vk_from_ark_serialized 1602.2±6.60ns 1603.5±26.33ns +0.08%
zkey::zkey_from_raw 3.4±0.00s 3.4±0.00s 0.00%

Copy link

Benchmark for 3aa3257

Click to view benchmark
Test Base PR %
FullMerkleTree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
FullMerkleTree::delete 868.1±11.88ns 884.5±50.85ns +1.89%
FullMerkleTree::get 0.0±0.00ns 0.0±0.00ns NaN%
FullMerkleTree::get_empty_leaves_indices 7.5±0.08ns 7.5±0.08ns 0.00%
FullMerkleTree::get_subtree_root 3.7±0.12ns 3.8±0.05ns +2.70%
FullMerkleTree::override_range 1332.4±17.33ns 1369.6±15.97ns +2.79%
FullMerkleTree::set 889.8±10.52ns 869.1±16.53ns -2.33%
OptimalMerkleTree::compute_root 1005.7±9.52ns 1006.3±12.06ns +0.06%
OptimalMerkleTree::delete 1002.5±7.86ns 1002.9±15.44ns +0.04%
OptimalMerkleTree::get 22.0±0.16ns 21.9±0.32ns -0.45%
OptimalMerkleTree::get_empty_leaves_indices 7.5±0.06ns 7.5±0.11ns 0.00%
OptimalMerkleTree::get_subtree_root 24.1±0.73ns 23.8±0.29ns -1.24%
OptimalMerkleTree::override_range 4.2±0.03µs 4.1±0.17µs -2.38%
OptimalMerkleTree::set 1001.3±7.06ns 1004.4±44.86ns +0.31%

Copy link

Benchmark for 3aa3257

Click to view benchmark
Test Base PR %
FullMerkleTree::::full_height_gen 13.6±0.11ms 13.4±0.10ms -1.47%
OptimalMerkleTree::::full_height_gen 581.7±11.75µs 583.2±7.05µs +0.26%
Pmtree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
Pmtree::get 376.6±2.95ns 374.8±6.76ns -0.48%
Pmtree::get_empty_leaves_indices 8.7±0.15ns 8.7±0.11ns 0.00%
Pmtree::get_subtree_root 518.8±3.65ns 520.1±6.35ns +0.25%
Pmtree::override_range 235.8±3.71µs 249.4±8.00µs +5.77%
Pmtree::set 55.1±0.54µs 55.0±0.47µs -0.18%
Pmtree:delete 55.0±0.55µs 55.1±0.52µs +0.18%
Set/FullMerkleTree::::set/1 561.9±3.80µs 559.1±6.82µs -0.50%
Set/FullMerkleTree::::set/10 5.6±0.01ms 5.6±0.14ms 0.00%
Set/FullMerkleTree::::set/100 56.1±0.14ms 56.0±0.13ms -0.18%
Set/FullMerkleTree::::set_range/1 559.2±2.71µs 558.9±4.11µs -0.05%
Set/FullMerkleTree::::set_range/10 760.3±5.68µs 759.9±5.47µs -0.05%
Set/FullMerkleTree::::set_range/100 3.3±0.01ms 3.3±0.01ms 0.00%
Set/OptimalMerkleTree::::set/1 561.1±4.45µs 559.8±4.25µs -0.23%
Set/OptimalMerkleTree::::set/10 5.6±0.01ms 5.6±0.02ms 0.00%
Set/OptimalMerkleTree::::set/100 56.1±0.06ms 56.2±0.06ms +0.18%
Set/OptimalMerkleTree::::set_range/1 560.0±3.30µs 558.7±3.05µs -0.23%
Set/OptimalMerkleTree::::set_range/10 5.6±0.04ms 5.6±0.01ms 0.00%
Set/OptimalMerkleTree::::set_range/100 56.2±0.19ms 56.1±0.19ms -0.18%
vk::vk_from_ark_serialized 1611.1±20.07ns 1634.8±9.84ns +1.47%
zkey::zkey_from_raw 3.4±0.00s 3.4±0.01s 0.00%

…instructions

- Clarify build and test instructions for default features
- Update RLN circuit compilation process with new repository path
- Add section for compiling zkey to arkzkey format
- Update circuit compilation notes with new Circom version and parameters
- Remove references to multiple pre-compiled circuits
- Improve README.md for main project and RLN module with more comprehensive documentation
- Add badges, overview sections, and detailed usage instructions
- Include important notes about platform compatibility and feature support
- Expand build, test, and circuit compilation instructions
- Update acknowledgements and project structure descriptions
- Provide more detailed code examples and protocol flow explanation
- Add detailed overview of Merkle tree and Poseidon hash implementations
- Include installation instructions and crate version badge
- Provide performance considerations and build/test guidance
- Update acknowledgements with source references
- Improve markdown formatting and readability
- Reorder and clarify steps for generating zkey, verification key, and witness calculation graph
- Add more detailed explanations for each step in the circuit compilation process
- Improve formatting and provide context for circuit parameter customization
- Enhance readability of instructions for generating RLN circuit resources
Copy link

Benchmark for 3aa3257

Click to view benchmark
Test Base PR %
FullMerkleTree::::full_height_gen 13.1±0.09ms 13.1±0.10ms 0.00%
OptimalMerkleTree::::full_height_gen 575.0±3.22µs 575.0±2.90µs 0.00%
Pmtree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
Pmtree::get 380.1±3.99ns 373.7±4.39ns -1.68%
Pmtree::get_empty_leaves_indices 9.0±0.11ns 9.0±0.13ns 0.00%
Pmtree::get_subtree_root 509.2±6.87ns 529.1±8.11ns +3.91%
Pmtree::override_range 235.8±5.30µs 233.5±3.22µs -0.98%
Pmtree::set 54.6±0.54µs 55.1±0.52µs +0.92%
Pmtree:delete 54.6±0.91µs 54.4±0.49µs -0.37%
Set/FullMerkleTree::::set/1 556.2±6.35µs 555.7±6.74µs -0.09%
Set/FullMerkleTree::::set/10 5.6±0.02ms 5.6±0.02ms 0.00%
Set/FullMerkleTree::::set/100 55.6±0.10ms 55.5±0.15ms -0.18%
Set/FullMerkleTree::::set_range/1 556.2±5.33µs 555.5±2.51µs -0.13%
Set/FullMerkleTree::::set_range/10 755.3±6.19µs 754.7±1.97µs -0.08%
Set/FullMerkleTree::::set_range/100 3.3±0.01ms 3.3±0.01ms 0.00%
Set/OptimalMerkleTree::::set/1 556.3±5.91µs 555.6±6.59µs -0.13%
Set/OptimalMerkleTree::::set/10 5.6±0.00ms 5.6±0.02ms 0.00%
Set/OptimalMerkleTree::::set/100 55.6±0.05ms 55.6±0.06ms 0.00%
Set/OptimalMerkleTree::::set_range/1 554.5±5.01µs 555.3±6.21µs +0.14%
Set/OptimalMerkleTree::::set_range/10 5.5±0.01ms 5.5±0.01ms 0.00%
Set/OptimalMerkleTree::::set_range/100 55.7±0.31ms 55.6±0.12ms -0.18%
arkzkey::arkzkey_from_raw_compressed 339.1±0.25ms 339.1±0.54ms 0.00%
arkzkey::arkzkey_from_raw_uncompressed 6.0±0.01ms 6.0±0.09ms 0.00%
vk::vk_from_ark_serialized 1580.2±12.22ns 1585.3±6.59ns +0.32%
zkey::zkey_from_raw 3.4±0.01s 3.4±0.00s 0.00%

Copy link

Benchmark for ee503c1

Click to view benchmark
Test Base PR %
FullMerkleTree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
FullMerkleTree::delete 890.4±10.15ns 889.9±11.62ns -0.06%
FullMerkleTree::get 0.0±0.00ns 0.0±0.00ns NaN%
FullMerkleTree::get_empty_leaves_indices 7.5±0.20ns 7.5±0.08ns 0.00%
FullMerkleTree::get_subtree_root 3.8±0.23ns 3.8±0.14ns 0.00%
FullMerkleTree::override_range 1344.0±9.68ns 1346.9±22.35ns +0.22%
FullMerkleTree::set 888.7±18.95ns 887.4±9.05ns -0.15%
OptimalMerkleTree::compute_root 1020.1±7.61ns 1021.1±12.36ns +0.10%
OptimalMerkleTree::delete 1020.7±17.60ns 1029.7±51.74ns +0.88%
OptimalMerkleTree::get 21.9±0.17ns 22.0±0.28ns +0.46%
OptimalMerkleTree::get_empty_leaves_indices 7.5±0.18ns 7.5±0.07ns 0.00%
OptimalMerkleTree::get_subtree_root 23.7±0.19ns 23.7±0.20ns 0.00%
OptimalMerkleTree::override_range 4.1±0.03µs 4.1±0.05µs 0.00%
OptimalMerkleTree::set 1017.8±11.62ns 1019.0±12.26ns +0.12%

Copy link

Benchmark for ee503c1

Click to view benchmark
Test Base PR %
FullMerkleTree::::full_height_gen 13.2±0.07ms 13.0±0.18ms -1.52%
OptimalMerkleTree::::full_height_gen 582.2±24.47µs 579.7±4.58µs -0.43%
Pmtree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
Pmtree::get 375.6±5.01ns 379.8±3.77ns +1.12%
Pmtree::get_empty_leaves_indices 9.2±0.16ns 9.0±0.08ns -2.17%
Pmtree::get_subtree_root 533.6±6.64ns 516.6±5.97ns -3.19%
Pmtree::override_range 239.2±3.80µs 232.6±3.08µs -2.76%
Pmtree::set 54.6±0.54µs 54.9±0.57µs +0.55%
Pmtree:delete 54.6±0.49µs 55.2±3.38µs +1.10%
Set/FullMerkleTree::::set/1 560.0±3.86µs 561.1±6.87µs +0.20%
Set/FullMerkleTree::::set/10 5.6±0.01ms 5.6±0.04ms 0.00%
Set/FullMerkleTree::::set/100 56.1±0.80ms 55.9±0.48ms -0.36%
Set/FullMerkleTree::::set_range/1 559.5±4.74µs 559.5±7.28µs 0.00%
Set/FullMerkleTree::::set_range/10 760.1±6.84µs 755.7±10.35µs -0.58%
Set/FullMerkleTree::::set_range/100 3.3±0.02ms 3.3±0.01ms 0.00%
Set/OptimalMerkleTree::::set/1 558.6±2.40µs 563.0±4.61µs +0.79%
Set/OptimalMerkleTree::::set/10 5.6±0.02ms 5.6±0.07ms 0.00%
Set/OptimalMerkleTree::::set/100 56.1±0.12ms 56.1±0.58ms 0.00%
Set/OptimalMerkleTree::::set_range/1 559.9±2.04µs 562.2±6.05µs +0.41%
Set/OptimalMerkleTree::::set_range/10 5.6±0.02ms 5.6±0.06ms 0.00%
Set/OptimalMerkleTree::::set_range/100 56.0±0.14ms 56.4±0.11ms +0.71%
vk::vk_from_ark_serialized 1604.9±18.54ns 1662.7±79.78ns +3.60%
zkey::zkey_from_raw 3.4±0.01s 3.4±0.01s 0.00%

Copy link

Benchmark for ee503c1

Click to view benchmark
Test Base PR %
FullMerkleTree::::full_height_gen 13.7±0.12ms 13.7±0.15ms 0.00%
OptimalMerkleTree::::full_height_gen 578.7±7.45µs 582.9±19.82µs +0.73%
Pmtree::compute_root 0.0±0.00ns 0.0±0.00ns NaN%
Pmtree::get 383.1±4.69ns 394.0±6.85ns +2.85%
Pmtree::get_empty_leaves_indices 8.7±0.15ns 8.7±0.12ns 0.00%
Pmtree::get_subtree_root 522.7±6.95ns 529.4±5.25ns +1.28%
Pmtree::override_range 239.7±4.12µs 246.6±3.38µs +2.88%
Pmtree::set 54.7±0.66µs 55.1±1.87µs +0.73%
Pmtree:delete 54.5±0.68µs 54.6±0.58µs +0.18%
Set/FullMerkleTree::::set/1 555.8±4.29µs 555.5±6.29µs -0.05%
Set/FullMerkleTree::::set/10 5.6±0.01ms 5.6±0.02ms 0.00%
Set/FullMerkleTree::::set/100 55.7±0.17ms 55.8±2.08ms +0.18%
Set/FullMerkleTree::::set_range/1 557.9±13.71µs 557.1±8.98µs -0.14%
Set/FullMerkleTree::::set_range/10 757.8±17.75µs 755.5±6.28µs -0.30%
Set/FullMerkleTree::::set_range/100 3.3±0.05ms 3.3±0.01ms 0.00%
Set/OptimalMerkleTree::::set/1 559.8±5.56µs 556.1±4.80µs -0.66%
Set/OptimalMerkleTree::::set/10 5.6±0.01ms 5.6±0.18ms 0.00%
Set/OptimalMerkleTree::::set/100 55.7±0.13ms 55.7±0.49ms 0.00%
Set/OptimalMerkleTree::::set_range/1 556.7±7.05µs 557.4±6.77µs +0.13%
Set/OptimalMerkleTree::::set_range/10 5.6±0.01ms 5.6±0.02ms 0.00%
Set/OptimalMerkleTree::::set_range/100 56.0±0.12ms 55.7±0.25ms -0.54%
arkzkey::arkzkey_from_raw_compressed 339.5±0.90ms 340.1±1.89ms +0.18%
arkzkey::arkzkey_from_raw_uncompressed 6.0±0.01ms 6.0±0.04ms 0.00%
vk::vk_from_ark_serialized 1586.8±10.50ns 1597.6±32.67ns +0.68%
zkey::zkey_from_raw 3.5±0.02s 3.4±0.00s -2.86%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant