Skip to content

Add parallel front end goal in 25h2 #330

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

SparrowLii
Copy link
Member

@SparrowLii SparrowLii commented Jul 8, 2025

Parallel front end progressed well in the first half of the year. We resolved the deadlock issue caused by the deadlock handler, added the rustc-rayon that the parallel front end depends on to the rustc working tree, and optimized the work-stealing scheduling algorithm to avoid deadlocks in the parallelization of rustc queries.

Rendered

- Enable parallel front end in bootstrap.
- Continue to improve parallel compilation performance, via parallelize the macro expansion and reduce data competition.
- Enable parallel front end in Cargo.
- Add more test cases for parallel front end in rustc-perf

Choose a reason for hiding this comment

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

Can add a couple more items

  • Enable the parallel frontend by default on nightly, but not on stable, for preliminary testing (similarly to LLD)
  • Write stabilization report for the feature and submit it for compiler FCP

Copy link
Member

Choose a reason for hiding this comment

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

Are you and your team planning to work on this project goal with sparrow? Just the 6 items in sparrow's list seem like a good chunk of work for a single person.

Choose a reason for hiding this comment

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

Are you and your team planning to work on this project goal with sparrow? Just the 6 items in sparrow's list seem like a good chunk of work for a single person.

Hopefully.

I just think a visible push for stabilization, initial stabilization report, and enabling it on nightly should happen sooner than many other items on the list.

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks! I added the second one.

And enable it by default (even in nightly) might require more statistics, as it may cause performance regressions compared to single-threaded in many cases.

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.

3 participants