Build header units in parallel #1529
Merged
+12
−9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
On my 6-core 12-thread machine (Python), this improves the test time for all configurations from 53s to 32s.
For MSVC-internal Contest (Perl), this improves each configuration's test time from (between 1m 30s and 2m 7s) to (approximately 14s).
Previously, I thought that this was impossible because we had to vary the command lines. However,
/exportHeadercan be given multiple headers simultaneously, they just need to be named with absolute paths instead of angle brackets. We also need to pass/Foto make it generate object files. (It's possible to control the output directory for object files, by passing it to/Fowith a trailing slash/backslash, and it's possible to control the output directory for IFC files with/ifcOutput, but it appears that this is unnecessary as both of our test harnesses run these commands in the per-configuration output directory that we want.)🚀 🚀 🚀