-
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
feat: Relations vs widgets benchmarking #3931
Conversation
ROUND_BENCHMARK(SIXTH_BATCH_OPEN); | ||
ROUND_BENCHMARK(FIRST_WIRE_COMMITMENTS)->Iterations(1); | ||
ROUND_BENCHMARK(SECOND_FIAT_SHAMIR_ETA)->Iterations(1); | ||
ROUND_BENCHMARK(THIRD_FIAT_SHAMIR_BETA_GAMMA)->Iterations(1); |
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's the rationale with making them all iterations 1? just that it takes long? (the way I did rounds was pretty inefficient but simpler with how googlebench is setup)
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 think I got impatient while working on it, will revert.
Benchmark resultsNo metrics with a significant change found. 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 contracts are deployed in the tx.
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.
Basically looks good but I'm confused about the input of 80 to the arith circuit construction function. Once that's cleared up all else looks good.
barretenberg/cpp/src/barretenberg/benchmark/widgets_bench/widget.bench.cpp
Outdated
Show resolved
Hide resolved
@@ -24,6 +41,11 @@ BasicPlonkKeyAndTranscript get_plonk_key_and_transcript() | |||
auto builder = typename plonk::UltraComposer::CircuitBuilder(); | |||
bench_utils::generate_basic_arithmetic_circuit(builder, 80); |
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.
Pretty confused about what's going on here. Why is this 80? This is creating a circuit with 2^80 gates, no? The input was intended to be log_2 number of gates and as far as I can tell that's still how it works. Is this not being used as I think?
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.
Lol it's overflowing: passes
in the utility function body to double check and indeed it is equal to
BasicPlonkKeyAndTranscript data = get_plonk_key_and_transcript(); | ||
|
||
using FFTGetter = typename Widget::FFTGetter; | ||
using FFTKernel = typename Widget::FFTKernel; |
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.
This isn't new to this PR but the (hidden) comment below:
"// NOTE: this simply calls the following 3 functions it does NOT try to replicate ProverPlookupAuxiliaryWidget
// logic exactly"
is now outdated
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.
Removed
…et.bench.cpp Co-authored-by: ledwards2225 <98505400+ledwards2225@users.noreply.github.com>
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-packages: 0.18.0</summary> ## [0.18.0](aztec-packages-v0.17.0...aztec-packages-v0.18.0) (2024-01-16) ### ⚠ BREAKING CHANGES * Remove `Directive::Quotient` ([#4019](#4019)) * define key type in maps ([#3841](#3841)) * implement keccakf1600 in brillig ([#3914](#3914)) * add blake3 opcode to brillig ([#3913](#3913)) * Remove opcode supported from the backend ([#3889](#3889)) ### Features * `PartialStateReference` and `StateReference` structs ([#3827](#3827)) ([3ba0369](3ba0369)) * `StateDiffHints` ([#3919](#3919)) ([8774795](8774795)), closes [#3916](#3916) * Acir cleanup ([#3845](#3845)) ([390b84c](390b84c)) * Add ACIR opcodes for ECADD and ECDOUBLE ([#3878](#3878)) ([537630f](537630f)) * Add blake3 opcode to brillig ([#3913](#3913)) ([34fad0a](34fad0a)) * Add data availability oracle ([#3897](#3897)) ([5441753](5441753)), closes [#3890](#3890) * Add str support for args + add name/symbol/decimal to token ([#3862](#3862)) ([0bf5d8c](0bf5d8c)) * Bench bb in pr's, docker shell utils ([#3561](#3561)) ([5408919](5408919)) * Benchmark protogalaxy prover ([#3958](#3958)) ([5843722](5843722)) * Benchmarks for basic functionality and IPA improvements ([#4004](#4004)) ([fd1f619](fd1f619)) * Body hash as buffer in TS + minor cleanup ([#4012](#4012)) ([e28a6bf](e28a6bf)) * Bootstrap cache v2 ([#3876](#3876)) ([331598d](331598d)) * Counters in private functions ([#3850](#3850)) ([23bbf75](23bbf75)) * Generate json blocks for tests ([#3923](#3923)) ([a09fd2a](a09fd2a)) * Implement keccakf1600 in brillig ([#3914](#3914)) ([a182381](a182381)) * Parallel IPA ([#3882](#3882)) ([7002a33](7002a33)) * Pil lookups w/ xor table example ([#3880](#3880)) ([544d24e](544d24e)) * Poseidon2 stdlib impl ([#3551](#3551)) ([50b4a72](50b4a72)) * Protogalaxy Decider and complete folding tests ([#3657](#3657)) ([cfdaf9c](cfdaf9c)) * Reexport `protocol_types` from `aztec-nr` ([#3926](#3926)) ([9bd22f7](9bd22f7)) * Relations vs widgets benchmarking ([#3931](#3931)) ([3af64ef](3af64ef)) * Remove opcode supported from the backend ([#3889](#3889)) ([1fd135c](1fd135c)) * Reorganize acir composer ([#3957](#3957)) ([e6232e8](e6232e8)) * Replace bitwise ORs in `U256:from_bytes32` with addition ([#3947](#3947)) ([efd7660](efd7660)) * Standalone calldata test ([#3842](#3842)) ([7353a35](7353a35)) * Sync with main noir repo ([#3939](#3939)) ([69c7e99](69c7e99)) * Update noir ([#3979](#3979)) ([271de71](271de71)) * Verify state hash is correct before publishing to L1 ([#3915](#3915)) ([a53c261](a53c261)) ### Bug Fixes * **aztec-nr:** Broken nargo url ([#3925](#3925)) ([034bc30](034bc30)) * Back out the buggy branch condition ([#3988](#3988)) ([9f61ed1](9f61ed1)) * Bb unnecessary env var ([#3901](#3901)) ([f127e5a](f127e5a)) * Broken links by paterson1 ([#3902](#3902)) ([6783aaa](6783aaa)) * **cli:** Unbox command should run as release ([#3974](#3974)) ([80c3805](80c3805)) * **cli:** Unbox should set up the accounts package ([#3972](#3972)) ([065e988](065e988)) * Docusaurus start command ([#3968](#3968)) ([87c0b07](87c0b07)) * Dont spam logs with yarn install ([#4027](#4027)) ([949c5ab](949c5ab)) * Fix compilation of `token` box ([#3981](#3981)) ([0f994d0](0f994d0)) * Mirror_noir_subrepo.yml erroring ([#3954](#3954)) ([2ac1b9c](2ac1b9c)) * Quote the glob string for ignore branches for protocol-circuits-gate-diff ([#3990](#3990)) ([a43889d](a43889d)) * Reprocess notes in pxe when a new contract is added ([#3867](#3867)) ([ccbff99](ccbff99)) * Segment tree insertion stats by depth ([#4029](#4029)) ([2787bae](2787bae)) * Store blockhash alongside blocks ([#3950](#3950)) ([12b07fa](12b07fa)), closes [#3870](#3870) * Swap branch exclusion for release-please on report gates diff workflow ([#3994](#3994)) ([70b2ffd](70b2ffd)) * Typos in authwit.md by czepluch ([#3921](#3921)) ([4b9d0f4](4b9d0f4)) * Yellowpaper docusaurus start command ([#3969](#3969)) ([4977cbc](4977cbc)) ### Miscellaneous * Add a link back to `aztec-packages` in noir sync PR ([#4018](#4018)) ([7d89f3b](7d89f3b)) * Catch up note processors could be synced more efficiently ([#3933](#3933)) ([df54f33](df54f33)) * **ci:** Require boxes CI to succeed ([#3983](#3983)) ([93cbea1](93cbea1)) * Cleanup duplicated methods for structs after traits ([#3912](#3912)) ([60b59da](60b59da)) * Cleanup sandbox dependent tests ([#3861](#3861)) ([158c5be](158c5be)) * Codegen acir opcodes after renaming arithmetic to assertzero ([#3896](#3896)) ([c710ce1](c710ce1)) * Define key type in maps ([#3841](#3841)) ([cf15adb](cf15adb)) * Delete the compiler from `noir-compiler` ([#3959](#3959)) ([9aa0986](9aa0986)) * Deploy canary release of bb.js to npm via CCI ([#3917](#3917)) ([bdeb10c](bdeb10c)) * Do not fail jq dependencies check for package with no deps ([#3894](#3894)) ([22c65bf](22c65bf)) * Do not pass redundant txNullifier when computing notes ([#3943](#3943)) ([9355cda](9355cda)) * Do not run CCI on release-please branches ([#3984](#3984)) ([c38dbd2](c38dbd2)) * **docs:** Fix ts code in token bridge tutorial ([#3888](#3888)) ([f53f8ed](f53f8ed)) * **docs:** Move map keys to new release in migration guide ([#3977](#3977)) ([6356d94](6356d94)) * **docs:** Update missing @aztec/accounts missing import in testing.md ([#3903](#3903)) ([755668a](755668a)) * Document `witness_buf_to_witness_data` ([#3940](#3940)) ([fbaa726](fbaa726)) * End to end test node & pxe persistence ([#3911](#3911)) ([6164ccd](6164ccd)) * Enforce immutable yarn installs in CI ([#3964](#3964)) ([f3104ac](f3104ac)) * Fix rust tests ([#3963](#3963)) ([a907c3b](a907c3b)) * Fix sidebar index links ([#3942](#3942)) ([984f1f8](984f1f8)) * Git subrepo commit (merge) noir ([#3955](#3955)) ([2c2bc69](2c2bc69)) * Introduce EventSelector class ([#3960](#3960)) ([7315f2c](7315f2c)) * Investigate P2P test ([#3929](#3929)) ([0fca2c4](0fca2c4)) * Move types to circuit-types ([#3967](#3967)) ([f81b7c0](f81b7c0)) * Persistence uses TokenContract ([#3930](#3930)) ([1a052c4](1a052c4)) * Pull in noir from upstream ([#3904](#3904)) ([ab07e7e](ab07e7e)) * Recreated types package without circuits.js dependency ([#3970](#3970)) ([fc1d539](fc1d539)) * Refactor serialisation functions and sibling paths ([#3980](#3980)) ([1a936fc](1a936fc)) * Remove 'extern template's, expand macros ([#3953](#3953)) ([5fe9908](5fe9908)) * Remove `Directive::Quotient` ([#4019](#4019)) ([824d76f](824d76f)) * Remove sandbox and cli npm pkgs ([#3567](#3567)) ([a8cf1bf](a8cf1bf)) * Reorganize benchmarks ([#3909](#3909)) ([730766b](730766b)) * Replace `AztecU128` with `U128` ([#3951](#3951)) ([e3b288d](e3b288d)) * Replace relative paths to noir-protocol-circuits ([2c25f04](2c25f04)) * Replace relative paths to noir-protocol-circuits ([0c8b770](0c8b770)) * Replace relative paths to noir-protocol-circuits ([d3819ba](d3819ba)) * Standardise toml parsers ([#3910](#3910)) ([963035f](963035f)) * Sync noir ([#4025](#4025)) ([4e90d7b](4e90d7b)) * Sync Noir repo ([#4020](#4020)) ([876603e](876603e)) * **yellowpaper:** Cleanup avm sidebar, fix filename case ([#3952](#3952)) ([5211060](5211060)) * Yp docs sidebar (with some auto-formatting) ([#3893](#3893)) ([f7b007a](f7b007a)) ### Documentation * Noir git subrepo usage ([#3962](#3962)) ([2e4c9de](2e4c9de)) * Streamlined pr template ([#3932](#3932)) ([5ec1559](5ec1559)) * **yellowpaper:** Avm call pointers, bytecode lookups, circuit io ([#3898](#3898)) ([45e1ed2](45e1ed2)) * **yellowpaper:** Avm circuit architecture ([#3934](#3934)) ([6aed1d0](6aed1d0)) * **yellowpaper:** First draft of avm circuit memory ([#3865](#3865)) ([f689297](f689297)) * **yellowpaper:** Logs ([#4016](#4016)) ([d734c79](d734c79)) * **yellowpaper:** Update AVM spec for with "daGasLeft", some cleanup ([#3956](#3956)) ([a9537fb](a9537fb)) </details> <details><summary>barretenberg.js: 0.18.0</summary> ## [0.18.0](barretenberg.js-v0.17.0...barretenberg.js-v0.18.0) (2024-01-16) ### Features * Bootstrap cache v2 ([#3876](#3876)) ([331598d](331598d)) ### Bug Fixes * Dont spam logs with yarn install ([#4027](#4027)) ([949c5ab](949c5ab)) </details> <details><summary>barretenberg: 0.18.0</summary> ## [0.18.0](barretenberg-v0.17.0...barretenberg-v0.18.0) (2024-01-16) ### ⚠ BREAKING CHANGES * Remove `Directive::Quotient` ([#4019](#4019)) * implement keccakf1600 in brillig ([#3914](#3914)) * add blake3 opcode to brillig ([#3913](#3913)) * Remove opcode supported from the backend ([#3889](#3889)) ### Features * Acir cleanup ([#3845](#3845)) ([390b84c](390b84c)) * Add ACIR opcodes for ECADD and ECDOUBLE ([#3878](#3878)) ([537630f](537630f)) * Add blake3 opcode to brillig ([#3913](#3913)) ([34fad0a](34fad0a)) * Bench bb in pr's, docker shell utils ([#3561](#3561)) ([5408919](5408919)) * Benchmark protogalaxy prover ([#3958](#3958)) ([5843722](5843722)) * Benchmarks for basic functionality and IPA improvements ([#4004](#4004)) ([fd1f619](fd1f619)) * Bootstrap cache v2 ([#3876](#3876)) ([331598d](331598d)) * Implement keccakf1600 in brillig ([#3914](#3914)) ([a182381](a182381)) * Parallel IPA ([#3882](#3882)) ([7002a33](7002a33)) * Pil lookups w/ xor table example ([#3880](#3880)) ([544d24e](544d24e)) * Poseidon2 stdlib impl ([#3551](#3551)) ([50b4a72](50b4a72)) * Protogalaxy Decider and complete folding tests ([#3657](#3657)) ([cfdaf9c](cfdaf9c)) * Relations vs widgets benchmarking ([#3931](#3931)) ([3af64ef](3af64ef)) * Remove opcode supported from the backend ([#3889](#3889)) ([1fd135c](1fd135c)) * Reorganize acir composer ([#3957](#3957)) ([e6232e8](e6232e8)) * Standalone calldata test ([#3842](#3842)) ([7353a35](7353a35)) ### Bug Fixes * Bb unnecessary env var ([#3901](#3901)) ([f127e5a](f127e5a)) ### Miscellaneous * Codegen acir opcodes after renaming arithmetic to assertzero ([#3896](#3896)) ([c710ce1](c710ce1)) * Document `witness_buf_to_witness_data` ([#3940](#3940)) ([fbaa726](fbaa726)) * Remove 'extern template's, expand macros ([#3953](#3953)) ([5fe9908](5fe9908)) * Remove `Directive::Quotient` ([#4019](#4019)) ([824d76f](824d76f)) * Reorganize benchmarks ([#3909](#3909)) ([730766b](730766b)) </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-packages: 0.18.0</summary> ## [0.18.0](AztecProtocol/aztec-packages@aztec-packages-v0.17.0...aztec-packages-v0.18.0) (2024-01-16) ### ⚠ BREAKING CHANGES * Remove `Directive::Quotient` ([#4019](AztecProtocol/aztec-packages#4019)) * define key type in maps ([#3841](AztecProtocol/aztec-packages#3841)) * implement keccakf1600 in brillig ([#3914](AztecProtocol/aztec-packages#3914)) * add blake3 opcode to brillig ([#3913](AztecProtocol/aztec-packages#3913)) * Remove opcode supported from the backend ([#3889](AztecProtocol/aztec-packages#3889)) ### Features * `PartialStateReference` and `StateReference` structs ([#3827](AztecProtocol/aztec-packages#3827)) ([3ba0369](AztecProtocol/aztec-packages@3ba0369)) * `StateDiffHints` ([#3919](AztecProtocol/aztec-packages#3919)) ([8774795](AztecProtocol/aztec-packages@8774795)), closes [#3916](AztecProtocol/aztec-packages#3916) * Acir cleanup ([#3845](AztecProtocol/aztec-packages#3845)) ([390b84c](AztecProtocol/aztec-packages@390b84c)) * Add ACIR opcodes for ECADD and ECDOUBLE ([#3878](AztecProtocol/aztec-packages#3878)) ([537630f](AztecProtocol/aztec-packages@537630f)) * Add blake3 opcode to brillig ([#3913](AztecProtocol/aztec-packages#3913)) ([34fad0a](AztecProtocol/aztec-packages@34fad0a)) * Add data availability oracle ([#3897](AztecProtocol/aztec-packages#3897)) ([5441753](AztecProtocol/aztec-packages@5441753)), closes [#3890](AztecProtocol/aztec-packages#3890) * Add str support for args + add name/symbol/decimal to token ([#3862](AztecProtocol/aztec-packages#3862)) ([0bf5d8c](AztecProtocol/aztec-packages@0bf5d8c)) * Bench bb in pr's, docker shell utils ([#3561](AztecProtocol/aztec-packages#3561)) ([5408919](AztecProtocol/aztec-packages@5408919)) * Benchmark protogalaxy prover ([#3958](AztecProtocol/aztec-packages#3958)) ([5843722](AztecProtocol/aztec-packages@5843722)) * Benchmarks for basic functionality and IPA improvements ([#4004](AztecProtocol/aztec-packages#4004)) ([fd1f619](AztecProtocol/aztec-packages@fd1f619)) * Body hash as buffer in TS + minor cleanup ([#4012](AztecProtocol/aztec-packages#4012)) ([e28a6bf](AztecProtocol/aztec-packages@e28a6bf)) * Bootstrap cache v2 ([#3876](AztecProtocol/aztec-packages#3876)) ([331598d](AztecProtocol/aztec-packages@331598d)) * Counters in private functions ([#3850](AztecProtocol/aztec-packages#3850)) ([23bbf75](AztecProtocol/aztec-packages@23bbf75)) * Generate json blocks for tests ([#3923](AztecProtocol/aztec-packages#3923)) ([a09fd2a](AztecProtocol/aztec-packages@a09fd2a)) * Implement keccakf1600 in brillig ([#3914](AztecProtocol/aztec-packages#3914)) ([a182381](AztecProtocol/aztec-packages@a182381)) * Parallel IPA ([#3882](AztecProtocol/aztec-packages#3882)) ([7002a33](AztecProtocol/aztec-packages@7002a33)) * Pil lookups w/ xor table example ([#3880](AztecProtocol/aztec-packages#3880)) ([544d24e](AztecProtocol/aztec-packages@544d24e)) * Poseidon2 stdlib impl ([#3551](AztecProtocol/aztec-packages#3551)) ([50b4a72](AztecProtocol/aztec-packages@50b4a72)) * Protogalaxy Decider and complete folding tests ([#3657](AztecProtocol/aztec-packages#3657)) ([cfdaf9c](AztecProtocol/aztec-packages@cfdaf9c)) * Reexport `protocol_types` from `aztec-nr` ([#3926](AztecProtocol/aztec-packages#3926)) ([9bd22f7](AztecProtocol/aztec-packages@9bd22f7)) * Relations vs widgets benchmarking ([#3931](AztecProtocol/aztec-packages#3931)) ([3af64ef](AztecProtocol/aztec-packages@3af64ef)) * Remove opcode supported from the backend ([#3889](AztecProtocol/aztec-packages#3889)) ([1fd135c](AztecProtocol/aztec-packages@1fd135c)) * Reorganize acir composer ([#3957](AztecProtocol/aztec-packages#3957)) ([e6232e8](AztecProtocol/aztec-packages@e6232e8)) * Replace bitwise ORs in `U256:from_bytes32` with addition ([#3947](AztecProtocol/aztec-packages#3947)) ([efd7660](AztecProtocol/aztec-packages@efd7660)) * Standalone calldata test ([#3842](AztecProtocol/aztec-packages#3842)) ([7353a35](AztecProtocol/aztec-packages@7353a35)) * Sync with main noir repo ([#3939](AztecProtocol/aztec-packages#3939)) ([69c7e99](AztecProtocol/aztec-packages@69c7e99)) * Update noir ([#3979](AztecProtocol/aztec-packages#3979)) ([271de71](AztecProtocol/aztec-packages@271de71)) * Verify state hash is correct before publishing to L1 ([#3915](AztecProtocol/aztec-packages#3915)) ([a53c261](AztecProtocol/aztec-packages@a53c261)) ### Bug Fixes * **aztec-nr:** Broken nargo url ([#3925](AztecProtocol/aztec-packages#3925)) ([034bc30](AztecProtocol/aztec-packages@034bc30)) * Back out the buggy branch condition ([#3988](AztecProtocol/aztec-packages#3988)) ([9f61ed1](AztecProtocol/aztec-packages@9f61ed1)) * Bb unnecessary env var ([#3901](AztecProtocol/aztec-packages#3901)) ([f127e5a](AztecProtocol/aztec-packages@f127e5a)) * Broken links by paterson1 ([#3902](AztecProtocol/aztec-packages#3902)) ([6783aaa](AztecProtocol/aztec-packages@6783aaa)) * **cli:** Unbox command should run as release ([#3974](AztecProtocol/aztec-packages#3974)) ([80c3805](AztecProtocol/aztec-packages@80c3805)) * **cli:** Unbox should set up the accounts package ([#3972](AztecProtocol/aztec-packages#3972)) ([065e988](AztecProtocol/aztec-packages@065e988)) * Docusaurus start command ([#3968](AztecProtocol/aztec-packages#3968)) ([87c0b07](AztecProtocol/aztec-packages@87c0b07)) * Dont spam logs with yarn install ([#4027](AztecProtocol/aztec-packages#4027)) ([949c5ab](AztecProtocol/aztec-packages@949c5ab)) * Fix compilation of `token` box ([#3981](AztecProtocol/aztec-packages#3981)) ([0f994d0](AztecProtocol/aztec-packages@0f994d0)) * Mirror_noir_subrepo.yml erroring ([#3954](AztecProtocol/aztec-packages#3954)) ([2ac1b9c](AztecProtocol/aztec-packages@2ac1b9c)) * Quote the glob string for ignore branches for protocol-circuits-gate-diff ([#3990](AztecProtocol/aztec-packages#3990)) ([a43889d](AztecProtocol/aztec-packages@a43889d)) * Reprocess notes in pxe when a new contract is added ([#3867](AztecProtocol/aztec-packages#3867)) ([ccbff99](AztecProtocol/aztec-packages@ccbff99)) * Segment tree insertion stats by depth ([#4029](AztecProtocol/aztec-packages#4029)) ([2787bae](AztecProtocol/aztec-packages@2787bae)) * Store blockhash alongside blocks ([#3950](AztecProtocol/aztec-packages#3950)) ([12b07fa](AztecProtocol/aztec-packages@12b07fa)), closes [#3870](AztecProtocol/aztec-packages#3870) * Swap branch exclusion for release-please on report gates diff workflow ([#3994](AztecProtocol/aztec-packages#3994)) ([70b2ffd](AztecProtocol/aztec-packages@70b2ffd)) * Typos in authwit.md by czepluch ([#3921](AztecProtocol/aztec-packages#3921)) ([4b9d0f4](AztecProtocol/aztec-packages@4b9d0f4)) * Yellowpaper docusaurus start command ([#3969](AztecProtocol/aztec-packages#3969)) ([4977cbc](AztecProtocol/aztec-packages@4977cbc)) ### Miscellaneous * Add a link back to `aztec-packages` in noir sync PR ([#4018](AztecProtocol/aztec-packages#4018)) ([7d89f3b](AztecProtocol/aztec-packages@7d89f3b)) * Catch up note processors could be synced more efficiently ([#3933](AztecProtocol/aztec-packages#3933)) ([df54f33](AztecProtocol/aztec-packages@df54f33)) * **ci:** Require boxes CI to succeed ([#3983](AztecProtocol/aztec-packages#3983)) ([93cbea1](AztecProtocol/aztec-packages@93cbea1)) * Cleanup duplicated methods for structs after traits ([#3912](AztecProtocol/aztec-packages#3912)) ([60b59da](AztecProtocol/aztec-packages@60b59da)) * Cleanup sandbox dependent tests ([#3861](AztecProtocol/aztec-packages#3861)) ([158c5be](AztecProtocol/aztec-packages@158c5be)) * Codegen acir opcodes after renaming arithmetic to assertzero ([#3896](AztecProtocol/aztec-packages#3896)) ([c710ce1](AztecProtocol/aztec-packages@c710ce1)) * Define key type in maps ([#3841](AztecProtocol/aztec-packages#3841)) ([cf15adb](AztecProtocol/aztec-packages@cf15adb)) * Delete the compiler from `noir-compiler` ([#3959](AztecProtocol/aztec-packages#3959)) ([9aa0986](AztecProtocol/aztec-packages@9aa0986)) * Deploy canary release of bb.js to npm via CCI ([#3917](AztecProtocol/aztec-packages#3917)) ([bdeb10c](AztecProtocol/aztec-packages@bdeb10c)) * Do not fail jq dependencies check for package with no deps ([#3894](AztecProtocol/aztec-packages#3894)) ([22c65bf](AztecProtocol/aztec-packages@22c65bf)) * Do not pass redundant txNullifier when computing notes ([#3943](AztecProtocol/aztec-packages#3943)) ([9355cda](AztecProtocol/aztec-packages@9355cda)) * Do not run CCI on release-please branches ([#3984](AztecProtocol/aztec-packages#3984)) ([c38dbd2](AztecProtocol/aztec-packages@c38dbd2)) * **docs:** Fix ts code in token bridge tutorial ([#3888](AztecProtocol/aztec-packages#3888)) ([f53f8ed](AztecProtocol/aztec-packages@f53f8ed)) * **docs:** Move map keys to new release in migration guide ([#3977](AztecProtocol/aztec-packages#3977)) ([6356d94](AztecProtocol/aztec-packages@6356d94)) * **docs:** Update missing @aztec/accounts missing import in testing.md ([#3903](AztecProtocol/aztec-packages#3903)) ([755668a](AztecProtocol/aztec-packages@755668a)) * Document `witness_buf_to_witness_data` ([#3940](AztecProtocol/aztec-packages#3940)) ([fbaa726](AztecProtocol/aztec-packages@fbaa726)) * End to end test node & pxe persistence ([#3911](AztecProtocol/aztec-packages#3911)) ([6164ccd](AztecProtocol/aztec-packages@6164ccd)) * Enforce immutable yarn installs in CI ([#3964](AztecProtocol/aztec-packages#3964)) ([f3104ac](AztecProtocol/aztec-packages@f3104ac)) * Fix rust tests ([#3963](AztecProtocol/aztec-packages#3963)) ([a907c3b](AztecProtocol/aztec-packages@a907c3b)) * Fix sidebar index links ([#3942](AztecProtocol/aztec-packages#3942)) ([984f1f8](AztecProtocol/aztec-packages@984f1f8)) * Git subrepo commit (merge) noir ([#3955](AztecProtocol/aztec-packages#3955)) ([2c2bc69](AztecProtocol/aztec-packages@2c2bc69)) * Introduce EventSelector class ([#3960](AztecProtocol/aztec-packages#3960)) ([7315f2c](AztecProtocol/aztec-packages@7315f2c)) * Investigate P2P test ([#3929](AztecProtocol/aztec-packages#3929)) ([0fca2c4](AztecProtocol/aztec-packages@0fca2c4)) * Move types to circuit-types ([#3967](AztecProtocol/aztec-packages#3967)) ([f81b7c0](AztecProtocol/aztec-packages@f81b7c0)) * Persistence uses TokenContract ([#3930](AztecProtocol/aztec-packages#3930)) ([1a052c4](AztecProtocol/aztec-packages@1a052c4)) * Pull in noir from upstream ([#3904](AztecProtocol/aztec-packages#3904)) ([ab07e7e](AztecProtocol/aztec-packages@ab07e7e)) * Recreated types package without circuits.js dependency ([#3970](AztecProtocol/aztec-packages#3970)) ([fc1d539](AztecProtocol/aztec-packages@fc1d539)) * Refactor serialisation functions and sibling paths ([#3980](AztecProtocol/aztec-packages#3980)) ([1a936fc](AztecProtocol/aztec-packages@1a936fc)) * Remove 'extern template's, expand macros ([#3953](AztecProtocol/aztec-packages#3953)) ([5fe9908](AztecProtocol/aztec-packages@5fe9908)) * Remove `Directive::Quotient` ([#4019](AztecProtocol/aztec-packages#4019)) ([824d76f](AztecProtocol/aztec-packages@824d76f)) * Remove sandbox and cli npm pkgs ([#3567](AztecProtocol/aztec-packages#3567)) ([a8cf1bf](AztecProtocol/aztec-packages@a8cf1bf)) * Reorganize benchmarks ([#3909](AztecProtocol/aztec-packages#3909)) ([730766b](AztecProtocol/aztec-packages@730766b)) * Replace `AztecU128` with `U128` ([#3951](AztecProtocol/aztec-packages#3951)) ([e3b288d](AztecProtocol/aztec-packages@e3b288d)) * Replace relative paths to noir-protocol-circuits ([2c25f04](AztecProtocol/aztec-packages@2c25f04)) * Replace relative paths to noir-protocol-circuits ([0c8b770](AztecProtocol/aztec-packages@0c8b770)) * Replace relative paths to noir-protocol-circuits ([d3819ba](AztecProtocol/aztec-packages@d3819ba)) * Standardise toml parsers ([#3910](AztecProtocol/aztec-packages#3910)) ([963035f](AztecProtocol/aztec-packages@963035f)) * Sync noir ([#4025](AztecProtocol/aztec-packages#4025)) ([4e90d7b](AztecProtocol/aztec-packages@4e90d7b)) * Sync Noir repo ([#4020](AztecProtocol/aztec-packages#4020)) ([876603e](AztecProtocol/aztec-packages@876603e)) * **yellowpaper:** Cleanup avm sidebar, fix filename case ([#3952](AztecProtocol/aztec-packages#3952)) ([5211060](AztecProtocol/aztec-packages@5211060)) * Yp docs sidebar (with some auto-formatting) ([#3893](AztecProtocol/aztec-packages#3893)) ([f7b007a](AztecProtocol/aztec-packages@f7b007a)) ### Documentation * Noir git subrepo usage ([#3962](AztecProtocol/aztec-packages#3962)) ([2e4c9de](AztecProtocol/aztec-packages@2e4c9de)) * Streamlined pr template ([#3932](AztecProtocol/aztec-packages#3932)) ([5ec1559](AztecProtocol/aztec-packages@5ec1559)) * **yellowpaper:** Avm call pointers, bytecode lookups, circuit io ([#3898](AztecProtocol/aztec-packages#3898)) ([45e1ed2](AztecProtocol/aztec-packages@45e1ed2)) * **yellowpaper:** Avm circuit architecture ([#3934](AztecProtocol/aztec-packages#3934)) ([6aed1d0](AztecProtocol/aztec-packages@6aed1d0)) * **yellowpaper:** First draft of avm circuit memory ([#3865](AztecProtocol/aztec-packages#3865)) ([f689297](AztecProtocol/aztec-packages@f689297)) * **yellowpaper:** Logs ([#4016](AztecProtocol/aztec-packages#4016)) ([d734c79](AztecProtocol/aztec-packages@d734c79)) * **yellowpaper:** Update AVM spec for with "daGasLeft", some cleanup ([#3956](AztecProtocol/aztec-packages#3956)) ([a9537fb](AztecProtocol/aztec-packages@a9537fb)) </details> <details><summary>barretenberg.js: 0.18.0</summary> ## [0.18.0](AztecProtocol/aztec-packages@barretenberg.js-v0.17.0...barretenberg.js-v0.18.0) (2024-01-16) ### Features * Bootstrap cache v2 ([#3876](AztecProtocol/aztec-packages#3876)) ([331598d](AztecProtocol/aztec-packages@331598d)) ### Bug Fixes * Dont spam logs with yarn install ([#4027](AztecProtocol/aztec-packages#4027)) ([949c5ab](AztecProtocol/aztec-packages@949c5ab)) </details> <details><summary>barretenberg: 0.18.0</summary> ## [0.18.0](AztecProtocol/aztec-packages@barretenberg-v0.17.0...barretenberg-v0.18.0) (2024-01-16) ### ⚠ BREAKING CHANGES * Remove `Directive::Quotient` ([#4019](AztecProtocol/aztec-packages#4019)) * implement keccakf1600 in brillig ([#3914](AztecProtocol/aztec-packages#3914)) * add blake3 opcode to brillig ([#3913](AztecProtocol/aztec-packages#3913)) * Remove opcode supported from the backend ([#3889](AztecProtocol/aztec-packages#3889)) ### Features * Acir cleanup ([#3845](AztecProtocol/aztec-packages#3845)) ([390b84c](AztecProtocol/aztec-packages@390b84c)) * Add ACIR opcodes for ECADD and ECDOUBLE ([#3878](AztecProtocol/aztec-packages#3878)) ([537630f](AztecProtocol/aztec-packages@537630f)) * Add blake3 opcode to brillig ([#3913](AztecProtocol/aztec-packages#3913)) ([34fad0a](AztecProtocol/aztec-packages@34fad0a)) * Bench bb in pr's, docker shell utils ([#3561](AztecProtocol/aztec-packages#3561)) ([5408919](AztecProtocol/aztec-packages@5408919)) * Benchmark protogalaxy prover ([#3958](AztecProtocol/aztec-packages#3958)) ([5843722](AztecProtocol/aztec-packages@5843722)) * Benchmarks for basic functionality and IPA improvements ([#4004](AztecProtocol/aztec-packages#4004)) ([fd1f619](AztecProtocol/aztec-packages@fd1f619)) * Bootstrap cache v2 ([#3876](AztecProtocol/aztec-packages#3876)) ([331598d](AztecProtocol/aztec-packages@331598d)) * Implement keccakf1600 in brillig ([#3914](AztecProtocol/aztec-packages#3914)) ([a182381](AztecProtocol/aztec-packages@a182381)) * Parallel IPA ([#3882](AztecProtocol/aztec-packages#3882)) ([7002a33](AztecProtocol/aztec-packages@7002a33)) * Pil lookups w/ xor table example ([#3880](AztecProtocol/aztec-packages#3880)) ([544d24e](AztecProtocol/aztec-packages@544d24e)) * Poseidon2 stdlib impl ([#3551](AztecProtocol/aztec-packages#3551)) ([50b4a72](AztecProtocol/aztec-packages@50b4a72)) * Protogalaxy Decider and complete folding tests ([#3657](AztecProtocol/aztec-packages#3657)) ([cfdaf9c](AztecProtocol/aztec-packages@cfdaf9c)) * Relations vs widgets benchmarking ([#3931](AztecProtocol/aztec-packages#3931)) ([3af64ef](AztecProtocol/aztec-packages@3af64ef)) * Remove opcode supported from the backend ([#3889](AztecProtocol/aztec-packages#3889)) ([1fd135c](AztecProtocol/aztec-packages@1fd135c)) * Reorganize acir composer ([#3957](AztecProtocol/aztec-packages#3957)) ([e6232e8](AztecProtocol/aztec-packages@e6232e8)) * Standalone calldata test ([#3842](AztecProtocol/aztec-packages#3842)) ([7353a35](AztecProtocol/aztec-packages@7353a35)) ### Bug Fixes * Bb unnecessary env var ([#3901](AztecProtocol/aztec-packages#3901)) ([f127e5a](AztecProtocol/aztec-packages@f127e5a)) ### Miscellaneous * Codegen acir opcodes after renaming arithmetic to assertzero ([#3896](AztecProtocol/aztec-packages#3896)) ([c710ce1](AztecProtocol/aztec-packages@c710ce1)) * Document `witness_buf_to_witness_data` ([#3940](AztecProtocol/aztec-packages#3940)) ([fbaa726](AztecProtocol/aztec-packages@fbaa726)) * Remove 'extern template's, expand macros ([#3953](AztecProtocol/aztec-packages#3953)) ([5fe9908](AztecProtocol/aztec-packages@5fe9908)) * Remove `Directive::Quotient` ([#4019](AztecProtocol/aztec-packages#4019)) ([824d76f](AztecProtocol/aztec-packages@824d76f)) * Reorganize benchmarks ([#3909](AztecProtocol/aztec-packages#3909)) ([730766b](AztecProtocol/aztec-packages@730766b)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Add code to measure Plonk widget execution vs Honk relation execution. Outputs below. ## Summary of results Here are values of widget time/relation time: ``` Arithmetic 0.8342541436464088 GenPermSort 1.0814663951120163 Elliptic 0.8155940594059405 Auxiliary 0.7053435114503817 Plookup 0.7008310249307479 Permutation 1.192233009708738 ``` ## Benchmark outputs ``` % ./bin/relations_bench 17s ~/barretenberg-cpp/build cg/relation-check-bench + mainframe 2024-01-10T19:27:00+00:00 Running ./bin/relations_bench Run on (128 X 2649.99 MHz CPU s) CPU Caches: L1 Data 32 KiB (x64) L1 Instruction 32 KiB (x64) L2 Unified 512 KiB (x64) L3 Unified 32768 KiB (x8) Load Average: 12.24, 23.55, 50.13 -------------------------------------------------------------------------------------------------------------------------------------------- Benchmark Time CPU Iterations -------------------------------------------------------------------------------------------------------------------------------------------- execute_relation<honk::flavor::Ultra, UltraArithmeticRelation<Fr>> 543 ns 543 ns 1289230 execute_relation<honk::flavor::Ultra, GenPermSortRelation<Fr>> 491 ns 491 ns 1423778 execute_relation<honk::flavor::Ultra, EllipticRelation<Fr>> 808 ns 808 ns 866448 execute_relation<honk::flavor::Ultra, AuxiliaryRelation<Fr>> 1965 ns 1965 ns 357614 execute_relation<honk::flavor::Ultra, LookupRelation<Fr>> 722 ns 722 ns 969890 execute_relation<honk::flavor::Ultra, UltraPermutationRelation<Fr>> 515 ns 515 ns 1358778 ``` ``` % taskset -c 0 ./bin/widget_bench 1m 57s ~/barretenberg-cpp/build cg/relation-check-bench + mainframe 2024-01-10T19:15:11+00:00 Running ./bin/widget_bench Run on (128 X 2649.99 MHz CPU s) CPU Caches: L1 Data 32 KiB (x64) L1 Instruction 32 KiB (x64) L2 Unified 512 KiB (x64) L3 Unified 32768 KiB (x8) Load Average: 25.77, 74.54, 79.34 ---------------------------------------------------------------------------------------------------------------------------------------- Benchmark Time CPU Iterations ---------------------------------------------------------------------------------------------------------------------------------------- quotient_contribution<ProverPlookupArithmeticWidget<ultra_settings>>/iterations:1/manual_time 453 ns 186172 ns 1 quotient_contribution<ProverGenPermSortWidget<ultra_settings>>/iterations:1/manual_time 531 ns 165501 ns 1 quotient_contribution<ProverEllipticWidget<ultra_settings>>/iterations:1/manual_time 659 ns 174561 ns 1 quotient_contribution<ProverPlookupAuxiliaryWidget<ultra_settings>>/iterations:1/manual_time 1386 ns 206071 ns 1 quotient_contribution<ProverPlookupWidget<4>>/iterations:1/manual_time 506 ns 188280 ns 1 quotient_contribution<ProverPermutationWidget<4, true>>/iterations:1/manual_time 614 ns 167110 ns 1 ```
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.18.0</summary> ## [0.18.0](AztecProtocol/aztec-packages@aztec-packages-v0.17.0...aztec-packages-v0.18.0) (2024-01-16) ### ⚠ BREAKING CHANGES * Remove `Directive::Quotient` ([AztecProtocol#4019](AztecProtocol#4019)) * define key type in maps ([AztecProtocol#3841](AztecProtocol#3841)) * implement keccakf1600 in brillig ([AztecProtocol#3914](AztecProtocol#3914)) * add blake3 opcode to brillig ([AztecProtocol#3913](AztecProtocol#3913)) * Remove opcode supported from the backend ([AztecProtocol#3889](AztecProtocol#3889)) ### Features * `PartialStateReference` and `StateReference` structs ([AztecProtocol#3827](AztecProtocol#3827)) ([3ba0369](AztecProtocol@3ba0369)) * `StateDiffHints` ([AztecProtocol#3919](AztecProtocol#3919)) ([8774795](AztecProtocol@8774795)), closes [AztecProtocol#3916](AztecProtocol#3916) * Acir cleanup ([AztecProtocol#3845](AztecProtocol#3845)) ([390b84c](AztecProtocol@390b84c)) * Add ACIR opcodes for ECADD and ECDOUBLE ([AztecProtocol#3878](AztecProtocol#3878)) ([537630f](AztecProtocol@537630f)) * Add blake3 opcode to brillig ([AztecProtocol#3913](AztecProtocol#3913)) ([34fad0a](AztecProtocol@34fad0a)) * Add data availability oracle ([AztecProtocol#3897](AztecProtocol#3897)) ([5441753](AztecProtocol@5441753)), closes [AztecProtocol#3890](AztecProtocol#3890) * Add str support for args + add name/symbol/decimal to token ([AztecProtocol#3862](AztecProtocol#3862)) ([0bf5d8c](AztecProtocol@0bf5d8c)) * Bench bb in pr's, docker shell utils ([AztecProtocol#3561](AztecProtocol#3561)) ([5408919](AztecProtocol@5408919)) * Benchmark protogalaxy prover ([AztecProtocol#3958](AztecProtocol#3958)) ([5843722](AztecProtocol@5843722)) * Benchmarks for basic functionality and IPA improvements ([AztecProtocol#4004](AztecProtocol#4004)) ([fd1f619](AztecProtocol@fd1f619)) * Body hash as buffer in TS + minor cleanup ([AztecProtocol#4012](AztecProtocol#4012)) ([e28a6bf](AztecProtocol@e28a6bf)) * Bootstrap cache v2 ([AztecProtocol#3876](AztecProtocol#3876)) ([331598d](AztecProtocol@331598d)) * Counters in private functions ([AztecProtocol#3850](AztecProtocol#3850)) ([23bbf75](AztecProtocol@23bbf75)) * Generate json blocks for tests ([AztecProtocol#3923](AztecProtocol#3923)) ([a09fd2a](AztecProtocol@a09fd2a)) * Implement keccakf1600 in brillig ([AztecProtocol#3914](AztecProtocol#3914)) ([a182381](AztecProtocol@a182381)) * Parallel IPA ([AztecProtocol#3882](AztecProtocol#3882)) ([7002a33](AztecProtocol@7002a33)) * Pil lookups w/ xor table example ([AztecProtocol#3880](AztecProtocol#3880)) ([544d24e](AztecProtocol@544d24e)) * Poseidon2 stdlib impl ([AztecProtocol#3551](AztecProtocol#3551)) ([50b4a72](AztecProtocol@50b4a72)) * Protogalaxy Decider and complete folding tests ([AztecProtocol#3657](AztecProtocol#3657)) ([cfdaf9c](AztecProtocol@cfdaf9c)) * Reexport `protocol_types` from `aztec-nr` ([AztecProtocol#3926](AztecProtocol#3926)) ([9bd22f7](AztecProtocol@9bd22f7)) * Relations vs widgets benchmarking ([AztecProtocol#3931](AztecProtocol#3931)) ([3af64ef](AztecProtocol@3af64ef)) * Remove opcode supported from the backend ([AztecProtocol#3889](AztecProtocol#3889)) ([1fd135c](AztecProtocol@1fd135c)) * Reorganize acir composer ([AztecProtocol#3957](AztecProtocol#3957)) ([e6232e8](AztecProtocol@e6232e8)) * Replace bitwise ORs in `U256:from_bytes32` with addition ([AztecProtocol#3947](AztecProtocol#3947)) ([efd7660](AztecProtocol@efd7660)) * Standalone calldata test ([AztecProtocol#3842](AztecProtocol#3842)) ([7353a35](AztecProtocol@7353a35)) * Sync with main noir repo ([AztecProtocol#3939](AztecProtocol#3939)) ([69c7e99](AztecProtocol@69c7e99)) * Update noir ([AztecProtocol#3979](AztecProtocol#3979)) ([271de71](AztecProtocol@271de71)) * Verify state hash is correct before publishing to L1 ([AztecProtocol#3915](AztecProtocol#3915)) ([a53c261](AztecProtocol@a53c261)) ### Bug Fixes * **aztec-nr:** Broken nargo url ([AztecProtocol#3925](AztecProtocol#3925)) ([034bc30](AztecProtocol@034bc30)) * Back out the buggy branch condition ([AztecProtocol#3988](AztecProtocol#3988)) ([9f61ed1](AztecProtocol@9f61ed1)) * Bb unnecessary env var ([AztecProtocol#3901](AztecProtocol#3901)) ([f127e5a](AztecProtocol@f127e5a)) * Broken links by paterson1 ([AztecProtocol#3902](AztecProtocol#3902)) ([6783aaa](AztecProtocol@6783aaa)) * **cli:** Unbox command should run as release ([AztecProtocol#3974](AztecProtocol#3974)) ([80c3805](AztecProtocol@80c3805)) * **cli:** Unbox should set up the accounts package ([AztecProtocol#3972](AztecProtocol#3972)) ([065e988](AztecProtocol@065e988)) * Docusaurus start command ([AztecProtocol#3968](AztecProtocol#3968)) ([87c0b07](AztecProtocol@87c0b07)) * Dont spam logs with yarn install ([AztecProtocol#4027](AztecProtocol#4027)) ([949c5ab](AztecProtocol@949c5ab)) * Fix compilation of `token` box ([AztecProtocol#3981](AztecProtocol#3981)) ([0f994d0](AztecProtocol@0f994d0)) * Mirror_noir_subrepo.yml erroring ([AztecProtocol#3954](AztecProtocol#3954)) ([2ac1b9c](AztecProtocol@2ac1b9c)) * Quote the glob string for ignore branches for protocol-circuits-gate-diff ([AztecProtocol#3990](AztecProtocol#3990)) ([a43889d](AztecProtocol@a43889d)) * Reprocess notes in pxe when a new contract is added ([AztecProtocol#3867](AztecProtocol#3867)) ([ccbff99](AztecProtocol@ccbff99)) * Segment tree insertion stats by depth ([AztecProtocol#4029](AztecProtocol#4029)) ([2787bae](AztecProtocol@2787bae)) * Store blockhash alongside blocks ([AztecProtocol#3950](AztecProtocol#3950)) ([12b07fa](AztecProtocol@12b07fa)), closes [AztecProtocol#3870](AztecProtocol#3870) * Swap branch exclusion for release-please on report gates diff workflow ([AztecProtocol#3994](AztecProtocol#3994)) ([70b2ffd](AztecProtocol@70b2ffd)) * Typos in authwit.md by czepluch ([AztecProtocol#3921](AztecProtocol#3921)) ([4b9d0f4](AztecProtocol@4b9d0f4)) * Yellowpaper docusaurus start command ([AztecProtocol#3969](AztecProtocol#3969)) ([4977cbc](AztecProtocol@4977cbc)) ### Miscellaneous * Add a link back to `aztec-packages` in noir sync PR ([AztecProtocol#4018](AztecProtocol#4018)) ([7d89f3b](AztecProtocol@7d89f3b)) * Catch up note processors could be synced more efficiently ([AztecProtocol#3933](AztecProtocol#3933)) ([df54f33](AztecProtocol@df54f33)) * **ci:** Require boxes CI to succeed ([AztecProtocol#3983](AztecProtocol#3983)) ([93cbea1](AztecProtocol@93cbea1)) * Cleanup duplicated methods for structs after traits ([AztecProtocol#3912](AztecProtocol#3912)) ([60b59da](AztecProtocol@60b59da)) * Cleanup sandbox dependent tests ([AztecProtocol#3861](AztecProtocol#3861)) ([158c5be](AztecProtocol@158c5be)) * Codegen acir opcodes after renaming arithmetic to assertzero ([AztecProtocol#3896](AztecProtocol#3896)) ([c710ce1](AztecProtocol@c710ce1)) * Define key type in maps ([AztecProtocol#3841](AztecProtocol#3841)) ([cf15adb](AztecProtocol@cf15adb)) * Delete the compiler from `noir-compiler` ([AztecProtocol#3959](AztecProtocol#3959)) ([9aa0986](AztecProtocol@9aa0986)) * Deploy canary release of bb.js to npm via CCI ([AztecProtocol#3917](AztecProtocol#3917)) ([bdeb10c](AztecProtocol@bdeb10c)) * Do not fail jq dependencies check for package with no deps ([AztecProtocol#3894](AztecProtocol#3894)) ([22c65bf](AztecProtocol@22c65bf)) * Do not pass redundant txNullifier when computing notes ([AztecProtocol#3943](AztecProtocol#3943)) ([9355cda](AztecProtocol@9355cda)) * Do not run CCI on release-please branches ([AztecProtocol#3984](AztecProtocol#3984)) ([c38dbd2](AztecProtocol@c38dbd2)) * **docs:** Fix ts code in token bridge tutorial ([AztecProtocol#3888](AztecProtocol#3888)) ([f53f8ed](AztecProtocol@f53f8ed)) * **docs:** Move map keys to new release in migration guide ([AztecProtocol#3977](AztecProtocol#3977)) ([6356d94](AztecProtocol@6356d94)) * **docs:** Update missing @aztec/accounts missing import in testing.md ([AztecProtocol#3903](AztecProtocol#3903)) ([755668a](AztecProtocol@755668a)) * Document `witness_buf_to_witness_data` ([AztecProtocol#3940](AztecProtocol#3940)) ([fbaa726](AztecProtocol@fbaa726)) * End to end test node & pxe persistence ([AztecProtocol#3911](AztecProtocol#3911)) ([6164ccd](AztecProtocol@6164ccd)) * Enforce immutable yarn installs in CI ([AztecProtocol#3964](AztecProtocol#3964)) ([f3104ac](AztecProtocol@f3104ac)) * Fix rust tests ([AztecProtocol#3963](AztecProtocol#3963)) ([a907c3b](AztecProtocol@a907c3b)) * Fix sidebar index links ([AztecProtocol#3942](AztecProtocol#3942)) ([984f1f8](AztecProtocol@984f1f8)) * Git subrepo commit (merge) noir ([AztecProtocol#3955](AztecProtocol#3955)) ([2c2bc69](AztecProtocol@2c2bc69)) * Introduce EventSelector class ([AztecProtocol#3960](AztecProtocol#3960)) ([7315f2c](AztecProtocol@7315f2c)) * Investigate P2P test ([AztecProtocol#3929](AztecProtocol#3929)) ([0fca2c4](AztecProtocol@0fca2c4)) * Move types to circuit-types ([AztecProtocol#3967](AztecProtocol#3967)) ([f81b7c0](AztecProtocol@f81b7c0)) * Persistence uses TokenContract ([AztecProtocol#3930](AztecProtocol#3930)) ([1a052c4](AztecProtocol@1a052c4)) * Pull in noir from upstream ([AztecProtocol#3904](AztecProtocol#3904)) ([ab07e7e](AztecProtocol@ab07e7e)) * Recreated types package without circuits.js dependency ([AztecProtocol#3970](AztecProtocol#3970)) ([fc1d539](AztecProtocol@fc1d539)) * Refactor serialisation functions and sibling paths ([AztecProtocol#3980](AztecProtocol#3980)) ([1a936fc](AztecProtocol@1a936fc)) * Remove 'extern template's, expand macros ([AztecProtocol#3953](AztecProtocol#3953)) ([5fe9908](AztecProtocol@5fe9908)) * Remove `Directive::Quotient` ([AztecProtocol#4019](AztecProtocol#4019)) ([824d76f](AztecProtocol@824d76f)) * Remove sandbox and cli npm pkgs ([AztecProtocol#3567](AztecProtocol#3567)) ([a8cf1bf](AztecProtocol@a8cf1bf)) * Reorganize benchmarks ([AztecProtocol#3909](AztecProtocol#3909)) ([730766b](AztecProtocol@730766b)) * Replace `AztecU128` with `U128` ([AztecProtocol#3951](AztecProtocol#3951)) ([e3b288d](AztecProtocol@e3b288d)) * Replace relative paths to noir-protocol-circuits ([2c25f04](AztecProtocol@2c25f04)) * Replace relative paths to noir-protocol-circuits ([0c8b770](AztecProtocol@0c8b770)) * Replace relative paths to noir-protocol-circuits ([d3819ba](AztecProtocol@d3819ba)) * Standardise toml parsers ([AztecProtocol#3910](AztecProtocol#3910)) ([963035f](AztecProtocol@963035f)) * Sync noir ([AztecProtocol#4025](AztecProtocol#4025)) ([4e90d7b](AztecProtocol@4e90d7b)) * Sync Noir repo ([AztecProtocol#4020](AztecProtocol#4020)) ([876603e](AztecProtocol@876603e)) * **yellowpaper:** Cleanup avm sidebar, fix filename case ([AztecProtocol#3952](AztecProtocol#3952)) ([5211060](AztecProtocol@5211060)) * Yp docs sidebar (with some auto-formatting) ([AztecProtocol#3893](AztecProtocol#3893)) ([f7b007a](AztecProtocol@f7b007a)) ### Documentation * Noir git subrepo usage ([AztecProtocol#3962](AztecProtocol#3962)) ([2e4c9de](AztecProtocol@2e4c9de)) * Streamlined pr template ([AztecProtocol#3932](AztecProtocol#3932)) ([5ec1559](AztecProtocol@5ec1559)) * **yellowpaper:** Avm call pointers, bytecode lookups, circuit io ([AztecProtocol#3898](AztecProtocol#3898)) ([45e1ed2](AztecProtocol@45e1ed2)) * **yellowpaper:** Avm circuit architecture ([AztecProtocol#3934](AztecProtocol#3934)) ([6aed1d0](AztecProtocol@6aed1d0)) * **yellowpaper:** First draft of avm circuit memory ([AztecProtocol#3865](AztecProtocol#3865)) ([f689297](AztecProtocol@f689297)) * **yellowpaper:** Logs ([AztecProtocol#4016](AztecProtocol#4016)) ([d734c79](AztecProtocol@d734c79)) * **yellowpaper:** Update AVM spec for with "daGasLeft", some cleanup ([AztecProtocol#3956](AztecProtocol#3956)) ([a9537fb](AztecProtocol@a9537fb)) </details> <details><summary>barretenberg.js: 0.18.0</summary> ## [0.18.0](AztecProtocol/aztec-packages@barretenberg.js-v0.17.0...barretenberg.js-v0.18.0) (2024-01-16) ### Features * Bootstrap cache v2 ([AztecProtocol#3876](AztecProtocol#3876)) ([331598d](AztecProtocol@331598d)) ### Bug Fixes * Dont spam logs with yarn install ([AztecProtocol#4027](AztecProtocol#4027)) ([949c5ab](AztecProtocol@949c5ab)) </details> <details><summary>barretenberg: 0.18.0</summary> ## [0.18.0](AztecProtocol/aztec-packages@barretenberg-v0.17.0...barretenberg-v0.18.0) (2024-01-16) ### ⚠ BREAKING CHANGES * Remove `Directive::Quotient` ([AztecProtocol#4019](AztecProtocol#4019)) * implement keccakf1600 in brillig ([AztecProtocol#3914](AztecProtocol#3914)) * add blake3 opcode to brillig ([AztecProtocol#3913](AztecProtocol#3913)) * Remove opcode supported from the backend ([AztecProtocol#3889](AztecProtocol#3889)) ### Features * Acir cleanup ([AztecProtocol#3845](AztecProtocol#3845)) ([390b84c](AztecProtocol@390b84c)) * Add ACIR opcodes for ECADD and ECDOUBLE ([AztecProtocol#3878](AztecProtocol#3878)) ([537630f](AztecProtocol@537630f)) * Add blake3 opcode to brillig ([AztecProtocol#3913](AztecProtocol#3913)) ([34fad0a](AztecProtocol@34fad0a)) * Bench bb in pr's, docker shell utils ([AztecProtocol#3561](AztecProtocol#3561)) ([5408919](AztecProtocol@5408919)) * Benchmark protogalaxy prover ([AztecProtocol#3958](AztecProtocol#3958)) ([5843722](AztecProtocol@5843722)) * Benchmarks for basic functionality and IPA improvements ([AztecProtocol#4004](AztecProtocol#4004)) ([fd1f619](AztecProtocol@fd1f619)) * Bootstrap cache v2 ([AztecProtocol#3876](AztecProtocol#3876)) ([331598d](AztecProtocol@331598d)) * Implement keccakf1600 in brillig ([AztecProtocol#3914](AztecProtocol#3914)) ([a182381](AztecProtocol@a182381)) * Parallel IPA ([AztecProtocol#3882](AztecProtocol#3882)) ([7002a33](AztecProtocol@7002a33)) * Pil lookups w/ xor table example ([AztecProtocol#3880](AztecProtocol#3880)) ([544d24e](AztecProtocol@544d24e)) * Poseidon2 stdlib impl ([AztecProtocol#3551](AztecProtocol#3551)) ([50b4a72](AztecProtocol@50b4a72)) * Protogalaxy Decider and complete folding tests ([AztecProtocol#3657](AztecProtocol#3657)) ([cfdaf9c](AztecProtocol@cfdaf9c)) * Relations vs widgets benchmarking ([AztecProtocol#3931](AztecProtocol#3931)) ([3af64ef](AztecProtocol@3af64ef)) * Remove opcode supported from the backend ([AztecProtocol#3889](AztecProtocol#3889)) ([1fd135c](AztecProtocol@1fd135c)) * Reorganize acir composer ([AztecProtocol#3957](AztecProtocol#3957)) ([e6232e8](AztecProtocol@e6232e8)) * Standalone calldata test ([AztecProtocol#3842](AztecProtocol#3842)) ([7353a35](AztecProtocol@7353a35)) ### Bug Fixes * Bb unnecessary env var ([AztecProtocol#3901](AztecProtocol#3901)) ([f127e5a](AztecProtocol@f127e5a)) ### Miscellaneous * Codegen acir opcodes after renaming arithmetic to assertzero ([AztecProtocol#3896](AztecProtocol#3896)) ([c710ce1](AztecProtocol@c710ce1)) * Document `witness_buf_to_witness_data` ([AztecProtocol#3940](AztecProtocol#3940)) ([fbaa726](AztecProtocol@fbaa726)) * Remove 'extern template's, expand macros ([AztecProtocol#3953](AztecProtocol#3953)) ([5fe9908](AztecProtocol@5fe9908)) * Remove `Directive::Quotient` ([AztecProtocol#4019](AztecProtocol#4019)) ([824d76f](AztecProtocol@824d76f)) * Reorganize benchmarks ([AztecProtocol#3909](AztecProtocol#3909)) ([730766b](AztecProtocol@730766b)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Add code to measure Plonk widget execution vs Honk relation execution. Outputs below.
Summary of results
Here are values of widget time/relation time:
Benchmark outputs