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: Compile workspace packages in parallel #2612

Merged
merged 4 commits into from
Sep 12, 2023

Conversation

TomAFrench
Copy link
Member

@TomAFrench TomAFrench commented Sep 8, 2023

Description

Problem*

Resolves

Summary*

This PR parallelizes compilation of packages in a workspace to reduce compilation times in large projects.

This currently only applies to the nargo compile command, we should roll this out across other commands in future.

Documentation

  • This PR requires documentation updates when merged.

    • I will submit a noir-lang/docs PR.
    • I will request for and support Dev Rel's help in documenting this PR.

Additional Context

This is important as it allows us to remove a good fraction of the custom tooling in aztec-packages.

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 draft September 8, 2023 13:43
@TomAFrench TomAFrench force-pushed the parallel-workspace-compilation branch from bad8ce2 to 9248088 Compare September 8, 2023 13:44
@TomAFrench TomAFrench linked an issue Sep 8, 2023 that may be closed by this pull request
Base automatically changed from get-opcode-support-once to master September 8, 2023 16:04
@TomAFrench TomAFrench marked this pull request as ready for review September 8, 2023 16:45
@TomAFrench TomAFrench enabled auto-merge September 8, 2023 19:21
@TomAFrench TomAFrench disabled auto-merge September 8, 2023 19:22
@TomAFrench TomAFrench marked this pull request as draft September 8, 2023 19:22
@TomAFrench
Copy link
Member Author

This needs error reporting hoisted out.

@TomAFrench TomAFrench force-pushed the parallel-workspace-compilation branch 2 times, most recently from ac68697 to d6bb35b Compare September 12, 2023 11:53
@TomAFrench TomAFrench force-pushed the parallel-workspace-compilation branch from d6bb35b to fbe34c1 Compare September 12, 2023 11:56
@TomAFrench TomAFrench changed the base branch from master to tf/defer-compilation-warnings September 12, 2023 11:56
@TomAFrench
Copy link
Member Author

This is now complete. Just waiting on #2659 to be merged first.

Base automatically changed from tf/defer-compilation-warnings to master September 12, 2023 12:52
* master:
  chore: defer reporting of errors until after compilation and optimization is finished (#2659)
  fix: fix compilation using `aztec` feature flag (#2663)
  fix: remove duplicate file extension in stack trace (#2655)
@TomAFrench TomAFrench marked this pull request as ready for review September 12, 2023 12:57
Copy link
Contributor

@kevaundray kevaundray left a comment

Choose a reason for hiding this comment

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

LGTM - I don't see anything else left to be done here?

@TomAFrench
Copy link
Member Author

Nope, this is good to go in.

@TomAFrench TomAFrench added this pull request to the merge queue Sep 12, 2023
Merged via the queue into master with commit 16e5e4d Sep 12, 2023
@TomAFrench TomAFrench deleted the parallel-workspace-compilation branch September 12, 2023 16:43
TomAFrench added a commit that referenced this pull request Sep 13, 2023
* master:
  chore: fix npm token for abi_wasm publishing (#2633)
  chore(ci): switch to using `Swatinem/rust-cache` action (#2671)
  feat: compile circuits and query circuit sizes in parallel for `nargo info` (#2665)
  chore(ci): use mock backend for all tests (#2670)
  chore!: Restrict packages to contain at most a single contract (#2668)
  chore: Embed a file map into `CompiledProgram`/`CompiledContract` (#2666)
  feat: Compile workspace packages in parallel (#2612)
  fix(wasm): Avoid requesting stdlib paths from the source-resolver (#2650)
  chore: add abi_wasm to release-please (#2664)
  chore: refactor `execute_cmd` (#2656)
  chore: defer reporting of errors until after compilation and optimization is finished (#2659)
  fix: fix compilation using `aztec` feature flag (#2663)
  fix: remove duplicate file extension in stack trace (#2655)
  chore: use `DebugArtifact`s instead of `FileManager` to report errors (#2641)
  chore: Fix clippy warnings for rust version 1.67.0 (#2661)
  fix(wasm): Apply transformation map to circuit debug information in `noir_wasm` (#2635)
  fix: Fix `update_acir` deleting all debug information (#2643)
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.

Compile workspace packages in parallel
2 participants