* add sha256 bench
* feat: Refactor sha256 benchmark and update dependencies
- Refactored the `sha256.rs` benchmarking file by replacing the former `hex_literal::hex` usage with a newly created `decode_hex` function.
- Updated the "Test vectors" section to work with the new `decode_hex` function to compute digests in `Sha256Circuit` instances.
- adapted to new APIs for RecursiveSNARK
- Amended the `Cargo.toml` file to include the `sha2` package dependency, version `0.10.7`.
- added the bench target
* cargo fmt
---------
Co-authored-by: Srinath Setty <srinath@microsoft.com>
* feat: Integrate flamegraph profiling in benchmarks
- Introduce "flamegraph" feature flag for optional profiling integration
- Add benchmark profiling support in `compressed_snark` and `recursive_snark` groups
- Update Cargo.toml with `pprof` and `cfg-if` dependencies
* ci: Build benches to make sure they don't bit-rot
- Integrate bench build step into GitHub Actions workflow
* Improve performance of recursive
* Fix the test after rebase
* Fix CI/CD warnings
* Update benchmark to work with new interface of RecursiveSNARK
* Fix example to make sure step 1 is correct
* refactor: Removes unneeded pass-by value in verification
- Update function arguments to use borrowing instead of passing ownership
* Resolve the conflict with upstream branch
* refactor: Avoid extra input cloning in RecursiveSNARK::new
* Update criterion to 0.5.1 to prevent the panic with its plot
* Fix benchmark issue with new recursive_snark instance
* Fix CI/CD warning with
* refactor: Make mutation easier to observe
- Utilize mutable references to Points for better memory management
* chore: Downgrade clippy dependency for compatibility
---------
Co-authored-by: François Garillot <francois@garillot.net>
* support for arbitrary arity for F
* revive MinRoot example
* revive tests
* revive ecdsa
* remove unused code
* use None instead of Some(1u32)
* revive benches
* fix clippy warning
* support non-determinism with small changes to the interface
* update benches to use the new API
* add an example that exercises non-deterministic advice at each step of recursion
* tiny rename
* Address clippy; update version
* cleanup code
* compiles
* additional plumbing
* add padding
* Add missing file
* integrate
* add a separate test
* cleanup
* cleanup
* add checks for outer sum-check
* sum-checks pass
* sum-checks pass
* sum-checks pass
* Add polycommit checks to the end
* switch to pasta_msm
* clippy
* remove int_log
* switch to pasta_curves
* clippy
* clippy
* add a special case for bases.len() = 1
* use naive MSM to avoid SIGFE error for smaller MSMs
* add rayon parallelism to naive MSM
* update comment since we already implement it
* address clippy
* cleanup map and reduce code
* add parallelism to final SNARK creation and verification
* add par
* add par
* add par
* add par
* store padded shapes in the parameters
* Address clippy
* pass padded shape in params
* pass padded shape in params
* cargo fmt
* add par
* add par
* Add par
* cleanup with a reorg
* factor out spartan-based snark into a separate module
* create traits for RelaxedR1CSSNARK
* make CompressedSNARK parameterized by a SNARK satisfying our new trait
* fix benches
* cleanup code
* remove unused
* move code to Spartan-based SNARK
* make unused function private
* rename IPA types for clarity
* cleanup
* return error types; rename r_j to r_i
* fix duplicate code