This repository has been archived by the owner on Apr 9, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 16
feat(acvm_js): Add execute_circuit_with_black_box_solver
to prevent reinitialization of BlackBoxFunctionSolver
#495
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… that executes two circuits with same backend
…and node tests for
dbanks12
changed the title
refactor(acvm_js): expose separate wasmbind function to create
feat(acvm_js): expose separate wasmbind function to create Aug 16, 2023
SimulationBackend
SimulationBackend
I think this would be a breaking change since it modifies the |
sirasistant
changed the title
feat(acvm_js): expose separate wasmbind function to create
feat(acvm_js)!: expose separate wasmbind function to create Aug 17, 2023
SimulationBackend
SimulationBackend
TomAFrench
suggested changes
Aug 17, 2023
…w version instead that accepts a WasmBlackBoxFunctionSolver (renamed from SimulatedBackend)
dbanks12
changed the title
feat(acvm_js)!: expose separate wasmbind function to create
feat(acvm_js)!: separate wasmbinds to create 1: Aug 17, 2023
SimulationBackend
WasmBlackBoxFunctionSolver
, 2: execute with solver
dbanks12
changed the title
feat(acvm_js)!: separate wasmbinds to create 1:
feat(acvm_js): separate wasmbinds to create 1: Aug 17, 2023
WasmBlackBoxFunctionSolver
, 2: execute with solverWasmBlackBoxFunctionSolver
, 2: execute with solver
Reverted that change as per @TomAFrench's recommendation and added an additional wasmbind function that accepts a solver. |
TomAFrench
suggested changes
Aug 17, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Blocking so I can do some final checks tomorrow morning.
Actually, this is breaking as we're modifying the main ACVM struct |
TomAFrench
changed the title
feat(acvm_js): separate wasmbinds to create 1:
feat(acvm_js): Add Aug 18, 2023
WasmBlackBoxFunctionSolver
, 2: execute with solverexecute_circuit_with_black_box_solver
to prevent reinitialization of BlackBoxFunctionSolver
TomAFrench
approved these changes
Aug 18, 2023
Sakapoi
pushed a commit
to Sakapoi/acvm_fork
that referenced
this pull request
Aug 18, 2023
… reinitialization of `BlackBoxFunctionSolver` (noir-lang#495) Co-authored-by: sirasistant <[email protected]> Co-authored-by: Tom French <[email protected]>
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Problem*
It was determined that pedersen generator initialization was occurring for every call to
acvm_js
'sexecute_circuit
(if the circuit includes a pedersen op).Resolves AztecProtocol/aztec-packages#1553
Summary*
SimulatedBackend
toWasmBlackBoxFunctionSolver
createBlackBoxSolver
executeCircuitWithBlackBoxSolver
(keeps the old
executeCircuit
wasmbind to avoid breaking change)This massively improves runtime of Aztec's
acir-simulator
which makes heavy use ofexecute_circuit
.This PR also includes test node and browser refactors to reflect the API change.
PR Checklist*
cargo fmt
on default settings.BEGIN_COMMIT_OVERRIDE
feat(acvm_js): Add
execute_circuit_with_black_box_solver
to prevent reinitialization ofBlackBoxFunctionSolver
chore(acvm)!: Pass
BlackBoxFunctionSolver
toACVM
by referenceBEGIN_COMMIT_OVERRIDE