Skip to content

Noir bump & Mavros interface for single binary#457

Open
veljkovranic wants to merge 5 commits into
mainfrom
mavros_integration_single_artifact
Open

Noir bump & Mavros interface for single binary#457
veljkovranic wants to merge 5 commits into
mainfrom
mavros_integration_single_artifact

Conversation

@veljkovranic

@veljkovranic veljkovranic commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

Closes #454

Bumps Noir version so we are in line with latest Mavros. Aligned complete_passport_example utils so it compiles with the latest Noir.

Tested locally:

cargo run --release --bin provekit-cli prepare --compiler mavros ./target/basic.json --r1cs ./target/r1cs.bin --pkp ./prover.pkp --pkv ./verifier.pkv
cargo run --release --bin provekit-cli prove -p ./prover.pkp  -o ./proof.np
cargo run --release --bin provekit-cli verify -v ./verifier.pkv --proof ./proof.np
    Running `provekit-cli verify -v ./verifier.pkv --proof ./proof.np`

│ │ │ │ │ ├─╯ 90.1 μs duration, 170 MB peak memory, 9.48 kB local, 170 MB current, 28.0 allocations
│ │ │ │ ├─╯ verify: 134 μs duration, 170 MB peak memory, 26.9 kB local, 170 MB current, 43.0 allocations
│ │ │ │ ├─╮ whir::protocols::sumcheck::verify start: 170 MB current, 89.3k allocations
│ │ │ │ ├─╯ 1.96 μs duration, 170 MB peak memory, 280 B local, 170 MB current, 5.00 allocations
│ │ │ ├─╯ whir::verify: 3.65 ms duration, 172 MB peak memory, 1.77 MB local, 170 MB current, 502 allocations
│ │ ├─╯ whir_zk::verify: 98.7 ms duration, 242 MB peak memory, 72.3 MB local, 170 MB current, 44.3k allocations
│ ├─╯ verify: 307 ms duration, 243 MB peak memory, 208 MB local, 34.8 MB current, 88.7k allocations
├─╯ verify: 308 ms duration, 243 MB peak memory, 208 MB local, 34.8 MB current, 88.8k allocations
╯ run: 348 ms duration, 243 MB peak memory, 243 MB local, 166 kB current, 89.3k allocations

@vercel

vercel Bot commented Jun 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs-provekit-org Ready Ready Preview Jun 25, 2026 1:03pm

Request Review

@github-actions

github-actions Bot commented Jun 19, 2026

Copy link
Copy Markdown

CSP benchmarks

Metric Value
Workflow status [PASS] success
Commit 38079c5ca53c
Run #28172076546
Circuits benchmarked 21
Iterations averaged per circuit 3

Prover time, peak RSS, peak heap, and verifier time are arithmetic means across the iterations. Peak heap comes from the largest peak memory entry in provekit-cli prove's tracing output; peak RSS is reported by /usr/bin/time -v (max-resident-set-size).

Each metric cell shows the current value followed by the percentage delta against the latest successful main run #27856904893. (new) marks circuits absent from the baseline.

