Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Small perf items #12

Merged
merged 3 commits into from
Aug 23, 2023
Merged

Small perf items #12

merged 3 commits into from
Aug 23, 2023

Conversation

huitseeker
Copy link
Member

  • clean up the curve macros a bit,
  • 6af4e70 is a port from upstream
  • the rest is common-sense changes, see individual commit message.

- Refactored the `from_label` function in pasta.rs removing redundant collect, flatten operations and Vec<usize> creation,
- Replaced the `.map()` function with the `.map_or()` function in `r1cs.rs` for efficiency.
- Added `Eq` trait derivation to `NovaAugmentedCircuitParams` in `circuit.rs` to enable comparisons.
- Introduced `Eq` trait to `TrivialTestCircuit` struct in `traits/circuit.rs` without altering its input or output.
- Optimized performance by refactoring the use of iterator `into_iter()` to the iterator itself in `gadgets/r1cs.rs`.
@huitseeker huitseeker added this pull request to the merge queue Aug 23, 2023
Merged via the queue into dev with commit 045206f Aug 23, 2023
2 checks passed
@huitseeker huitseeker deleted the small_perf_and_items branch August 23, 2023 13:12
github-actions bot pushed a commit that referenced this pull request Sep 25, 2023
* Small perf items (#12)

* Optimize generator creation in provider module

- Refactored the `from_label` function in pasta.rs removing redundant collect, flatten operations and Vec<usize> creation,

* fix: rename VanillaRO -> NativeRO

* refactor: Optimize circuit methods and enhance trait compatibility

- Replaced the `.map()` function with the `.map_or()` function in `r1cs.rs` for efficiency.
- Added `Eq` trait derivation to `NovaAugmentedCircuitParams` in `circuit.rs` to enable comparisons.
- Introduced `Eq` trait to `TrivialTestCircuit` struct in `traits/circuit.rs` without altering its input or output.
- Optimized performance by refactoring the use of iterator `into_iter()` to the iterator itself in `gadgets/r1cs.rs`.

* ci: Bring clippy standards lurk-rs -> arecibo (#13)

* ci: Bring clippy standards lurk-rs -> arecibo

- Added a new .cargo/config file with a custom alias "xclippy" to execute Clippy lints for code quality assurance,
- Fixed code correspondingly when necessary,
- Added xclippy to CI

* chore: add dbg_macro to ci's clippy

- Implemented a new clippy lint for the dbg_macro in the cargo config file

* test: Extend tests to add missing curve variants (#33)

- Enhanced testing for multiple modules, including bellpepper, spartan, and provider, focusing on the addition and multiplication of multi-linear polynomials and the Keccak transcript.
- Introduced usage of secp256k1::Scalar (and sometimes bn256_grumpkin::bn256::Scalar) into tests for improved coverage.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants