-
Notifications
You must be signed in to change notification settings - Fork 234
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
refactor: ARGS_HASH constants 64 -> 16 #7284
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. Join @LHerskind and the rest of your teammates on Graphite |
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. Proof generationEach column represents the number of threads used in proof generation.
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 8 txs.
Circuits statsStats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.
Stats on running time collected for app circuits
AVM SimulationTime to simulate various public functions in the AVM.
Public DB AccessTime to access various public DBs.
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 | Metric | | |
921718c
to
fdc5bde
Compare
fdc5bde
to
c27ae79
Compare
c27ae79
to
fa9c94d
Compare
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.
LGTM!
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.45.1</summary> ## [0.45.1](aztec-package-v0.45.0...aztec-package-v0.45.1) (2024-07-04) ### Miscellaneous * **aztec-package:** Synchronize aztec-packages versions </details> <details><summary>barretenberg.js: 0.45.1</summary> ## [0.45.1](barretenberg.js-v0.45.0...barretenberg.js-v0.45.1) (2024-07-04) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-packages: 0.45.1</summary> ## [0.45.1](aztec-packages-v0.45.0...aztec-packages-v0.45.1) (2024-07-04) ### Features * Add support for fieldable in events ([#7310](#7310)) ([694cebc](694cebc)), closes [#6951](#6951) * **avm:** Use template engine for codegen ([#7299](#7299)) ([d4359a3](d4359a3)) * Build releases for `aarch64-unknown-linux-gnu` target (noir-lang/noir#5289) ([2ae17f2](2ae17f2)) * Create codeql.yml ([#7318](#7318)) ([11fcfd2](11fcfd2)) * Deploy l1 contracts on devnet ([#7306](#7306)) ([b8eef86](b8eef86)) * Implement trait dispatch in the comptime interpreter (noir-lang/noir#5376) ([ccfa69c](ccfa69c)) * Lsp "find all references" (noir-lang/noir#5395) ([10076d9](10076d9)) * Lsp rename struct (noir-lang/noir#5380) ([2ae17f2](2ae17f2)) * **lsp:** Allow function rename (noir-lang/noir#4294) ([ccfa69c](ccfa69c)) * Remove note hash nullifier counter. ([#7294](#7294)) ([c0c9144](c0c9144)) * Sync from aztec-packages (noir-lang/noir#5387) ([ccfa69c](ccfa69c)) * Sync from aztec-packages (noir-lang/noir#5401) ([10076d9](10076d9)) ### Bug Fixes * Correctly detect signed/unsigned integer overflows/underflows (noir-lang/noir#5375) ([10076d9](10076d9)) * **docs:** Fix broken docs link to gihtub (noir-lang/noir#5398) ([10076d9](10076d9)) * **docs:** Fix colour leak ([#7289](#7289)) ([d3388d4](d3388d4)) * Don't panic when using undefined variables in the interpreter (noir-lang/noir#5381) ([10076d9](10076d9)) * Go to definition from `use` statement (noir-lang/noir#5390) ([2ae17f2](2ae17f2)) * Go to definition from aliased use (noir-lang/noir#5396) ([10076d9](10076d9)) * ICE when using a comptime let variable in runtime code (noir-lang/noir#5391) ([10076d9](10076d9)) * Include artifacts in noir-contracts package.json ([#7339](#7339)) ([7dd87c7](7dd87c7)) * Only create d.ts files for contract artifacts ([#7307](#7307)) ([b5e2a67](b5e2a67)) * Remove event selector from unencrypted log ([#7309](#7309)) ([c6eb734](c6eb734)) * Remove panics in the interpreter when a builtin fails to type check (noir-lang/noir#5382) ([ccfa69c](ccfa69c)) * Replace expects in interpreter with errors (noir-lang/noir#5383) ([ccfa69c](ccfa69c)) * Replace std::HashMap with FxHashMap to fix frontend indeterminism (noir-lang/noir#5385) ([ccfa69c](ccfa69c)) * Truncate flamegraph text to the right ([#7333](#7333)) ([b7c6593](b7c6593)) ### Miscellaneous * Add bb-pilcom to rust analyzer ([#7317](#7317)) ([694e68e](694e68e)) * ARGS_HASH constants 64 -> 16 ([#7284](#7284)) ([c19029a](c19029a)) * **avm:** Basic stat collection ([#7283](#7283)) ([adf2331](adf2331)) * **avm:** Less code in prover and verifier ([#7302](#7302)) ([f401a9a](f401a9a)) * **avm:** Migrate lookups and permutations ([#7335](#7335)) ([56fe4fe](56fe4fe)) * **avm:** Migrate to template engine ([#7316](#7316)) ([0fbfe11](0fbfe11)) * **avm:** Re-ordering routines by opcode order ([#7298](#7298)) ([4bb512d](4bb512d)) * **avm:** Remove shifts from full row ([#7327](#7327)) ([4d641ee](4d641ee)) * Charge for more l2 gas costs ([#7157](#7157)) ([3ab00c4](3ab00c4)) * **docs:** Remove persona boxes from the landing page (noir-lang/noir#5400) ([10076d9](10076d9)) * Nuking "new" from names ([#7273](#7273)) ([b12c6cb](b12c6cb)) * Refactor conversion between `FieldElement` and signed integers (noir-lang/noir#5397) ([10076d9](10076d9)) * Replace relative paths to noir-protocol-circuits ([0124665](0124665)) * Replace relative paths to noir-protocol-circuits ([4007885](4007885)) * Update flamegraph script link ([#7329](#7329)) ([0ec83ee](0ec83ee)) * Use `mod.nr` files in stdlib (noir-lang/noir#5379) ([ccfa69c](ccfa69c)) </details> <details><summary>barretenberg: 0.45.1</summary> ## [0.45.1](barretenberg-v0.45.0...barretenberg-v0.45.1) (2024-07-04) ### Features * **avm:** Use template engine for codegen ([#7299](#7299)) ([d4359a3](d4359a3)) ### Miscellaneous * **avm:** Basic stat collection ([#7283](#7283)) ([adf2331](adf2331)) * **avm:** Less code in prover and verifier ([#7302](#7302)) ([f401a9a](f401a9a)) * **avm:** Migrate lookups and permutations ([#7335](#7335)) ([56fe4fe](56fe4fe)) * **avm:** Migrate to template engine ([#7316](#7316)) ([0fbfe11](0fbfe11)) * **avm:** Re-ordering routines by opcode order ([#7298](#7298)) ([4bb512d](4bb512d)) * **avm:** Remove shifts from full row ([#7327](#7327)) ([4d641ee](4d641ee)) * Nuking "new" from names ([#7273](#7273)) ([b12c6cb](b12c6cb)) </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.45.1</summary> ## [0.45.1](AztecProtocol/aztec-packages@aztec-package-v0.45.0...aztec-package-v0.45.1) (2024-07-04) ### Miscellaneous * **aztec-package:** Synchronize aztec-packages versions </details> <details><summary>barretenberg.js: 0.45.1</summary> ## [0.45.1](AztecProtocol/aztec-packages@barretenberg.js-v0.45.0...barretenberg.js-v0.45.1) (2024-07-04) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-packages: 0.45.1</summary> ## [0.45.1](AztecProtocol/aztec-packages@aztec-packages-v0.45.0...aztec-packages-v0.45.1) (2024-07-04) ### Features * Add support for fieldable in events ([#7310](AztecProtocol/aztec-packages#7310)) ([694cebc](AztecProtocol/aztec-packages@694cebc)), closes [#6951](AztecProtocol/aztec-packages#6951) * **avm:** Use template engine for codegen ([#7299](AztecProtocol/aztec-packages#7299)) ([d4359a3](AztecProtocol/aztec-packages@d4359a3)) * Build releases for `aarch64-unknown-linux-gnu` target (noir-lang/noir#5289) ([2ae17f2](AztecProtocol/aztec-packages@2ae17f2)) * Create codeql.yml ([#7318](AztecProtocol/aztec-packages#7318)) ([11fcfd2](AztecProtocol/aztec-packages@11fcfd2)) * Deploy l1 contracts on devnet ([#7306](AztecProtocol/aztec-packages#7306)) ([b8eef86](AztecProtocol/aztec-packages@b8eef86)) * Implement trait dispatch in the comptime interpreter (noir-lang/noir#5376) ([ccfa69c](AztecProtocol/aztec-packages@ccfa69c)) * Lsp "find all references" (noir-lang/noir#5395) ([10076d9](AztecProtocol/aztec-packages@10076d9)) * Lsp rename struct (noir-lang/noir#5380) ([2ae17f2](AztecProtocol/aztec-packages@2ae17f2)) * **lsp:** Allow function rename (noir-lang/noir#4294) ([ccfa69c](AztecProtocol/aztec-packages@ccfa69c)) * Remove note hash nullifier counter. ([#7294](AztecProtocol/aztec-packages#7294)) ([c0c9144](AztecProtocol/aztec-packages@c0c9144)) * Sync from aztec-packages (noir-lang/noir#5387) ([ccfa69c](AztecProtocol/aztec-packages@ccfa69c)) * Sync from aztec-packages (noir-lang/noir#5401) ([10076d9](AztecProtocol/aztec-packages@10076d9)) ### Bug Fixes * Correctly detect signed/unsigned integer overflows/underflows (noir-lang/noir#5375) ([10076d9](AztecProtocol/aztec-packages@10076d9)) * **docs:** Fix broken docs link to gihtub (noir-lang/noir#5398) ([10076d9](AztecProtocol/aztec-packages@10076d9)) * **docs:** Fix colour leak ([#7289](AztecProtocol/aztec-packages#7289)) ([d3388d4](AztecProtocol/aztec-packages@d3388d4)) * Don't panic when using undefined variables in the interpreter (noir-lang/noir#5381) ([10076d9](AztecProtocol/aztec-packages@10076d9)) * Go to definition from `use` statement (noir-lang/noir#5390) ([2ae17f2](AztecProtocol/aztec-packages@2ae17f2)) * Go to definition from aliased use (noir-lang/noir#5396) ([10076d9](AztecProtocol/aztec-packages@10076d9)) * ICE when using a comptime let variable in runtime code (noir-lang/noir#5391) ([10076d9](AztecProtocol/aztec-packages@10076d9)) * Include artifacts in noir-contracts package.json ([#7339](AztecProtocol/aztec-packages#7339)) ([7dd87c7](AztecProtocol/aztec-packages@7dd87c7)) * Only create d.ts files for contract artifacts ([#7307](AztecProtocol/aztec-packages#7307)) ([b5e2a67](AztecProtocol/aztec-packages@b5e2a67)) * Remove event selector from unencrypted log ([#7309](AztecProtocol/aztec-packages#7309)) ([c6eb734](AztecProtocol/aztec-packages@c6eb734)) * Remove panics in the interpreter when a builtin fails to type check (noir-lang/noir#5382) ([ccfa69c](AztecProtocol/aztec-packages@ccfa69c)) * Replace expects in interpreter with errors (noir-lang/noir#5383) ([ccfa69c](AztecProtocol/aztec-packages@ccfa69c)) * Replace std::HashMap with FxHashMap to fix frontend indeterminism (noir-lang/noir#5385) ([ccfa69c](AztecProtocol/aztec-packages@ccfa69c)) * Truncate flamegraph text to the right ([#7333](AztecProtocol/aztec-packages#7333)) ([b7c6593](AztecProtocol/aztec-packages@b7c6593)) ### Miscellaneous * Add bb-pilcom to rust analyzer ([#7317](AztecProtocol/aztec-packages#7317)) ([694e68e](AztecProtocol/aztec-packages@694e68e)) * ARGS_HASH constants 64 -> 16 ([#7284](AztecProtocol/aztec-packages#7284)) ([c19029a](AztecProtocol/aztec-packages@c19029a)) * **avm:** Basic stat collection ([#7283](AztecProtocol/aztec-packages#7283)) ([adf2331](AztecProtocol/aztec-packages@adf2331)) * **avm:** Less code in prover and verifier ([#7302](AztecProtocol/aztec-packages#7302)) ([f401a9a](AztecProtocol/aztec-packages@f401a9a)) * **avm:** Migrate lookups and permutations ([#7335](AztecProtocol/aztec-packages#7335)) ([56fe4fe](AztecProtocol/aztec-packages@56fe4fe)) * **avm:** Migrate to template engine ([#7316](AztecProtocol/aztec-packages#7316)) ([0fbfe11](AztecProtocol/aztec-packages@0fbfe11)) * **avm:** Re-ordering routines by opcode order ([#7298](AztecProtocol/aztec-packages#7298)) ([4bb512d](AztecProtocol/aztec-packages@4bb512d)) * **avm:** Remove shifts from full row ([#7327](AztecProtocol/aztec-packages#7327)) ([4d641ee](AztecProtocol/aztec-packages@4d641ee)) * Charge for more l2 gas costs ([#7157](AztecProtocol/aztec-packages#7157)) ([3ab00c4](AztecProtocol/aztec-packages@3ab00c4)) * **docs:** Remove persona boxes from the landing page (noir-lang/noir#5400) ([10076d9](AztecProtocol/aztec-packages@10076d9)) * Nuking "new" from names ([#7273](AztecProtocol/aztec-packages#7273)) ([b12c6cb](AztecProtocol/aztec-packages@b12c6cb)) * Refactor conversion between `FieldElement` and signed integers (noir-lang/noir#5397) ([10076d9](AztecProtocol/aztec-packages@10076d9)) * Replace relative paths to noir-protocol-circuits ([0124665](AztecProtocol/aztec-packages@0124665)) * Replace relative paths to noir-protocol-circuits ([4007885](AztecProtocol/aztec-packages@4007885)) * Update flamegraph script link ([#7329](AztecProtocol/aztec-packages#7329)) ([0ec83ee](AztecProtocol/aztec-packages@0ec83ee)) * Use `mod.nr` files in stdlib (noir-lang/noir#5379) ([ccfa69c](AztecProtocol/aztec-packages@ccfa69c)) </details> <details><summary>barretenberg: 0.45.1</summary> ## [0.45.1](AztecProtocol/aztec-packages@barretenberg-v0.45.0...barretenberg-v0.45.1) (2024-07-04) ### Features * **avm:** Use template engine for codegen ([#7299](AztecProtocol/aztec-packages#7299)) ([d4359a3](AztecProtocol/aztec-packages@d4359a3)) ### Miscellaneous * **avm:** Basic stat collection ([#7283](AztecProtocol/aztec-packages#7283)) ([adf2331](AztecProtocol/aztec-packages@adf2331)) * **avm:** Less code in prover and verifier ([#7302](AztecProtocol/aztec-packages#7302)) ([f401a9a](AztecProtocol/aztec-packages@f401a9a)) * **avm:** Migrate lookups and permutations ([#7335](AztecProtocol/aztec-packages#7335)) ([56fe4fe](AztecProtocol/aztec-packages@56fe4fe)) * **avm:** Migrate to template engine ([#7316](AztecProtocol/aztec-packages#7316)) ([0fbfe11](AztecProtocol/aztec-packages@0fbfe11)) * **avm:** Re-ordering routines by opcode order ([#7298](AztecProtocol/aztec-packages#7298)) ([4bb512d](AztecProtocol/aztec-packages@4bb512d)) * **avm:** Remove shifts from full row ([#7327](AztecProtocol/aztec-packages#7327)) ([4d641ee](AztecProtocol/aztec-packages@4d641ee)) * Nuking "new" from names ([#7273](AztecProtocol/aztec-packages#7273)) ([b12c6cb](AztecProtocol/aztec-packages@b12c6cb)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Fixes #7272.
Reduces the number of elements that make its way into the argshash. If you really wanna bloat the number of inputs, go visit capsules, we don't really want to pay for the option all the time when most simple will not use it. Reducing both the args hash constants to 16 instead of 64, allowing 256 instead of 4096 elements as inputs, should suffice most cases still.
Tests passed in CI earlier, but I updated a big stack that seemed to kill it as it could not run 4 branches in CI for me at the same time :)