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

chore(rln): expose seq_atomic_operation api #206

Closed rymnc closed 1 year ago

rymnc commented 1 year ago

Exposes a seq_atomic_operation api that uses the next_index under the hood to sequentially write to the tree

github-actions[bot] commented 1 year ago

Benchmark for c1da7a8

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::delete | 1253.3±1.35ns | **1242.4±0.47ns** | **-0.87%** | | FullMerkleTree::get | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::override_range | **3.1±0.00µs** | 3.2±0.00µs | **+3.23%** | | FullMerkleTree::set | **1249.0±3.23ns** | 1258.1±0.50ns | **+0.73%** | | OptimalMerkleTree::compute_root | 1423.5±0.84ns | **1395.3±9.35ns** | **-1.98%** | | OptimalMerkleTree::delete | 1415.4±0.67ns | **1380.4±1.29ns** | **-2.47%** | | OptimalMerkleTree::get | **29.1±0.16ns** | 30.6±0.02ns | **+5.15%** | | OptimalMerkleTree::override_range | 7.0±0.00µs | 7.0±0.01µs | 0.00% | | OptimalMerkleTree::set | 1409.7±16.07ns | **1381.5±0.98ns** | **-2.00%** |
github-actions[bot] commented 1 year ago

Benchmark for c1da7a8

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | Pmtree::compute_root | 1.8±0.08ns | 1.8±0.09ns | 0.00% | | Pmtree::get | 508.2±28.55ns | 507.5±28.76ns | -0.14% | | Pmtree::override_range | **185.2±8.33µs** | 200.1±24.02µs | **+8.05%** | | Pmtree::set | 69.9±4.33µs | 69.0±3.90µs | -1.29% | | Pmtree:delete | 70.3±3.59µs | 69.3±3.28µs | -1.42% |
github-actions[bot] commented 1 year ago

Benchmark for fc2080c

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::delete | 1569.3±76.82ns | 1564.1±104.21ns | -0.33% | | FullMerkleTree::get | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::override_range | 3.7±0.27µs | 3.8±0.28µs | +2.70% | | FullMerkleTree::set | 1510.0±93.36ns | 1495.3±77.39ns | -0.97% | | OptimalMerkleTree::compute_root | 1785.3±111.39ns | 1840.8±105.18ns | +3.11% | | OptimalMerkleTree::delete | **1723.0±132.58ns** | 1862.5±112.52ns | **+8.10%** | | OptimalMerkleTree::get | 39.4±2.54ns | 38.0±1.75ns | -3.55% | | OptimalMerkleTree::override_range | 8.9±0.64µs | 9.2±0.41µs | +3.37% | | OptimalMerkleTree::set | **1652.8±92.94ns** | 1818.4±89.55ns | **+10.02%** |
github-actions[bot] commented 1 year ago

Benchmark for fc2080c

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | Pmtree::compute_root | 2.4±0.16ns | 2.5±0.17ns | +4.17% | | Pmtree::get | 574.0±48.94ns | 580.8±33.71ns | +1.18% | | Pmtree::override_range | 253.7±24.89µs | 247.8±24.25µs | -2.33% | | Pmtree::set | 92.1±5.95µs | 89.0±7.22µs | -3.37% | | Pmtree:delete | 92.3±7.05µs | 89.1±6.40µs | -3.47% |