-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Investigate impact of removing shell32 dependency of libstd on Windows #56510
Comments
Based on my limited investigation, it's likely that replacing |
It would be nice to get rid of this in the compiler too. We spawn a lot of compiler instances during bootstrapping. |
Remove dependency on shell32.dll Closes #56510 if it works on MinGW (I've only tested it on MSVC).
So now that the change has been implemented, have we actually investigated how much of an impact the change made? |
Perf, an lolbench are both linux only. So nether help with this question. So don't waste your time like I did. |
Here are just number for Without the With |
I see that the CPU usage averages about 40% when running |
|
Yeah, I saw that the compiler doesn't load |
An excellent blog post recently showed that removing the gdi32.dll dependency from LLVM speed up its test suite by a huge amount. For us libstd doesn't depend on gdi32.dll directly but it does depend on shell32.dll which depends on gdi32.dll (according to the blog post). Specificaly it looks like
CommandLineToArgvW
, the same function as LLVM, is used by us!It'd be great to investigate removing the shell32 dependency from libstd (may be a few other functions here and there). We should run some tests on Windows to see if this improves rustc cycle times!
The text was updated successfully, but these errors were encountered: