-
Notifications
You must be signed in to change notification settings - Fork 325
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: nuking "new" from names #7273
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
839e826
to
c129cb7
Compare
Docs PreviewHey there! 👋 You can check your preview at https://6684f745990b899845238296--aztec-docs-dev.netlify.app |
0c6f97c
to
ad66fcd
Compare
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 | | |
7c8bded
to
77e57b0
Compare
pol MAX_NEW_NOTE_HASHES_PER_CALL = 16; | ||
pol MAX_NEW_NULLIFIERS_PER_CALL = 16; | ||
pol MAX_NOTE_HASHES_PER_CALL = 16; | ||
pol MAX_NULLIFIERS_PER_CALL = 16; | ||
pol MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL = 16; | ||
pol MAX_NEW_L2_TO_L1_MSGS_PER_CALL = 2; | ||
pol MAX_L2_TO_L1_MSGS_PER_CALL = 2; | ||
pol MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL = 32; |
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.
You'll need to run ./compile_avm.sh
to regenerate C++ code after this change. We'll try to improve this tooling.
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.
The script seems to be broken:
% ./compile_avm.sh
./compile_avm.sh: line 4: ../../bb-pilcom/target/release/bb_pil: No such file or directory
%
and when I tried fixing that by changing the content to:
#!/bin/bash
# Compile
../../../bb-pilcom/target/release/bb_pil pil/avm/main.pil --name Avm
I got:
% ./compile_avm.sh
thread 'main' panicked at powdr/pil-analyzer/src/pil_analyzer.rs:84:29:
File "pil/avm/main.pil" not found: No such file or directory (os error 2)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
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.
Make sure to run it from barretenberg/cpp
. Also note that it'll change a lot of the files, but they'll be auto-formatted when you commit them so the diff won't as big as it seems.
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.
Managed to run it and after it got formatted it didn't result in any changes b96023a
I think there were no changes in the commit because I globally replaced the constant names even in generated files. So there was nothing for the script to change.
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.
@benesjan It is normal because pil constants are completely inlined (replaced by literal value) in the cpp generated relations.
77e57b0
to
bc7d125
Compare
bc7d125
to
b96023a
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.
I looked at the AVM related code. LGTM.
pol MAX_NEW_NOTE_HASHES_PER_CALL = 16; | ||
pol MAX_NEW_NULLIFIERS_PER_CALL = 16; | ||
pol MAX_NOTE_HASHES_PER_CALL = 16; | ||
pol MAX_NULLIFIERS_PER_CALL = 16; | ||
pol MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL = 16; | ||
pol MAX_NEW_L2_TO_L1_MSGS_PER_CALL = 2; | ||
pol MAX_L2_TO_L1_MSGS_PER_CALL = 2; | ||
pol MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL = 32; |
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.
@benesjan It is normal because pil constants are completely inlined (replaced by literal value) in the cpp generated relations.
Automated pull of Noir development from [aztec-packages](https://github.com/AztecProtocol/aztec-packages). BEGIN_COMMIT_OVERRIDE feat: Sync from noir (AztecProtocol/aztec-packages#7308) feat: Sync from noir (AztecProtocol/aztec-packages#7288) refactor: nuking "new" from names (AztecProtocol/aztec-packages#7273) END_COMMIT_OVERRIDE Co-authored-by: TomAFrench <tom@tomfren.ch>
🤖 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).
With Leila's big PR being merged this got unblocked. See this discussion for context.
Note: The changes were mechanical so I don't think the review has to be thorough.