add bench results

This commit is contained in:
M Alghazwi 2024-11-14 13:23:34 +01:00
parent 0a5bc23bd6
commit 0e09c7549d
1 changed files with 31 additions and 6 deletions

View File

@ -23,19 +23,44 @@ The following operations were benchmarked:
- **Prove Circuit**: Time taken to generate a proof for the constructed circuit. - **Prove Circuit**: Time taken to generate a proof for the constructed circuit.
- **Verify Circuit**: Time taken to verify the generated proof. - **Verify Circuit**: Time taken to verify the generated proof.
#### Build Time ## Bench Results
The following is the result of running the codex storage proof circuit (sample_cells).
The bench uses the Goldilocks field and Poseidon2 Hash. All results were run on Mac Mini with M2 Pro and 16GB RAM.
### Bench params
The benchmark runs with the default params which are the following:
#### Prove Time ```bash
export MAXDEPTH=32 # Maximum depth of the slot tree
export MAXSLOTS=256 # Maximum number of slots
export CELLSIZE=2048 # Cell size in bytes
export BLOCKSIZE=65536 # Block size in bytes
export NSAMPLES=5 # Number of samples to prove
export ENTROPY=1234567 # External randomness
export SEED=12345 # Seed for creating fake data
#### Verify Time export NSLOTS=11 # Number of slots in the dataset
export SLOTINDEX=3 # Which slot to prove (0..NSLOTS-1)
export NCELLS=512 # Number of cells in this slot
```
### Build Time
Build time for plonky2 circuits is 39.644 ms.
Baseline Groth16 with same params: 61 seconds for the circuit specific setup.
#### Proof Size ### Prove Time
Prove time for plonky2 circuits is 53.940 ms.
Baseline Groth16 with same params: 4.56 seconds using snarkjs
improvement: approx 80x
#### Peak Memory Usage ### Verify Time
To be done once recursion is added to the codebase.
### Proof Size
Plonky Proof size: 116008 bytes
This is without recursion or Groth16 wrapper.
### Remarks ### Peak Memory Usage
To be done.