Commit 5e5bba4
authored
chore(sol): further optimize solidity verifier (#16021)
## Overview
Applies a few optimizations to the yul honk verifier cutting of 37242
gas
- Pre calculates the inversions for each round of sumcheck this saves
10k or so
- very aggressive loop unrolling saving 20k gas
- adds templating into cpp code to generate some of the unrolled
sections based on the LOG_N circuit size - mainly when used in the
inversions code
- unrolls the hot loop in sumcheck - using precomputed values where
possible
- reuses memory offsets for the sections of the code that calculate
inversions
- barycentric domain inverses use scratch space
- gemini inversions use the same scratch space
- this memory is then overwritten by the vk when we accumulate in the
final steps1 parent 2f17230 commit 5e5bba4
File tree
4 files changed
+4502
-2886
lines changed- barretenberg
- cpp/src/barretenberg/dsl/acir_proofs
- sol
- scripts
- src/honk/optimised
4 files changed
+4502
-2886
lines changed
0 commit comments