Skip to content

Reconsider minor performance/memory optimizations in Gemini #1223

Closed

Description

@ledwards2225

Several optimizations could be added to the PCS (in particular Gemini) to improve memory and computational performance. Most of these involve reusing already initialized polynomial memory or performing operations in a slightly less explicit way. For now I've opted to avoid those optimizations which, if left out, lead to substantially clearer code.

+More efficient derivation of positive fold evaluations:

The prover algorithm could save some field work by deriving the positive fold evaluations, i.e. $\text{Fold}_{i} (r^{2^i})$ for $i \geq 0$, as it is done in the verifier's method compute_gemini_fold_pos_evaluations.

+ClaimBatcher memory optimization

Currently, ClaimBatcher works with RefVectors that don't own the memory of prover polynomials, considering that it is an object created by a Flavor's prover, it prevents freeing the memory after performing compute_batched() in Gemini, although these polynomials are not used afterwards.

Activity

  1. changed the title [-]Reconsider PCS optimizations[/-] [+]Reconsider minor performance/memory optimizations in Gemini[/+] on Jan 28, 2025
  2. added a commit that references this issue on Mar 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions