-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[build] Run dsymutil on multiple files at a time #34149
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
Conversation
The change in swiftlang#33654 had the effect of not leveraging dsymutil parallelism -- pass instead multiple file at once. Addresses rdar://69550787
@swift-ci please smoke test |
@swift-ci Please Build Toolchain macOS Platform |
@swift-ci Please Build Toolchain Linux Platform |
@swift-ci Please Build Toolchain Linux Platform |
@swift-ci please smoke test Linux |
macOS Toolchain Install command |
Linux Toolchain (Ubuntu 16.04) Install command |
@swift-ci please smoke test Linux |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems reasonable to me - but, do we need to worry about memory usage?
This should enable scaling when using machines with large amount of RAM. To better support machines with lower spec, process one binary per dsymutil invocation (reverting swiftlang#34149). Add some (limited) facilities to gather the time taken to execute dsymutil to better assist in tuning the parameter. Addresses rdar://71018443
Apologies for the late reply -- that's a fair point, I did not notice any substantial difference in my local experiments with 32 GBs of RAM but that could be a concern on less powerful machines. For this and other reasons, I'm planning to undo this change as part of #34795 |
This should enable scaling when using machines with large amount of RAM. To better support machines with lower spec, process one binary per dsymutil invocation (reverting #34149). Add some (limited) facilities to gather the time taken to execute dsymutil to better assist in tuning the parameter -- these are printed in JSON format in the log to allow for easier scraping ``` { "command": "dsymutil", "start": "2020-11-18T18:10:47" } { "command": "dsymutil", "end": "2020-11-18T18:14:45" } ``` Addresses rdar://71018443
The change in #33654 had the effect of not leveraging dsymutil
parallelism -- pass instead multiple file at once.
Addresses rdar://69550787