Skip to content
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: Sync from noir #11138

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open

feat: Sync from noir #11138

wants to merge 10 commits into from

Conversation

AztecBot
Copy link
Collaborator

@AztecBot AztecBot commented Jan 9, 2025

Automated pull of development from the noir programming language, a dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
fix: require generic trait impls to be in scope to call them (noir-lang/noir#6913)
feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901)
feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003)
chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999)
feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008)
chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007)
chore: Only resolved globals monomorphization (noir-lang/noir#7006)
chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004)
chore: require safety doc comment for unsafe instead of //@safety (noir-lang/noir#6992)
fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972)
chore: mark casts as able to be deduplicated (noir-lang/noir#6996)
fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989)
chore(ci): fail properly in external-repo-checks (noir-lang/noir#6988)
fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987)
chore: Use DFG in SSA printer (noir-lang/noir#6986)
chore!: Reserve enum and match keywords (noir-lang/noir#6961)
END_COMMIT_OVERRIDE

AztecBot and others added 3 commits January 9, 2025 21:26
…eir trait in scope (noir-lang/noir#6901)

feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003)
chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999)
feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008)
chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007)
chore: Only resolved globals monomorphization (noir-lang/noir#7006)
chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004)
chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992)
fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972)
chore: mark casts as able to be deduplicated (noir-lang/noir#6996)
fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989)
chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988)
fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987)
chore: Use DFG in SSA printer (noir-lang/noir#6986)
chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
* master: (287 commits)
  feat: Sync from noir (#11051)
  chore(docs): Update tx concepts page (#10947)
  chore(docs): Edit Aztec.nr Guide section (#10866)
  chore: test:e2e defaults to no-docker (#10966)
  chore(avm): improve column stats (#11135)
  chore: Sanity checking of proving job IDs (#11134)
  feat: permutation argument optimizations  (#10960)
  feat: single tx block root rollup (#11096)
  refactor: prover db config (#11126)
  feat: monitor event loop lag (#11127)
  chore: Greater stability at 1TPS (#10981)
  chore: Jest reporters for CI (#11125)
  fix: Sequencer times out L1 tx at end of L2 slot (#11112)
  feat: browser chunking (#11102)
  fix: Added start/stop guards to running promise and serial queue (#11120)
  fix: Don't retransmit txs upon node restart (#11123)
  fix: Prover node aborts execution at epoch end (#11111)
  feat: blob sink in sandbox without extra process (#11032)
  chore: log number of instructions executed for call in AVM. Misc fix. (#11110)
  git subrepo push --branch=master noir-projects/aztec-nr
  ...
@TomAFrench TomAFrench enabled auto-merge (squash) January 9, 2025 21:32
Copy link
Contributor

Changes to public function bytecode sizes

Generated at commit: 6f07525f7be5032a6f9784a05851eaade848e126, compared to commit: 099c17b0c83ef5c0b4368ce2167d3d5422fa0c6e

🧾 Summary (100% most significant diffs)

Program Bytecode size in bytes (+/-) %
Token::public_dispatch +2,536 ❌ +8.41%
TokenBlacklist::public_dispatch +1,584 ❌ +7.10%
NFT::public_dispatch +1,030 ❌ +4.52%
Uniswap::public_dispatch +256 ❌ +1.07%
AvmTest::public_dispatch -2 ✅ -0.00%
AvmTest::bulk_testing -2 ✅ -0.01%
Auth::public_dispatch -77 ✅ -0.81%

Full diff report 👇
Program Bytecode size in bytes (+/-) %
Token::public_dispatch 32,679 (+2,536) +8.41%
TokenBlacklist::public_dispatch 23,898 (+1,584) +7.10%
NFT::public_dispatch 23,825 (+1,030) +4.52%
Uniswap::public_dispatch 24,278 (+256) +1.07%
AvmTest::public_dispatch 63,566 (-2) -0.00%
AvmTest::bulk_testing 23,804 (-2) -0.01%
Auth::public_dispatch 9,384 (-77) -0.81%

Copy link
Contributor

Changes to circuit sizes

Generated at commit: 6f07525f7be5032a6f9784a05851eaade848e126, compared to commit: 099c17b0c83ef5c0b4368ce2167d3d5422fa0c6e

🧾 Summary (100% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
rollup_root -90 ✅ -0.29% -96 ✅ -0.00%
rollup_block_merge -90 ✅ -0.29% -96 ✅ -0.00%
rollup_block_root_empty -126 ✅ -6.13% -255 ✅ -0.03%
private_kernel_tail -110 ✅ -2.21% -74 ✅ -0.27%
private_kernel_tail_to_public -171 ✅ -1.20% -115 ✅ -0.28%
rollup_base_private -16,970 ✅ -10.39% -27,035 ✅ -1.51%
private_kernel_reset_0_0_0_64_0_0_0_0_0 -2,560 ✅ -8.32% -5,120 ✅ -1.87%
rollup_base_public -30,097 ✅ -7.45% -60,962 ✅ -1.87%
private_kernel_reset_0_64_0_0_0_0_0_0_0 -2,688 ✅ -9.14% -5,120 ✅ -1.95%
private_kernel_reset -11,062 ✅ -11.71% -13,732 ✅ -2.12%
private_kernel_reset_32_16_32_16_4_4_64_64_4 -5,614 ✅ -11.83% -5,044 ✅ -2.31%
private_kernel_reset_32_4_32_16_4_4_64_64_4 -5,110 ✅ -11.65% -4,084 ✅ -2.33%
private_kernel_reset_32_16_32_4_4_4_64_64_4 -5,134 ✅ -11.77% -4,084 ✅ -2.35%
private_kernel_reset_32_16_32_16_4_4_64_4_4 -5,614 ✅ -12.32% -5,044 ✅ -2.38%
private_kernel_reset_32_32_32_32_32_32_32_32_32 -8,438 ✅ -13.19% -8,612 ✅ -2.39%
private_kernel_reset_32_4_32_4_4_4_64_64_4 -4,630 ✅ -11.57% -3,124 ✅ -2.39%
private_kernel_reset_32_4_32_16_4_4_64_4_4 -5,110 ✅ -12.17% -4,084 ✅ -2.42%
private_kernel_reset_32_16_32_4_4_4_64_4_4 -5,134 ✅ -12.29% -4,084 ✅ -2.45%
private_kernel_reset_32_16_32_16_4_4_4_64_4 -5,614 ✅ -12.48% -5,044 ✅ -2.49%
private_kernel_reset_32_4_32_4_4_4_64_4_4 -4,630 ✅ -12.13% -3,124 ✅ -2.52%
private_kernel_reset_16_16_16_16_16_16_16_16_16 -6,262 ✅ -13.43% -5,476 ✅ -2.55%
private_kernel_reset_32_4_32_16_4_4_4_64_4 -5,110 ✅ -12.34% -4,084 ✅ -2.56%
private_kernel_reset_32_16_32_16_4_4_4_4_4 -5,614 ✅ -13.02% -5,044 ✅ -2.58%
private_kernel_reset_32_16_32_4_4_4_4_64_4 -5,134 ✅ -12.47% -4,084 ✅ -2.60%
private_kernel_reset_32_4_32_16_4_4_4_4_4 -5,110 ✅ -12.92% -4,084 ✅ -2.67%
private_kernel_reset_32_16_32_16_4_4_64_64_32 -7,126 ✅ -13.84% -6,052 ✅ -2.70%
private_kernel_reset_32_16_32_4_4_4_4_4_4 -5,134 ✅ -13.06% -4,084 ✅ -2.71%
private_kernel_reset_32_4_32_4_4_4_4_64_4 -4,630 ✅ -12.32% -3,124 ✅ -2.73%
private_kernel_reset_32_16_32_16_4_4_64_4_32 -7,126 ✅ -14.36% -6,052 ✅ -2.78%
private_kernel_reset_32_4_32_16_4_4_64_64_32 -6,622 ✅ -13.83% -5,092 ✅ -2.81%
private_kernel_reset_32_16_32_4_4_4_64_64_32 -6,646 ✅ -13.94% -5,092 ✅ -2.84%
private_kernel_reset_32_4_32_4_4_4_4_4_4 -4,630 ✅ -12.96% -3,124 ✅ -2.89%
private_kernel_reset_32_16_32_16_4_4_4_64_32 -7,126 ✅ -14.54% -6,052 ✅ -2.91%
private_kernel_reset_32_4_32_16_4_4_64_4_32 -6,622 ✅ -14.38% -5,092 ✅ -2.91%
private_kernel_reset_32_16_32_4_4_4_64_4_32 -6,646 ✅ -14.51% -5,092 ✅ -2.95%
private_kernel_reset_4_4_4_4_4_4_4_4_4 -4,630 ✅ -13.76% -3,124 ✅ -2.97%
private_kernel_reset_32_16_32_16_4_4_4_4_32 -7,126 ✅ -15.11% -6,052 ✅ -3.00%
private_kernel_reset_32_4_32_4_4_4_64_64_32 -6,142 ✅ -13.94% -4,132 ✅ -3.03%
private_kernel_reset_32_4_32_16_4_4_4_64_32 -6,622 ✅ -14.57% -5,092 ✅ -3.08%
rollup_block_root -98,347 ✅ -16.84% -131,214 ✅ -3.12%
private_kernel_reset_32_16_32_4_4_4_4_64_32 -6,646 ✅ -14.70% -5,092 ✅ -3.12%
private_kernel_reset_32_4_32_4_4_4_64_4_32 -6,142 ✅ -14.55% -4,132 ✅ -3.18%
private_kernel_reset_32_4_32_16_4_4_4_4_32 -6,622 ✅ -15.19% -5,092 ✅ -3.21%
private_kernel_reset_32_16_32_4_4_4_4_4_32 -6,646 ✅ -15.33% -5,092 ✅ -3.25%
private_kernel_reset_32_4_32_4_4_4_4_64_32 -6,142 ✅ -14.76% -4,132 ✅ -3.43%
private_kernel_reset_0_0_0_0_0_64_0_0_0 -4,032 ✅ -13.99% -2,304 ✅ -3.59%
private_kernel_reset_32_4_32_4_4_4_4_4_32 -6,142 ✅ -15.45% -4,132 ✅ -3.63%
rollup_block_root_single_tx -98,347 ✅ -16.88% -131,215 ✅ -4.01%
private_kernel_inner -6,397 ✅ -16.59% -3,502 ✅ -4.33%
private_kernel_init -4,068 ✅ -17.98% -2,343 ✅ -5.52%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
rollup_root 31,260 (-90) -0.29% 14,594,062 (-96) -0.00%
rollup_block_merge 31,276 (-90) -0.29% 1,955,063 (-96) -0.00%
rollup_block_root_empty 1,928 (-126) -6.13% 880,220 (-255) -0.03%
private_kernel_tail 4,863 (-110) -2.21% 27,036 (-74) -0.27%
private_kernel_tail_to_public 14,051 (-171) -1.20% 40,254 (-115) -0.28%
rollup_base_private 146,420 (-16,970) -10.39% 1,764,027 (-27,035) -1.51%
private_kernel_reset_0_0_0_64_0_0_0_0_0 28,207 (-2,560) -8.32% 268,772 (-5,120) -1.87%
rollup_base_public 373,666 (-30,097) -7.45% 3,199,719 (-60,962) -1.87%
private_kernel_reset_0_64_0_0_0_0_0_0_0 26,733 (-2,688) -9.14% 257,026 (-5,120) -1.95%
private_kernel_reset 83,385 (-11,062) -11.71% 633,872 (-13,732) -2.12%
private_kernel_reset_32_16_32_16_4_4_64_64_4 41,829 (-5,614) -11.83% 213,332 (-5,044) -2.31%
private_kernel_reset_32_4_32_16_4_4_64_64_4 38,745 (-5,110) -11.65% 171,506 (-4,084) -2.33%
private_kernel_reset_32_16_32_4_4_4_64_64_4 38,485 (-5,134) -11.77% 169,344 (-4,084) -2.35%
private_kernel_reset_32_16_32_16_4_4_64_4_4 39,972 (-5,614) -12.32% 206,766 (-5,044) -2.38%
private_kernel_reset_32_32_32_32_32_32_32_32_32 55,558 (-8,438) -13.19% 351,973 (-8,612) -2.39%
private_kernel_reset_32_4_32_4_4_4_64_64_4 35,401 (-4,630) -11.57% 127,518 (-3,124) -2.39%
private_kernel_reset_32_4_32_16_4_4_64_4_4 36,888 (-5,110) -12.17% 164,940 (-4,084) -2.42%
private_kernel_reset_32_16_32_4_4_4_64_4_4 36,628 (-5,134) -12.29% 162,778 (-4,084) -2.45%
private_kernel_reset_32_16_32_16_4_4_4_64_4 39,371 (-5,614) -12.48% 197,223 (-5,044) -2.49%
private_kernel_reset_32_4_32_4_4_4_64_4_4 33,544 (-4,630) -12.13% 120,952 (-3,124) -2.52%
private_kernel_reset_16_16_16_16_16_16_16_16_16 40,353 (-6,262) -13.43% 209,101 (-5,476) -2.55%
private_kernel_reset_32_4_32_16_4_4_4_64_4 36,287 (-5,110) -12.34% 155,397 (-4,084) -2.56%
private_kernel_reset_32_16_32_16_4_4_4_4_4 37,514 (-5,614) -13.02% 190,657 (-5,044) -2.58%
private_kernel_reset_32_16_32_4_4_4_4_64_4 36,027 (-5,134) -12.47% 153,235 (-4,084) -2.60%
private_kernel_reset_32_4_32_16_4_4_4_4_4 34,430 (-5,110) -12.92% 148,831 (-4,084) -2.67%
private_kernel_reset_32_16_32_16_4_4_64_64_32 44,358 (-7,126) -13.84% 218,137 (-6,052) -2.70%
private_kernel_reset_32_16_32_4_4_4_4_4_4 34,170 (-5,134) -13.06% 146,669 (-4,084) -2.71%
private_kernel_reset_32_4_32_4_4_4_4_64_4 32,943 (-4,630) -12.32% 111,409 (-3,124) -2.73%
private_kernel_reset_32_16_32_16_4_4_64_4_32 42,501 (-7,126) -14.36% 211,572 (-6,052) -2.78%
private_kernel_reset_32_4_32_16_4_4_64_64_32 41,274 (-6,622) -13.83% 176,311 (-5,092) -2.81%
private_kernel_reset_32_16_32_4_4_4_64_64_32 41,014 (-6,646) -13.94% 174,149 (-5,092) -2.84%
private_kernel_reset_32_4_32_4_4_4_4_4_4 31,086 (-4,630) -12.96% 104,843 (-3,124) -2.89%
private_kernel_reset_32_16_32_16_4_4_4_64_32 41,900 (-7,126) -14.54% 202,029 (-6,052) -2.91%
private_kernel_reset_32_4_32_16_4_4_64_4_32 39,417 (-6,622) -14.38% 169,746 (-5,092) -2.91%
private_kernel_reset_32_16_32_4_4_4_64_4_32 39,157 (-6,646) -14.51% 167,584 (-5,092) -2.95%
private_kernel_reset_4_4_4_4_4_4_4_4_4 29,014 (-4,630) -13.76% 102,169 (-3,124) -2.97%
private_kernel_reset_32_16_32_16_4_4_4_4_32 40,043 (-7,126) -15.11% 195,463 (-6,052) -3.00%
private_kernel_reset_32_4_32_4_4_4_64_64_32 37,930 (-6,142) -13.94% 132,323 (-4,132) -3.03%
private_kernel_reset_32_4_32_16_4_4_4_64_32 38,816 (-6,622) -14.57% 160,203 (-5,092) -3.08%
rollup_block_root 485,620 (-98,347) -16.84% 4,074,103 (-131,214) -3.12%
private_kernel_reset_32_16_32_4_4_4_4_64_32 38,556 (-6,646) -14.70% 158,041 (-5,092) -3.12%
private_kernel_reset_32_4_32_4_4_4_64_4_32 36,073 (-6,142) -14.55% 125,758 (-4,132) -3.18%
private_kernel_reset_32_4_32_16_4_4_4_4_32 36,959 (-6,622) -15.19% 153,637 (-5,092) -3.21%
private_kernel_reset_32_16_32_4_4_4_4_4_32 36,699 (-6,646) -15.33% 151,475 (-5,092) -3.25%
private_kernel_reset_32_4_32_4_4_4_4_64_32 35,472 (-6,142) -14.76% 116,215 (-4,132) -3.43%
private_kernel_reset_0_0_0_0_0_64_0_0_0 24,779 (-4,032) -13.99% 61,840 (-2,304) -3.59%
private_kernel_reset_32_4_32_4_4_4_4_4_32 33,615 (-6,142) -15.45% 109,649 (-4,132) -3.63%
rollup_block_root_single_tx 484,120 (-98,347) -16.88% 3,144,045 (-131,215) -4.01%
private_kernel_inner 32,167 (-6,397) -16.59% 77,367 (-3,502) -4.33%
private_kernel_init 18,554 (-4,068) -17.98% 40,066 (-2,343) -5.52%

…hem (noir-lang/noir#6913)

feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901)
feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003)
chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999)
feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008)
chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007)
chore: Only resolved globals monomorphization (noir-lang/noir#7006)
chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004)
chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992)
fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972)
chore: mark casts as able to be deduplicated (noir-lang/noir#6996)
fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989)
chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988)
fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987)
chore: Use DFG in SSA printer (noir-lang/noir#6986)
chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
…ng/noir#6913)

feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901)
feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003)
chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999)
feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008)
chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007)
chore: Only resolved globals monomorphization (noir-lang/noir#7006)
chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004)
chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992)
fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972)
chore: mark casts as able to be deduplicated (noir-lang/noir#6996)
fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989)
chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988)
fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987)
chore: Use DFG in SSA printer (noir-lang/noir#6986)
chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants