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

Expose generate proof with witness ffi #227

Closed alrevuelta closed 7 months ago

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

Benchmark for f49b553

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | Pmtree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | Pmtree::get | **322.0±5.38ns** | 353.7±4.56ns | **+9.84%** | | Pmtree::override_range | 248.4±4.99µs | **242.5±4.11µs** | **-2.38%** | | Pmtree::set | 56.7±3.32µs | **56.0±0.28µs** | **-1.23%** | | Pmtree:delete | 56.4±0.76µs | 56.0±0.50µs | -0.71% |
github-actions[bot] commented 8 months ago

Benchmark for f49b553

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::delete | 872.2±5.61ns | 875.7±7.28ns | +0.40% | | FullMerkleTree::get | 3.5±0.05ns | 3.5±0.09ns | 0.00% | | FullMerkleTree::override_range | 2.2±0.03µs | 2.2±0.03µs | 0.00% | | FullMerkleTree::set | 874.0±10.71ns | 874.7±11.15ns | +0.08% | | OptimalMerkleTree::compute_root | 1062.2±11.63ns | **1045.7±52.32ns** | **-1.55%** | | OptimalMerkleTree::delete | 1043.7±7.09ns | **1033.8±19.12ns** | **-0.95%** | | OptimalMerkleTree::get | 23.5±0.77ns | **23.0±0.31ns** | **-2.13%** | | OptimalMerkleTree::override_range | **5.2±0.08µs** | 5.3±0.12µs | **+1.92%** | | OptimalMerkleTree::set | 1043.9±11.82ns | **1031.7±16.67ns** | **-1.17%** |
alrevuelta commented 8 months ago

if you want to test with rln-v1 you will have to open a pr to the v0.3.4 branch :)

Does this mean that latest master of zerokit doesn't work with rln v1?

rymnc commented 8 months ago

if you want to test with rln-v1 you will have to open a pr to the v0.3.4 branch :)

Does this mean that latest master of zerokit doesn't work with rln v1?

yes because we do not maintain them both, after v0.3.4 (last release of rln-v1) we released v0.4.x for rln-v2

alrevuelta commented 8 months ago

Okay, "based" now on v0.3.4. However since v0.3.4 is a tag, not a branch I can't really merge it there. If we wanted to merge this PR so that it can be used with rln v1, we would need to merge it somewhere else and then "retag" +1 v0.3.5.

Since I'm doing some tests/PoC by now, I will leave the PR by now without the intention of merging. Want to ensure first that it works end to end with eg go-rln.

github-actions[bot] commented 7 months ago

Benchmark for 2b2a2fa

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | Pmtree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | Pmtree::get | 320.8±2.65ns | 322.6±5.10ns | +0.56% | | Pmtree::override_range | 243.7±7.49µs | 241.6±7.04µs | -0.86% | | Pmtree::set | 52.7±0.89µs | 52.8±1.39µs | +0.19% | | Pmtree:delete | **52.7±0.40µs** | 53.4±0.43µs | **+1.33%** |
github-actions[bot] commented 7 months ago

Benchmark for 2b2a2fa

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::delete | 873.7±12.46ns | 874.0±11.68ns | +0.03% | | FullMerkleTree::get | 3.5±0.08ns | 3.5±0.07ns | 0.00% | | FullMerkleTree::override_range | 2.2±0.03µs | 2.2±0.04µs | 0.00% | | FullMerkleTree::set | 880.9±44.58ns | 881.6±64.44ns | +0.08% | | OptimalMerkleTree::compute_root | 1038.0±6.20ns | 1035.3±13.66ns | -0.26% | | OptimalMerkleTree::delete | 1024.8±10.73ns | 1028.7±46.42ns | +0.38% | | OptimalMerkleTree::get | 22.9±0.41ns | **22.5±0.34ns** | **-1.75%** | | OptimalMerkleTree::override_range | 5.2±0.08µs | 5.2±0.14µs | 0.00% | | OptimalMerkleTree::set | 1024.9±14.33ns | 1025.1±9.30ns | +0.02% |
github-actions[bot] commented 7 months ago

Benchmark for 2b590ee

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | Pmtree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | Pmtree::get | 319.7±4.62ns | 321.2±5.18ns | +0.47% | | Pmtree::override_range | **238.6±3.16µs** | 242.3±4.87µs | **+1.55%** | | Pmtree::set | **52.5±0.69µs** | 53.3±2.57µs | **+1.52%** | | Pmtree:delete | 52.7±0.31µs | 52.7±0.38µs | 0.00% |
github-actions[bot] commented 7 months ago

