-
Notifications
You must be signed in to change notification settings - Fork 268
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
feat: Optimize auxiliary relations slightly #5517
Conversation
Benchmark resultsMetrics with a significant change:
Detailed resultsAll benchmarks are run on txs on the This benchmark source data is available in JSON format on S3 here. Values are compared against data from master at commit L2 block published to L1Each column represents the number of txs on an L2 block published to L1.
L2 chain processingEach column represents the number of blocks on the L2 chain where each block has 16 txs.
Circuits statsStats on running time and I/O sizes collected for every circuit run across all benchmarks.
Tree insertion statsThe duration to insert a fixed batch of leaves into each tree type.
MiscellaneousTransaction sizes based on how many contract classes are registered in the tx.
Transaction size based on fee payment method
Transaction processing duration by data writes.
|
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.
Nice! Can you put the benchmark output in the description?
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.33.0</summary> ## [0.33.0](aztec-package-v0.32.1...aztec-package-v0.33.0) (2024-04-09) ### Features * Jest fast transpile. no more ts-jest. ([#5530](#5530)) ([1912802](1912802)) * **SimulateTx:** Simulate constrained transaction execution with return values ([#5432](#5432)) ([0249737](0249737)) </details> <details><summary>barretenberg.js: 0.33.0</summary> ## [0.33.0](barretenberg.js-v0.32.1...barretenberg.js-v0.33.0) (2024-04-09) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-cli: 0.33.0</summary> ## [0.33.0](aztec-cli-v0.32.1...aztec-cli-v0.33.0) (2024-04-09) ### ⚠ BREAKING CHANGES * contract_abi-exports ([#5386](#5386)) ### Features * **avm:** Integrate AVM with initializers ([#5469](#5469)) ([59799f2](59799f2)) * Contract_abi-exports ([#5386](#5386)) ([745d522](745d522)) * Jest fast transpile. no more ts-jest. ([#5530](#5530)) ([1912802](1912802)) ### Bug Fixes * Update CLI & terraforms with new contract addresses ([#5553](#5553)) ([eb73d20](eb73d20)) </details> <details><summary>aztec-packages: 0.33.0</summary> ## [0.33.0](aztec-packages-v0.32.1...aztec-packages-v0.33.0) (2024-04-09) ### ⚠ BREAKING CHANGES * **acir:** Add predicate to call opcode ([#5616](#5616)) * contract_abi-exports ([#5386](#5386)) * **avm:** rollback FunctionAbi isTranspiled changes ([#5561](#5561)) ### Features * /foundry is canoncial build of foundry. e2e tests can start own anvil. ([#5522](#5522)) ([510daa0](510daa0)) * `add` and `sub` methods of `EasyPrivateUint` throw when called in public ([#5581](#5581)) ([29f337d](29f337d)) * **acir:** Add predicate to call opcode ([#5616](#5616)) ([e8cec0a](e8cec0a)) * **acvm_js:** Execute program (noir-lang/noir#4694) ([8b30b95](8b30b95)) * Add return values to aztec fns ([#5389](#5389)) ([7b88bac](7b88bac)) * Allow slices to brillig entry points (noir-lang/noir#4713) ([8b30b95](8b30b95)) * Avm logup ([#5577](#5577)) ([7e4e9b9](7e4e9b9)) * **avm:** Add index to pedersen opcode ([#5486](#5486)) ([e1d7d11](e1d7d11)) * **avm:** Contract instance opcode ([#5487](#5487)) ([ceacba6](ceacba6)) * **avm:** Gas usage for nested calls ([#5495](#5495)) ([11699c8](11699c8)) * **avm:** Indirect memory for set opcode ([#5546](#5546)) ([e0e7200](e0e7200)), closes [#5542](#5542) * **avm:** Integrate AVM with initializers ([#5469](#5469)) ([59799f2](59799f2)) * **avm:** Set gas allowance in public calls ([#5567](#5567)) ([ee23415](ee23415)) * **avm:** Track gas from memory accesses explicitly ([#5563](#5563)) ([18c9128](18c9128)), closes [#5514](#5514) * Contract_abi-exports ([#5386](#5386)) ([745d522](745d522)) * DataBus notion with calldata/return data ([#5504](#5504)) ([95a1d8a](95a1d8a)) * DebugLog(...) in noir-protocol-circuits ([#5568](#5568)) ([a07bb92](a07bb92)) * **docs:** Documenting noir codegen (noir-lang/noir#4454) ([8b30b95](8b30b95)) * Improve nargo check cli with --override flag and feedback for existing files (noir-lang/noir#4575) ([8b30b95](8b30b95)) * Improve optimisations on range constraints (noir-lang/noir#4690) ([8b30b95](8b30b95)) * Improve SSA type-awareness in EQ and MUL instructions (noir-lang/noir#4691) ([8b30b95](8b30b95)) * Improve the proving orchestration lifecycle ([#5535](#5535)) ([4e4f843](4e4f843)) * Jest fast transpile. no more ts-jest. ([#5530](#5530)) ([1912802](1912802)) * Logging deployed contract address to help debug e2e account test ([#5571](#5571)) ([1907473](1907473)) * Only export values from accumulated data ([#5604](#5604)) ([a974ec8](a974ec8)) * Optimise relations ([#5552](#5552)) ([a581e80](a581e80)) * Optimize auxiliary relations slightly ([#5517](#5517)) ([30be431](30be431)) * Public inputs refactor ([#5500](#5500)) ([6b9a538](6b9a538)) * Restore hashing args via slice for performance ([#5539](#5539)) ([eb3acdf](eb3acdf)) * **SimulateTx:** Simulate constrained transaction execution with return values ([#5432](#5432)) ([0249737](0249737)) ### Bug Fixes * **acvm:** Mark outputs of Opcode::Call solvable (noir-lang/noir#4708) ([8b30b95](8b30b95)) * **avm:** Nullifier handling ([#5488](#5488)) ([bc8211d](bc8211d)) * **ci:** Cache submodules in GA ([#5531](#5531)) ([75f2cc6](75f2cc6)) * **ci:** Install fixed foundry version in CI ([#5582](#5582)) ([46fdb37](46fdb37)) * Dependabot update ([#5547](#5547)) ([f7e6cc8](f7e6cc8)) * E2e earthly status ([#5564](#5564)) ([a5076ca](a5076ca)) * Field comparisons (noir-lang/noir#4704) ([8b30b95](8b30b95)) * Invalid fork terraform ([#5585](#5585)) ([826353b](826353b)) * Last use analysis & make it an SSA pass (noir-lang/noir#4686) ([8b30b95](8b30b95)) * Mainnet fork redeploys ([#5573](#5573)) ([88e8b6d](88e8b6d)) * Remove EFS lifecycle rule ([#5587](#5587)) ([eb66fc6](eb66fc6)) * **ssa:** Do not use get_value_max_num_bits when we want pure type information (noir-lang/noir#4700) ([8b30b95](8b30b95)) * Taint fork file storage ([#5560](#5560)) ([f144f3b](f144f3b)) * Unknown slice lengths coming from as_slice (noir-lang/noir#4725) ([8b30b95](8b30b95)) * Update CLI & terraforms with new contract addresses ([#5553](#5553)) ([eb73d20](eb73d20)) ### Miscellaneous * **avm:** Rollback FunctionAbi isTranspiled changes ([#5561](#5561)) ([150932a](150932a)) * Check for references to private functions during path resolution (noir-lang/noir#4622) ([8b30b95](8b30b95)) * **docs:** Add file to prove ownership for google search console ([#5554](#5554)) ([dfa3998](dfa3998)) * **docs:** Fix indexed-merkle-tree docs images ([#4674](#4674)) ([8fc29d5](8fc29d5)) * **docs:** Random updates ([#5281](#5281)) ([b8c9273](b8c9273)) * ECCVM flavor depends on builder ([#5323](#5323)) ([a594683](a594683)) * Fix clippy errors (noir-lang/noir#4684) ([8b30b95](8b30b95)) * Get rid of ECCVM composer ([#5562](#5562)) ([43ed901](43ed901)) * Move e2e-avm-initializer test to e2e-avm-simulator ([#5570](#5570)) ([d827705](d827705)) * Nuking accounts from e2e setup ([#5574](#5574)) ([be6f843](be6f843)), closes [#5307](#5307) * Nuking L2BlockContext ([#5569](#5569)) ([1299190](1299190)) * Pad when needed and not sooner ([#5482](#5482)) ([e928c33](e928c33)), closes [#5357](#5357) * Remove conditional compilation around `acvm_js` package (noir-lang/noir#4702) ([8b30b95](8b30b95)) * Remove debug log from watch.sh ([a9a349d](a9a349d)) * Remove last traces of nix (noir-lang/noir#4679) ([8b30b95](8b30b95)) * Remove unused boolean return values from stores ([#5470](#5470)) ([07794ee](07794ee)) * Remove unused env vars from `Cross.toml` (noir-lang/noir#4717) ([8b30b95](8b30b95)) * Replace relative paths to noir-protocol-circuits ([51a1983](51a1983)) * Replace relative paths to noir-protocol-circuits ([a716270](a716270)) * Replace relative paths to noir-protocol-circuits ([6827014](6827014)) * Replace relative paths to noir-protocol-circuits ([356caf7](356caf7)) * Simplify how `acvm_backend.wasm` is embedded (noir-lang/noir#4703) ([8b30b95](8b30b95)) * Simplify how blns is loaded into tests (noir-lang/noir#4705) ([8b30b95](8b30b95)) * Update snapshot ([#5626](#5626)) ([fb66426](fb66426)) * Use is_entry_point helper on RuntimeType (noir-lang/noir#4678) ([8b30b95](8b30b95)) ### Documentation * Minor fixes in keys ([#5550](#5550)) ([ea48ad3](ea48ad3)) * **spec:** Hashing and keys ([#5478](#5478)) ([820ac8c](820ac8c)) * Update quickstart.md to use Docker daemon ([#5576](#5576)) ([42b9827](42b9827)) </details> <details><summary>barretenberg: 0.33.0</summary> ## [0.33.0](barretenberg-v0.32.1...barretenberg-v0.33.0) (2024-04-09) ### ⚠ BREAKING CHANGES * **acir:** Add predicate to call opcode ([#5616](#5616)) ### Features * **acir:** Add predicate to call opcode ([#5616](#5616)) ([e8cec0a](e8cec0a)) * Avm logup ([#5577](#5577)) ([7e4e9b9](7e4e9b9)) * **avm:** Contract instance opcode ([#5487](#5487)) ([ceacba6](ceacba6)) * **avm:** Indirect memory for set opcode ([#5546](#5546)) ([e0e7200](e0e7200)), closes [#5542](#5542) * DataBus notion with calldata/return data ([#5504](#5504)) ([95a1d8a](95a1d8a)) * Optimise relations ([#5552](#5552)) ([a581e80](a581e80)) * Optimize auxiliary relations slightly ([#5517](#5517)) ([30be431](30be431)) ### Miscellaneous * ECCVM flavor depends on builder ([#5323](#5323)) ([a594683](a594683)) * Get rid of ECCVM composer ([#5562](#5562)) ([43ed901](43ed901)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.33.0</summary> ## [0.33.0](AztecProtocol/aztec-packages@aztec-package-v0.32.1...aztec-package-v0.33.0) (2024-04-09) ### Features * Jest fast transpile. no more ts-jest. ([#5530](AztecProtocol/aztec-packages#5530)) ([1912802](AztecProtocol/aztec-packages@1912802)) * **SimulateTx:** Simulate constrained transaction execution with return values ([#5432](AztecProtocol/aztec-packages#5432)) ([0249737](AztecProtocol/aztec-packages@0249737)) </details> <details><summary>barretenberg.js: 0.33.0</summary> ## [0.33.0](AztecProtocol/aztec-packages@barretenberg.js-v0.32.1...barretenberg.js-v0.33.0) (2024-04-09) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-cli: 0.33.0</summary> ## [0.33.0](AztecProtocol/aztec-packages@aztec-cli-v0.32.1...aztec-cli-v0.33.0) (2024-04-09) ### ⚠ BREAKING CHANGES * contract_abi-exports ([#5386](AztecProtocol/aztec-packages#5386)) ### Features * **avm:** Integrate AVM with initializers ([#5469](AztecProtocol/aztec-packages#5469)) ([59799f2](AztecProtocol/aztec-packages@59799f2)) * Contract_abi-exports ([#5386](AztecProtocol/aztec-packages#5386)) ([745d522](AztecProtocol/aztec-packages@745d522)) * Jest fast transpile. no more ts-jest. ([#5530](AztecProtocol/aztec-packages#5530)) ([1912802](AztecProtocol/aztec-packages@1912802)) ### Bug Fixes * Update CLI & terraforms with new contract addresses ([#5553](AztecProtocol/aztec-packages#5553)) ([eb73d20](AztecProtocol/aztec-packages@eb73d20)) </details> <details><summary>aztec-packages: 0.33.0</summary> ## [0.33.0](AztecProtocol/aztec-packages@aztec-packages-v0.32.1...aztec-packages-v0.33.0) (2024-04-09) ### ⚠ BREAKING CHANGES * **acir:** Add predicate to call opcode ([#5616](AztecProtocol/aztec-packages#5616)) * contract_abi-exports ([#5386](AztecProtocol/aztec-packages#5386)) * **avm:** rollback FunctionAbi isTranspiled changes ([#5561](AztecProtocol/aztec-packages#5561)) ### Features * /foundry is canoncial build of foundry. e2e tests can start own anvil. ([#5522](AztecProtocol/aztec-packages#5522)) ([510daa0](AztecProtocol/aztec-packages@510daa0)) * `add` and `sub` methods of `EasyPrivateUint` throw when called in public ([#5581](AztecProtocol/aztec-packages#5581)) ([29f337d](AztecProtocol/aztec-packages@29f337d)) * **acir:** Add predicate to call opcode ([#5616](AztecProtocol/aztec-packages#5616)) ([e8cec0a](AztecProtocol/aztec-packages@e8cec0a)) * **acvm_js:** Execute program (noir-lang/noir#4694) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Add return values to aztec fns ([#5389](AztecProtocol/aztec-packages#5389)) ([7b88bac](AztecProtocol/aztec-packages@7b88bac)) * Allow slices to brillig entry points (noir-lang/noir#4713) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Avm logup ([#5577](AztecProtocol/aztec-packages#5577)) ([7e4e9b9](AztecProtocol/aztec-packages@7e4e9b9)) * **avm:** Add index to pedersen opcode ([#5486](AztecProtocol/aztec-packages#5486)) ([e1d7d11](AztecProtocol/aztec-packages@e1d7d11)) * **avm:** Contract instance opcode ([#5487](AztecProtocol/aztec-packages#5487)) ([ceacba6](AztecProtocol/aztec-packages@ceacba6)) * **avm:** Gas usage for nested calls ([#5495](AztecProtocol/aztec-packages#5495)) ([11699c8](AztecProtocol/aztec-packages@11699c8)) * **avm:** Indirect memory for set opcode ([#5546](AztecProtocol/aztec-packages#5546)) ([e0e7200](AztecProtocol/aztec-packages@e0e7200)), closes [#5542](AztecProtocol/aztec-packages#5542) * **avm:** Integrate AVM with initializers ([#5469](AztecProtocol/aztec-packages#5469)) ([59799f2](AztecProtocol/aztec-packages@59799f2)) * **avm:** Set gas allowance in public calls ([#5567](AztecProtocol/aztec-packages#5567)) ([ee23415](AztecProtocol/aztec-packages@ee23415)) * **avm:** Track gas from memory accesses explicitly ([#5563](AztecProtocol/aztec-packages#5563)) ([18c9128](AztecProtocol/aztec-packages@18c9128)), closes [#5514](AztecProtocol/aztec-packages#5514) * Contract_abi-exports ([#5386](AztecProtocol/aztec-packages#5386)) ([745d522](AztecProtocol/aztec-packages@745d522)) * DataBus notion with calldata/return data ([#5504](AztecProtocol/aztec-packages#5504)) ([95a1d8a](AztecProtocol/aztec-packages@95a1d8a)) * DebugLog(...) in noir-protocol-circuits ([#5568](AztecProtocol/aztec-packages#5568)) ([a07bb92](AztecProtocol/aztec-packages@a07bb92)) * **docs:** Documenting noir codegen (noir-lang/noir#4454) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Improve nargo check cli with --override flag and feedback for existing files (noir-lang/noir#4575) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Improve optimisations on range constraints (noir-lang/noir#4690) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Improve SSA type-awareness in EQ and MUL instructions (noir-lang/noir#4691) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Improve the proving orchestration lifecycle ([#5535](AztecProtocol/aztec-packages#5535)) ([4e4f843](AztecProtocol/aztec-packages@4e4f843)) * Jest fast transpile. no more ts-jest. ([#5530](AztecProtocol/aztec-packages#5530)) ([1912802](AztecProtocol/aztec-packages@1912802)) * Logging deployed contract address to help debug e2e account test ([#5571](AztecProtocol/aztec-packages#5571)) ([1907473](AztecProtocol/aztec-packages@1907473)) * Only export values from accumulated data ([#5604](AztecProtocol/aztec-packages#5604)) ([a974ec8](AztecProtocol/aztec-packages@a974ec8)) * Optimise relations ([#5552](AztecProtocol/aztec-packages#5552)) ([a581e80](AztecProtocol/aztec-packages@a581e80)) * Optimize auxiliary relations slightly ([#5517](AztecProtocol/aztec-packages#5517)) ([30be431](AztecProtocol/aztec-packages@30be431)) * Public inputs refactor ([#5500](AztecProtocol/aztec-packages#5500)) ([6b9a538](AztecProtocol/aztec-packages@6b9a538)) * Restore hashing args via slice for performance ([#5539](AztecProtocol/aztec-packages#5539)) ([eb3acdf](AztecProtocol/aztec-packages@eb3acdf)) * **SimulateTx:** Simulate constrained transaction execution with return values ([#5432](AztecProtocol/aztec-packages#5432)) ([0249737](AztecProtocol/aztec-packages@0249737)) ### Bug Fixes * **acvm:** Mark outputs of Opcode::Call solvable (noir-lang/noir#4708) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * **avm:** Nullifier handling ([#5488](AztecProtocol/aztec-packages#5488)) ([bc8211d](AztecProtocol/aztec-packages@bc8211d)) * **ci:** Cache submodules in GA ([#5531](AztecProtocol/aztec-packages#5531)) ([75f2cc6](AztecProtocol/aztec-packages@75f2cc6)) * **ci:** Install fixed foundry version in CI ([#5582](AztecProtocol/aztec-packages#5582)) ([46fdb37](AztecProtocol/aztec-packages@46fdb37)) * Dependabot update ([#5547](AztecProtocol/aztec-packages#5547)) ([f7e6cc8](AztecProtocol/aztec-packages@f7e6cc8)) * E2e earthly status ([#5564](AztecProtocol/aztec-packages#5564)) ([a5076ca](AztecProtocol/aztec-packages@a5076ca)) * Field comparisons (noir-lang/noir#4704) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Invalid fork terraform ([#5585](AztecProtocol/aztec-packages#5585)) ([826353b](AztecProtocol/aztec-packages@826353b)) * Last use analysis & make it an SSA pass (noir-lang/noir#4686) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Mainnet fork redeploys ([#5573](AztecProtocol/aztec-packages#5573)) ([88e8b6d](AztecProtocol/aztec-packages@88e8b6d)) * Remove EFS lifecycle rule ([#5587](AztecProtocol/aztec-packages#5587)) ([eb66fc6](AztecProtocol/aztec-packages@eb66fc6)) * **ssa:** Do not use get_value_max_num_bits when we want pure type information (noir-lang/noir#4700) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Taint fork file storage ([#5560](AztecProtocol/aztec-packages#5560)) ([f144f3b](AztecProtocol/aztec-packages@f144f3b)) * Unknown slice lengths coming from as_slice (noir-lang/noir#4725) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Update CLI & terraforms with new contract addresses ([#5553](AztecProtocol/aztec-packages#5553)) ([eb73d20](AztecProtocol/aztec-packages@eb73d20)) ### Miscellaneous * **avm:** Rollback FunctionAbi isTranspiled changes ([#5561](AztecProtocol/aztec-packages#5561)) ([150932a](AztecProtocol/aztec-packages@150932a)) * Check for references to private functions during path resolution (noir-lang/noir#4622) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * **docs:** Add file to prove ownership for google search console ([#5554](AztecProtocol/aztec-packages#5554)) ([dfa3998](AztecProtocol/aztec-packages@dfa3998)) * **docs:** Fix indexed-merkle-tree docs images ([#4674](AztecProtocol/aztec-packages#4674)) ([8fc29d5](AztecProtocol/aztec-packages@8fc29d5)) * **docs:** Random updates ([#5281](AztecProtocol/aztec-packages#5281)) ([b8c9273](AztecProtocol/aztec-packages@b8c9273)) * ECCVM flavor depends on builder ([#5323](AztecProtocol/aztec-packages#5323)) ([a594683](AztecProtocol/aztec-packages@a594683)) * Fix clippy errors (noir-lang/noir#4684) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Get rid of ECCVM composer ([#5562](AztecProtocol/aztec-packages#5562)) ([43ed901](AztecProtocol/aztec-packages@43ed901)) * Move e2e-avm-initializer test to e2e-avm-simulator ([#5570](AztecProtocol/aztec-packages#5570)) ([d827705](AztecProtocol/aztec-packages@d827705)) * Nuking accounts from e2e setup ([#5574](AztecProtocol/aztec-packages#5574)) ([be6f843](AztecProtocol/aztec-packages@be6f843)), closes [#5307](AztecProtocol/aztec-packages#5307) * Nuking L2BlockContext ([#5569](AztecProtocol/aztec-packages#5569)) ([1299190](AztecProtocol/aztec-packages@1299190)) * Pad when needed and not sooner ([#5482](AztecProtocol/aztec-packages#5482)) ([e928c33](AztecProtocol/aztec-packages@e928c33)), closes [#5357](AztecProtocol/aztec-packages#5357) * Remove conditional compilation around `acvm_js` package (noir-lang/noir#4702) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Remove debug log from watch.sh ([a9a349d](AztecProtocol/aztec-packages@a9a349d)) * Remove last traces of nix (noir-lang/noir#4679) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Remove unused boolean return values from stores ([#5470](AztecProtocol/aztec-packages#5470)) ([07794ee](AztecProtocol/aztec-packages@07794ee)) * Remove unused env vars from `Cross.toml` (noir-lang/noir#4717) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Replace relative paths to noir-protocol-circuits ([51a1983](AztecProtocol/aztec-packages@51a1983)) * Replace relative paths to noir-protocol-circuits ([a716270](AztecProtocol/aztec-packages@a716270)) * Replace relative paths to noir-protocol-circuits ([6827014](AztecProtocol/aztec-packages@6827014)) * Replace relative paths to noir-protocol-circuits ([356caf7](AztecProtocol/aztec-packages@356caf7)) * Simplify how `acvm_backend.wasm` is embedded (noir-lang/noir#4703) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Simplify how blns is loaded into tests (noir-lang/noir#4705) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) * Update snapshot ([#5626](AztecProtocol/aztec-packages#5626)) ([fb66426](AztecProtocol/aztec-packages@fb66426)) * Use is_entry_point helper on RuntimeType (noir-lang/noir#4678) ([8b30b95](AztecProtocol/aztec-packages@8b30b95)) ### Documentation * Minor fixes in keys ([#5550](AztecProtocol/aztec-packages#5550)) ([ea48ad3](AztecProtocol/aztec-packages@ea48ad3)) * **spec:** Hashing and keys ([#5478](AztecProtocol/aztec-packages#5478)) ([820ac8c](AztecProtocol/aztec-packages@820ac8c)) * Update quickstart.md to use Docker daemon ([#5576](AztecProtocol/aztec-packages#5576)) ([42b9827](AztecProtocol/aztec-packages@42b9827)) </details> <details><summary>barretenberg: 0.33.0</summary> ## [0.33.0](AztecProtocol/aztec-packages@barretenberg-v0.32.1...barretenberg-v0.33.0) (2024-04-09) ### ⚠ BREAKING CHANGES * **acir:** Add predicate to call opcode ([#5616](AztecProtocol/aztec-packages#5616)) ### Features * **acir:** Add predicate to call opcode ([#5616](AztecProtocol/aztec-packages#5616)) ([e8cec0a](AztecProtocol/aztec-packages@e8cec0a)) * Avm logup ([#5577](AztecProtocol/aztec-packages#5577)) ([7e4e9b9](AztecProtocol/aztec-packages@7e4e9b9)) * **avm:** Contract instance opcode ([#5487](AztecProtocol/aztec-packages#5487)) ([ceacba6](AztecProtocol/aztec-packages@ceacba6)) * **avm:** Indirect memory for set opcode ([#5546](AztecProtocol/aztec-packages#5546)) ([e0e7200](AztecProtocol/aztec-packages@e0e7200)), closes [#5542](AztecProtocol/aztec-packages#5542) * DataBus notion with calldata/return data ([#5504](AztecProtocol/aztec-packages#5504)) ([95a1d8a](AztecProtocol/aztec-packages@95a1d8a)) * Optimise relations ([#5552](AztecProtocol/aztec-packages#5552)) ([a581e80](AztecProtocol/aztec-packages@a581e80)) * Optimize auxiliary relations slightly ([#5517](AztecProtocol/aztec-packages#5517)) ([30be431](AztecProtocol/aztec-packages@30be431)) ### Miscellaneous * ECCVM flavor depends on builder ([#5323](AztecProtocol/aztec-packages#5323)) ([a594683](AztecProtocol/aztec-packages@a594683)) * Get rid of ECCVM composer ([#5562](AztecProtocol/aztec-packages#5562)) ([43ed901](AztecProtocol/aztec-packages@43ed901)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
We had (-1) * Univariate in some places in auxiliary relation. Multiplication is much heavier than negation, so I replaced those instances. It shaved off a second (~1%) off wasm benchmarks.
WASM benchmark: