Skip to content

chore: use human-readable bytecode in snapshots#8164

Merged
TomAFrench merged 4 commits intomasterfrom
tf/human-readable-snapshots
May 12, 2025
Merged

chore: use human-readable bytecode in snapshots#8164
TomAFrench merged 4 commits intomasterfrom
tf/human-readable-snapshots

Conversation

@TomAFrench
Copy link
Member

Description

Problem*

Comes from discussion with @michaeljklein

Summary*

This PR replaces the bytecode field in the snapshots with a human readable display of the ACIR program to make it easier to parse changes to the snapshot.

Additional Context

Documentation*

Check one:

  • No documentation needed.
  • Documentation included in this PR.
  • [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

@TomAFrench TomAFrench marked this pull request as ready for review May 9, 2025 13:26
@TomAFrench TomAFrench requested a review from a team May 9, 2025 13:27
@TomAFrench TomAFrench enabled auto-merge May 9, 2025 13:42
@TomAFrench
Copy link
Member Author

@noir-lang/core Can I get a review on this as it's going to otherwise constantly pick up conflicts.

Copy link
Contributor

@vezenovm vezenovm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PRs with minor actual additions/deletions can now have massive diffs (e.g. #8355 and #8328) due to snapshots. This looks like it is going to blow-up the diff from snapshots potentially quite dramatically?

Could we consider a strategy that avoids having to manually commit snapshots on each PR before moving forward with this change? In general I find the current snapshot flow a bit cumbersome (e.g. the common conflicts on PRs that alter a lot of snapshots) and we could reduce some friction here while reducing the diff sizes.

Copy link
Contributor

@vezenovm vezenovm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussed offline, even with a different snapshot workflow we will still want this format. We can work on updating the snapshot workflow separately.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Execution Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: faee2b8 Previous: 6accfc6 Ratio
rollup-merge 0.004 s 0.003 s 1.33

This comment was automatically generated by workflow using github-action-benchmark.

CC: @TomAFrench

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Compilation Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: faee2b8 Previous: 6accfc6 Ratio
private-kernel-reset 7.548 s 6.254 s 1.21

This comment was automatically generated by workflow using github-action-benchmark.

CC: @TomAFrench

@TomAFrench TomAFrench added this pull request to the merge queue May 12, 2025
Merged via the queue into master with commit f8c6943 May 12, 2025
117 checks passed
@TomAFrench TomAFrench deleted the tf/human-readable-snapshots branch May 12, 2025 11:11
github-merge-queue bot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request May 13, 2025
Automated pull of nightly from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
fix: sign extend in signed cast
(noir-lang/noir#8264)
chore(fuzz): Do not use zero length types in the main input output
(noir-lang/noir#8465)
chore: fix visibility issues in test suite
(noir-lang/noir#8454)
chore: blackbox functions for ssa intepreter
(noir-lang/noir#8375)
feat: improve bitshift codegen
(noir-lang/noir#8442)
fix(ssa): Mark mutually recursive simple functions
(noir-lang/noir#8447)
fix: Fix nested trait dispatch with associated types
(noir-lang/noir#8440)
chore: carry visibilities in monomorphized AST
(noir-lang/noir#8439)
chore(tests): Add regression for now passing test
(noir-lang/noir#8441)
chore: use human-readable bytecode in snapshots
(noir-lang/noir#8164)
chore: bump external pinned commits
(noir-lang/noir#8445)
END_COMMIT_OVERRIDE

---------

Co-authored-by: AztecBot <tech@aztecprotocol.com>
Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
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