Benchmark for 2b590ee

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::delete | 872.0±8.96ns | 874.1±12.48ns | +0.24% | | FullMerkleTree::get | **3.4±0.02ns** | 3.5±0.06ns | **+2.94%** | | FullMerkleTree::override_range | 2.2±0.01µs | 2.2±0.04µs | 0.00% | | FullMerkleTree::set | 908.8±129.68ns | **872.2±11.70ns** | **-4.03%** | | OptimalMerkleTree::compute_root | **1033.6±7.13ns** | 1049.7±15.05ns | **+1.56%** | | OptimalMerkleTree::delete | **1026.5±7.54ns** | 1040.3±26.66ns | **+1.34%** | | OptimalMerkleTree::get | 23.4±0.36ns | **22.5±0.33ns** | **-3.85%** | | OptimalMerkleTree::override_range | 5.2±0.08µs | 5.2±0.20µs | 0.00% | | OptimalMerkleTree::set | 1028.4±35.97ns | 1037.2±10.13ns | +0.86% |
github-actions[bot] commented 7 months ago

Benchmark for 7bf1a5b

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | Pmtree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | Pmtree::get | 328.3±4.81ns | **320.2±2.83ns** | **-2.47%** | | Pmtree::override_range | 243.1±6.71µs | 240.5±4.71µs | -1.07% | | Pmtree::set | 52.7±0.67µs | 52.6±1.12µs | -0.19% | | Pmtree:delete | **52.6±0.29µs** | 52.9±1.59µs | **+0.57%** |
github-actions[bot] commented 7 months ago

Benchmark for 7bf1a5b

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::delete | **874.1±10.98ns** | 882.1±6.35ns | **+0.92%** | | FullMerkleTree::get | 3.5±0.08ns | **3.4±0.06ns** | **-2.86%** | | FullMerkleTree::override_range | 2.2±0.03µs | 2.2±0.03µs | 0.00% | | FullMerkleTree::set | **872.8±13.51ns** | 883.2±5.39ns | **+1.19%** | | OptimalMerkleTree::compute_root | 1037.5±8.87ns | 1034.8±13.16ns | -0.26% | | OptimalMerkleTree::delete | 1023.5±14.28ns | 1025.5±5.74ns | +0.20% | | OptimalMerkleTree::get | 23.2±2.43ns | **22.6±0.39ns** | **-2.59%** | | OptimalMerkleTree::override_range | **5.2±0.31µs** | 5.4±0.04µs | **+3.85%** | | OptimalMerkleTree::set | 1025.3±13.47ns | 1027.2±7.91ns | +0.19% |
alrevuelta commented 7 months ago
github-actions[bot] commented 7 months ago

Benchmark for 7574e58

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | Pmtree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | Pmtree::get | 328.4±2.19ns | 327.5±5.22ns | -0.27% | | Pmtree::override_range | 242.6±8.64µs | 245.0±7.61µs | +0.99% | | Pmtree::set | 52.6±0.33µs | 52.6±0.59µs | 0.00% | | Pmtree:delete | 52.6±0.38µs | 52.8±0.32µs | +0.38% |
github-actions[bot] commented 7 months ago

Benchmark for 7574e58

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | FullMerkleTree::compute_root | 0.0±0.00ns | 0.0±0.00ns | NaN% | | FullMerkleTree::delete | **872.2±11.64ns** | 889.3±55.00ns | **+1.96%** | | FullMerkleTree::get | **3.4±0.04ns** | 3.5±0.09ns | **+2.94%** | | FullMerkleTree::override_range | 2.2±0.07µs | 2.2±0.02µs | 0.00% | | FullMerkleTree::set | 874.4±12.30ns | 879.9±12.82ns | +0.63% | | OptimalMerkleTree::compute_root | 1045.1±15.86ns | 1040.7±14.39ns | -0.42% | | OptimalMerkleTree::delete | 1056.6±9.00ns | **1023.8±4.70ns** | **-3.10%** | | OptimalMerkleTree::get | 23.3±0.26ns | **22.7±0.19ns** | **-2.58%** | | OptimalMerkleTree::override_range | 5.4±0.03µs | **5.2±0.14µs** | **-3.70%** | | OptimalMerkleTree::set | 1045.6±6.31ns | **1031.8±33.05ns** | **-1.32%** |