-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
WIP: Parallelize passes using rayon #46564
Conversation
@bors try |
⌛ Trying commit c3e21ab7c517fd303077036df3b211cd28bf7b0e with merge 4f1b9ac80d435420ca47d60344b959db6e8e4f51... |
💔 Test failed - status-travis |
☔ The latest upstream changes (presumably #46509) made this pull request unmergeable. Please resolve the merge conflicts. |
9d8a65b
to
47f3a8f
Compare
@bors try |
⌛ Trying commit 086a5fb with merge 463435e9a0879e3db40c9ed64f12a146f4937b16... |
💔 Test failed - status-travis |
@bors try |
@Mark-Simulacrum I'd also like a perf run here when the try build is complete |
☀️ Test successful - status-travis |
Perf run queued. |
What are the specs of the machine on which this is running? Does it have the cores to actually take advantage of this PR? |
In general, yes, it should. I don't have the exact specs right now, though -- it has ~8 cores IIRC. |
@Mark-Simulacrum I'd also like to know the specs of the machine and also I'd like to know how it is configured; does the CPU run with constant frequency? are there any background services running? Note that the try build is with thread safety and the rayon thread pool disabled. |
Ah, that makes more sense... We were measuring the overhead of thread-safety. |
Lets try that again.
It is just measuring what the cost of merging this with everything disabled is. |
☔ The latest upstream changes (presumably #46335) made this pull request unmergeable. Please resolve the merge conflicts. |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
☔ The latest upstream changes (presumably #50699) made this pull request unmergeable. Please resolve the merge conflicts. |
@Zoxc what's the story with this PR? is it dead? |
An alternative approach which doesn't use fibers is merged in master. This still parallelizes more code though. That should be cherry picked out and analyzed (it may not be beneficial to parallelize all passes). |
sorry I mis clicked "approve" and I don't know why some how it succeeded. please discard my approval. |
@mikumikuchan No worries! That's the Github code review feature. The rust project instead uses @bors commands, which have an ACL (which I'm not on :P ). |
Ping from triage, @Zoxc: What is the status of this? |
Ping from triage, @Zoxc: we haven't heard from you for a while, so we are closing this PR. Feel free to re-open it in the future. Thanks for your contribution! |
This builds on #46193 and #45912 and actually makes code run in parallel. This is not quite ready yet since
rustc
is not yet completely thread safe. It also uses a rough fork of rayon which uses fibers/stackful coroutines.