Conversation
…ment() (AztecProtocol/aztec-packages#6523) AztecProtocol/aztec-packages#6405 added a very complicated call (`get_npk_m_hash`) to `destroy_note`, not realizing that `destroy_note` is called in a loop by `decrement`. The loop unrolling caused multiple calls to this function, even though they all had the same arguments, ultimately resulting in humongous RAM usage during compilation (over 40GB just for this contract) and very compilation times (from 30s to multiple minutes). This PR fixes this simply inlining the code for `destroy_note` and fetching the key once at the beginning. It does worry me slightly however that such a large performance hit was not noticed - this likely affected test times as well.
Savio-Sou
previously requested changes
May 17, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated pull of Noir development from aztec-packages.
BEGIN_COMMIT_OVERRIDE
feat!: add is_infinite to curve addition opcode (AztecProtocol/aztec-packages#6384)
feat: Sync from noir (AztecProtocol/aztec-packages#6500)
chore!: remove backend interactions from
nargo(AztecProtocol/aztec-packages#6320)fix: removed plain from path in array args of contract interfaces (AztecProtocol/aztec-packages#6497)
chore: bump maximum nullifier read requests (necessary for e2e tests in AVM) (AztecProtocol/aztec-packages#6495)
Revert "chore: bump maximum nullifier read requests (necessary for e2e tests in AVM)" (AztecProtocol/aztec-packages#6483)
chore: bump maximum nullifier read requests (necessary for e2e tests in AVM) (AztecProtocol/aztec-packages#6462)
fix: Check for public args in aztec functions (AztecProtocol/aztec-packages#6355)
feat: Move abi demonomorphizer to noir_codegen and use noir_codegen in protocol types (AztecProtocol/aztec-packages#6302)
feat!: switch
bbover to read ACIR from nargo artifacts (AztecProtocol/aztec-packages#6283)feat: ToRadix BB + avm transpiler support (AztecProtocol/aztec-packages#6330)
feat: Sync from noir (AztecProtocol/aztec-packages#6332)
fix: temporarily revert to_radix blackbox (AztecProtocol/aztec-packages#6304)
feat: move to_radix to a blackbox (AztecProtocol/aztec-packages#6294)
chore: skip formatting informattable comments (AztecProtocol/aztec-packages#6288)
chore(dsl): Update backend gateCount command to query a Program in a single request (AztecProtocol/aztec-packages#6228)
feat: Private Kernel Recursion (AztecProtocol/aztec-packages#6278)
feat: Proper padding in ts AES and constrained AES in body and header computations (AztecProtocol/aztec-packages#6269)
chore: simplify nargo CLI to read from artifacts (AztecProtocol/aztec-packages#6279)
feat: Sync from noir (AztecProtocol/aztec-packages#6280)
chore: enforce formatting of noir code (AztecProtocol/aztec-packages#6271)
feat!: specify databus arrays for BB (AztecProtocol/aztec-packages#6239)
END_COMMIT_OVERRIDE