Perform Input Modification Checks At the End of the Build #563
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.
Also deduplicate them while we're at it. We don't need to ask each job for its input set, we just need to check the same set of files we recorded mod times for in the first place. This saves a quadratic amount of disk I/O and syscalls in the incremental and non-batch builds, which can be a huge wall time savings for large compiles.
In the incremental stress test, 15 seconds are just gone from total wall time. Total user time spent in stating files went from 7 seconds to 20 milliseconds!