-
Notifications
You must be signed in to change notification settings - Fork 317
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(avm): relation microbenchmarks #11974
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
a369dbc
to
8a5eb1e
Compare
8a5eb1e
to
9f48684
Compare
454481d
to
397730a
Compare
397730a
to
6f34c6e
Compare
9f48684
to
01c9bcb
Compare
01c9bcb
to
4e718a3
Compare
{ | ||
bb::constexpr_for<0, std::tuple_size_v<typename AvmFlavor::MainRelations>, 1>([&]<size_t i>() { | ||
using Relation = std::tuple_element_t<i, typename AvmFlavor::MainRelations>; | ||
BENCHMARK(BM_accumulate_random<Relation>) |
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.
@fcarreiro I guess that get_random_row() and get_params() are accounted for in the timing measurement. Is this negligible? Otherwise, can we remove them from the measurement?
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.
What I understood from the docs is that only things inside the for loop are accounted for :D
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.
Interesting! Cool.
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.76.4</summary> ## [0.76.4](aztec-package-v0.76.3...aztec-package-v0.76.4) (2025-02-13) ### Miscellaneous * **aztec-package:** Synchronize aztec-packages versions </details> <details><summary>barretenberg.js: 0.76.4</summary> ## [0.76.4](barretenberg.js-v0.76.3...barretenberg.js-v0.76.4) (2025-02-13) ### Miscellaneous * Unify webpack dev server versions ([#11965](#11965)) ([921d2cd](921d2cd)) </details> <details><summary>aztec-packages: 0.76.4</summary> ## [0.76.4](aztec-packages-v0.76.3...aztec-packages-v0.76.4) (2025-02-13) ### Features * `FunctionDefinition::as_typed_expr` (noir-lang/noir#7358) ([5efdd57](5efdd57)) * Aes decryption oracle ([#11907](#11907)) ([c4ce913](c4ce913)) * **avm:** Constrained ec_add ([#11525](#11525)) ([f8fe602](f8fe602)) * **avm:** Interaction testing ([#11947](#11947)) ([fc647eb](fc647eb)) * **avm:** Relation microbenchmarks ([#11974](#11974)) ([95b581d](95b581d)) * **cli:** Add `--target-dir` option (noir-lang/noir#7350) ([5efdd57](5efdd57)) * Indexed protocol contracts tree ([#11897](#11897)) ([96e84d4](96e84d4)) * **performance:** Check sub operations against induction variables (noir-lang/noir#7356) ([5efdd57](5efdd57)) * **performance:** Use unchecked ops based upon known induction variables (noir-lang/noir#7344) ([5efdd57](5efdd57)) * Small blob fixes/improvements ([#11686](#11686)) ([4eab9fc](4eab9fc)) * Update fee model ([#11953](#11953)) ([2798d58](2798d58)) * Use brillig optimized sha256 ([#11696](#11696)) ([438c905](438c905)) ### Bug Fixes * Ci fixes ([#11973](#11973)) ([6386f4e](6386f4e)) * **cli:** Only lock the packages selected in the workspace (noir-lang/noir#7345) ([5efdd57](5efdd57)) * Deterministic generation of vkeys in ts ([#11951](#11951)) ([7901cac](7901cac)) * Incorrect secondary file in LSP errors (noir-lang/noir#7347) ([5efdd57](5efdd57)) * Lock git dependencies folder when resolving workspace (noir-lang/noir#7327) ([5efdd57](5efdd57)) * Perform SSA constraints check on final SSA (noir-lang/noir#7334) ([5efdd57](5efdd57)) * Remove deprecated artifacts ([#11979](#11979)) ([4f0dce7](4f0dce7)) * Remove serial queue in broker facade ([#11956](#11956)) ([3485b52](3485b52)) * **ssa:** Make the lookback feature opt-in (noir-lang/noir#7190) ([5efdd57](5efdd57)) ### Miscellaneous * **avm:** Tracegen interactions assertion ([#11972](#11972)) ([b865ccc](b865ccc)) * Avoid doing all brillig integer arithmetic on u128s (noir-lang/noir#7357) ([5efdd57](5efdd57)) * Basic test for MSM in Noir to catch performance improvements and regressions (noir-lang/noir#7341) ([5efdd57](5efdd57)) * Bump devnet boot node resources ([#11958](#11958)) ([bbcdefc](bbcdefc)) * **ci:** Add Vecs and vecs to cspell (noir-lang/noir#7342) ([5efdd57](5efdd57)) * Deprecate keccak256 (noir-lang/noir#7361) ([5efdd57](5efdd57)) * Fix warnings (noir-lang/noir#7330) ([5efdd57](5efdd57)) * Mark sha256 as deprecated from the stdlib (noir-lang/noir#7351) ([5efdd57](5efdd57)) * Moving storage slot out of `NoteHeader` ([#11904](#11904)) ([8c4bb1c](8c4bb1c)) * Normalize path displayed by `nargo new` (noir-lang/noir#7328) ([5efdd57](5efdd57)) * Redo typo PR by osrm (noir-lang/noir#7238) ([5efdd57](5efdd57)) * Release Noir(1.0.0-beta.2) (noir-lang/noir#6914) ([5efdd57](5efdd57)) * Remove foreign calls array from Brillig VM constructor (noir-lang/noir#7337) ([5efdd57](5efdd57)) * Remove misleading output from `nargo check` (noir-lang/noir#7329) ([5efdd57](5efdd57)) * Remove some unused types and functions in the AST (noir-lang/noir#7339) ([5efdd57](5efdd57)) * Remove unnecessary constants (noir-lang/noir#7326) ([5efdd57](5efdd57)) * Revive browser test before killing it ([#11964](#11964)) ([cb47cc0](cb47cc0)) * Split acirgen into multiple modules (noir-lang/noir#7310) ([5efdd57](5efdd57)) * Unify webpack dev server versions ([#11965](#11965)) ([921d2cd](921d2cd)) </details> <details><summary>barretenberg: 0.76.4</summary> ## [0.76.4](barretenberg-v0.76.3...barretenberg-v0.76.4) (2025-02-13) ### Features * Aes decryption oracle ([#11907](#11907)) ([c4ce913](c4ce913)) * **avm:** Constrained ec_add ([#11525](#11525)) ([f8fe602](f8fe602)) * **avm:** Interaction testing ([#11947](#11947)) ([fc647eb](fc647eb)) * **avm:** Relation microbenchmarks ([#11974](#11974)) ([95b581d](95b581d)) ### Miscellaneous * **avm:** Tracegen interactions assertion ([#11972](#11972)) ([b865ccc](b865ccc)) * Unify webpack dev server versions ([#11965](#11965)) ([921d2cd](921d2cd)) </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.76.4</summary> ## [0.76.4](AztecProtocol/aztec-packages@aztec-package-v0.76.3...aztec-package-v0.76.4) (2025-02-13) ### Miscellaneous * **aztec-package:** Synchronize aztec-packages versions </details> <details><summary>barretenberg.js: 0.76.4</summary> ## [0.76.4](AztecProtocol/aztec-packages@barretenberg.js-v0.76.3...barretenberg.js-v0.76.4) (2025-02-13) ### Miscellaneous * Unify webpack dev server versions ([#11965](AztecProtocol/aztec-packages#11965)) ([921d2cd](AztecProtocol/aztec-packages@921d2cd)) </details> <details><summary>aztec-packages: 0.76.4</summary> ## [0.76.4](AztecProtocol/aztec-packages@aztec-packages-v0.76.3...aztec-packages-v0.76.4) (2025-02-13) ### Features * `FunctionDefinition::as_typed_expr` (noir-lang/noir#7358) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Aes decryption oracle ([#11907](AztecProtocol/aztec-packages#11907)) ([c4ce913](AztecProtocol/aztec-packages@c4ce913)) * **avm:** Constrained ec_add ([#11525](AztecProtocol/aztec-packages#11525)) ([f8fe602](AztecProtocol/aztec-packages@f8fe602)) * **avm:** Interaction testing ([#11947](AztecProtocol/aztec-packages#11947)) ([fc647eb](AztecProtocol/aztec-packages@fc647eb)) * **avm:** Relation microbenchmarks ([#11974](AztecProtocol/aztec-packages#11974)) ([95b581d](AztecProtocol/aztec-packages@95b581d)) * **cli:** Add `--target-dir` option (noir-lang/noir#7350) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Indexed protocol contracts tree ([#11897](AztecProtocol/aztec-packages#11897)) ([96e84d4](AztecProtocol/aztec-packages@96e84d4)) * **performance:** Check sub operations against induction variables (noir-lang/noir#7356) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * **performance:** Use unchecked ops based upon known induction variables (noir-lang/noir#7344) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Small blob fixes/improvements ([#11686](AztecProtocol/aztec-packages#11686)) ([4eab9fc](AztecProtocol/aztec-packages@4eab9fc)) * Update fee model ([#11953](AztecProtocol/aztec-packages#11953)) ([2798d58](AztecProtocol/aztec-packages@2798d58)) * Use brillig optimized sha256 ([#11696](AztecProtocol/aztec-packages#11696)) ([438c905](AztecProtocol/aztec-packages@438c905)) ### Bug Fixes * Ci fixes ([#11973](AztecProtocol/aztec-packages#11973)) ([6386f4e](AztecProtocol/aztec-packages@6386f4e)) * **cli:** Only lock the packages selected in the workspace (noir-lang/noir#7345) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Deterministic generation of vkeys in ts ([#11951](AztecProtocol/aztec-packages#11951)) ([7901cac](AztecProtocol/aztec-packages@7901cac)) * Incorrect secondary file in LSP errors (noir-lang/noir#7347) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Lock git dependencies folder when resolving workspace (noir-lang/noir#7327) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Perform SSA constraints check on final SSA (noir-lang/noir#7334) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Remove deprecated artifacts ([#11979](AztecProtocol/aztec-packages#11979)) ([4f0dce7](AztecProtocol/aztec-packages@4f0dce7)) * Remove serial queue in broker facade ([#11956](AztecProtocol/aztec-packages#11956)) ([3485b52](AztecProtocol/aztec-packages@3485b52)) * **ssa:** Make the lookback feature opt-in (noir-lang/noir#7190) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) ### Miscellaneous * **avm:** Tracegen interactions assertion ([#11972](AztecProtocol/aztec-packages#11972)) ([b865ccc](AztecProtocol/aztec-packages@b865ccc)) * Avoid doing all brillig integer arithmetic on u128s (noir-lang/noir#7357) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Basic test for MSM in Noir to catch performance improvements and regressions (noir-lang/noir#7341) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Bump devnet boot node resources ([#11958](AztecProtocol/aztec-packages#11958)) ([bbcdefc](AztecProtocol/aztec-packages@bbcdefc)) * **ci:** Add Vecs and vecs to cspell (noir-lang/noir#7342) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Deprecate keccak256 (noir-lang/noir#7361) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Fix warnings (noir-lang/noir#7330) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Mark sha256 as deprecated from the stdlib (noir-lang/noir#7351) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Moving storage slot out of `NoteHeader` ([#11904](AztecProtocol/aztec-packages#11904)) ([8c4bb1c](AztecProtocol/aztec-packages@8c4bb1c)) * Normalize path displayed by `nargo new` (noir-lang/noir#7328) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Redo typo PR by osrm (noir-lang/noir#7238) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Release Noir(1.0.0-beta.2) (noir-lang/noir#6914) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Remove foreign calls array from Brillig VM constructor (noir-lang/noir#7337) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Remove misleading output from `nargo check` (noir-lang/noir#7329) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Remove some unused types and functions in the AST (noir-lang/noir#7339) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Remove unnecessary constants (noir-lang/noir#7326) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Revive browser test before killing it ([#11964](AztecProtocol/aztec-packages#11964)) ([cb47cc0](AztecProtocol/aztec-packages@cb47cc0)) * Split acirgen into multiple modules (noir-lang/noir#7310) ([5efdd57](AztecProtocol/aztec-packages@5efdd57)) * Unify webpack dev server versions ([#11965](AztecProtocol/aztec-packages#11965)) ([921d2cd](AztecProtocol/aztec-packages@921d2cd)) </details> <details><summary>barretenberg: 0.76.4</summary> ## [0.76.4](AztecProtocol/aztec-packages@barretenberg-v0.76.3...barretenberg-v0.76.4) (2025-02-13) ### Features * Aes decryption oracle ([#11907](AztecProtocol/aztec-packages#11907)) ([c4ce913](AztecProtocol/aztec-packages@c4ce913)) * **avm:** Constrained ec_add ([#11525](AztecProtocol/aztec-packages#11525)) ([f8fe602](AztecProtocol/aztec-packages@f8fe602)) * **avm:** Interaction testing ([#11947](AztecProtocol/aztec-packages#11947)) ([fc647eb](AztecProtocol/aztec-packages@fc647eb)) * **avm:** Relation microbenchmarks ([#11974](AztecProtocol/aztec-packages#11974)) ([95b581d](AztecProtocol/aztec-packages@95b581d)) ### Miscellaneous * **avm:** Tracegen interactions assertion ([#11972](AztecProtocol/aztec-packages#11972)) ([b865ccc](AztecProtocol/aztec-packages@b865ccc)) * Unify webpack dev server versions ([#11965](AztecProtocol/aztec-packages#11965)) ([921d2cd](AztecProtocol/aztec-packages@921d2cd)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Relation accumulation microbenchmarks