Results
Circuit Constraints Witnesses Prover time Peak RSS Peak heap Verifier time Proof size PKP size
ecdsa_p256 143,321 (±0.0%) 258,215 (±0.0%) 2.62 s (-12.4%) 256 MB (-0.4%) 225 MB (-0.1%) 343 ms (±0.0%) 2.82 MB (+1.2%) 811 KB (+0.5%)
keccak_1024 788,814 (-4.1%) 1,490,812 (-3.4%) 6.24 s (-1.6%) 973 MB (-1.2%) 939 MB (-1.5%) 820 ms (-3.5%) 3.12 MB (-0.6%) 5.88 MB (-3.8%)
keccak_128 157,522 (-3.4%) 304,529 (-2.9%) 2.12 s (+0.2%) 271 MB (-2.0%) 239 MB (-1.1%) 360 ms (-2.7%) 2.82 MB (+1.0%) 1.26 MB (+3.5%)
keccak_2048 1,507,374 (-4.3%) 2,840,532 (-3.6%) 11.54 s (-2.0%) 1.78 GB (-1.8%) 1.77 GB (-1.6%) 1.39 s (-2.8%) 3.29 MB (+0.9%) 11.97 MB (-1.4%)
keccak_256 247,782 (-3.3%) 474,010 (-2.7%) 2.29 s (-0.4%) 325 MB (-0.9%) 286 MB (-1.2%) 400 ms (-2.4%) 2.84 MB (-1.1%) 1.88 MB (-4.5%)
keccak_512 428,126 (-3.8%) 812,944 (-3.1%) 3.58 s (-1.2%) 581 MB (-2.3%) 502 MB (-1.5%) 537 ms (-1.8%) 2.96 MB (-2.5%) 3.32 MB (-2.1%)
poseidon2_12 479 (±0.0%) 563 (±0.0%) 353 ms (+0.9%) 24.18 MB (-1.3%) 14.69 MB (±0.0%) 100 ms (±0.0%) 1.05 MB (-0.3%) 437 KB (±0.0%)
poseidon2_16 556 (±0.0%) 719 (±0.0%) 350 ms (-2.8%) 24.46 MB (-1.0%) 14.88 MB (±0.0%) 103 ms (-8.8%) 1.04 MB (-1.4%) 530 KB (±0.0%)
poseidon2_2 231 (±0.0%) 278 (±0.0%) 350 ms (±0.0%) 23.30 MB (-1.3%) 14.11 MB (±0.0%) 100 ms (±0.0%) 1.03 MB (+2.4%) 108 KB (±0.0%)
poseidon2_4 529 (±0.0%) 535 (±0.0%) 343 ms (±0.0%) 23.57 MB (-2.0%) 14.31 MB (±0.0%) 100 ms (±0.0%) 1.05 MB (±0.0%) 31.67 KB (±0.0%)
poseidon2_8 363 (±0.0%) 423 (±0.0%) 353 ms (±0.0%) 24.29 MB (-1.7%) 14.50 MB (±0.0%) 103 ms (+3.3%) 1.04 MB (+2.1%) 365 KB (±0.0%)
poseidon_12 504 (±0.0%) 524 (±0.0%) 350 ms (-0.9%) 24.38 MB (-1.7%) 14.88 MB (+1.3%) 103 ms (+3.3%) 1.04 MB (+4.9%) 569 KB (+38.9%)
poseidon_16 609 (±0.0%) 633 (±0.0%) 357 ms (+1.0%) 24.67 MB (-0.7%) 15.16 MB (+1.3%) 103 ms (±0.0%) 1.03 MB (-1.7%) 717 KB (+33.7%)
poseidon_2 240 (±0.0%) 249 (±0.0%) 340 ms (-1.9%) 23.13 MB (-1.1%) 14.02 MB (±0.0%) 100 ms (±0.0%) 1.05 MB (+2.7%) 59.19 KB (+10.1%)
poseidon_4 297 (±0.0%) 309 (±0.0%) 350 ms (+1.0%) 23.74 MB (-1.2%) 14.50 MB (+1.3%) 100 ms (-3.2%) 1.05 MB (+2.4%) 332 KB (+58.5%)
poseidon_8 402 (±0.0%) 418 (±0.0%) 350 ms (±0.0%) 24.04 MB (+0.1%) 14.69 MB (+1.3%) 100 ms (±0.0%) 1.01 MB (+0.4%) 448 KB (+46.8%)
sha256_1024 196,940 (±0.0%) 339,764 (±0.0%) 2.20 s (+0.3%) 308 MB (+1.1%) 274 MB (+0.2%) 410 ms (-1.6%) 2.80 MB (-1.1%) 1.86 MB (-1.4%)
sha256_128 46,398 (±0.0%) 80,974 (±0.0%) 1.09 s (±0.0%) 101 MB (+0.7%) 83.61 MB (+0.1%) 260 ms (±0.0%) 2.53 MB (-0.3%) 512 KB (+0.7%)
sha256_2048 345,399 (±0.0%) 612,724 (±0.0%) 3.57 s (±0.0%) 548 MB (±0.0%) 483 MB (-0.1%) 590 ms (-1.1%) 2.96 MB (-0.5%) 3.06 MB (-2.4%)
sha256_256 67,904 (±0.0%) 117,944 (±0.0%) 1.38 s (-0.2%) 150 MB (+0.5%) 131 MB (+0.7%) 290 ms (±0.0%) 2.64 MB (±0.0%) 707 KB (-0.7%)
sha256_512 110,916 (±0.0%) 191,884 (±0.0%) 1.51 s (-0.2%) 181 MB (+0.4%) 158 MB (±0.0%) 327 ms (+2.1%) 2.70 MB (+1.4%) 1.10 MB (-1.5%)

@veljkovranic veljkovranic changed the title Adapt mavros interface for single binary Noir bump & Mavros interface for single binary Jun 25, 2026
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.

Adapt to Mavros output being a single binary

1 participant