Optimisations found by profiling the prover and verifier. Each checklist item becomes its own issue. The list is open: add to it as profiling turns up more.
In scope:
Structure
Forest GKR:
Spartan
Virtual map, on #37
Opening, on #38
Machinery
Out of scope: witness generation. Also hand optimisation beyond porting what the profile already shows, which waits on these landing and a fresh profile.
Depends: #37, #38 and #40 for the items filed under them. The step-4 reduction and the profiling harness these came from are on exp/e2e, which has no PR.
Related: #8 covers the merged GKR forest #40 implements. #7 covers the opener #38 builds. #19 and #20 cover the Spartan PIOP and its sparse matrix core.
Done when: every item is closed or explicitly dropped, and a fresh profile turns up nothing worth adding.
Optimisations found by profiling the prover and verifier. Each checklist item becomes its own issue. The list is open: add to it as profiling turns up more.
In scope:
Structure
bind_and_batch#43BTreeMapandBTreeSetaccumulators inLinearCombination#44bigint_to_fqand parallelise the lowering pass #45Forest GKR:
Spartan
prove_spartan_pioparguments (products, assignments) #50Virtual map, on #37
MaterializedMTranspose::digestinstead of recomputing it per prooftranspose_eqOpening, on #38
build_batched_basisand defer reduction inaccumulate_claim_blocktensor_algebra_transpose#51Machinery
Out of scope: witness generation. Also hand optimisation beyond porting what the profile already shows, which waits on these landing and a fresh profile.
Depends: #37, #38 and #40 for the items filed under them. The step-4 reduction and the profiling harness these came from are on
exp/e2e, which has no PR.Related: #8 covers the merged GKR forest #40 implements. #7 covers the opener #38 builds. #19 and #20 cover the Spartan PIOP and its sparse matrix core.
Done when: every item is closed or explicitly dropped, and a fresh profile turns up nothing worth adding.