mirror of
https://github.com/powdr-labs/powdr.git
synced 2026-04-20 03:03:25 -04:00
Builds on #2194 and #2183. This PR gives us (relatively) fast witness generation for the bus, by writing custom code instead of relying on the generic solver + prover functions: ``` $ cargo run -r --features plonky3 --bin powdr-rs compile riscv/tests/riscv_data/keccak-o output --max-degree-log 18 --field gl $ cargo run -r --features plonky3 pil output/$TEST.asm -o output -f --field gl --prove-with mock --linker-mode bus ... Running main machine for 262144 rows [00:00:05 (ETA: 00:00:05)] █████████░░░░░░░░░░░ 48% - 24283 rows/s, 3169k identities/s, 92% progress Found loop with period 1 starting at row 127900 [00:00:05 (ETA: 00:00:00)] ████████████████████ 100% - 151125 rows/s, 16170k identities/s, 100% progress Witness generation took 5.748081s Writing output/commits.bin. Backend setup for mock... Setup took 0.54769236s Generating later-stage witnesses took 0.29s Proof generation took 2.0383847s ``` On `main`, second-stage witgen for the main machine alone takes about 5 minutes.