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.
Projects consisting of possibly thousands of files can take long time to get processed, mostly because file operations are rather slow (compared to in-memory operations), so it makes sense to speed up things if possible without breaking backwards compatibility.
A potential solution is to use several threads, so while the first thread is still blocked by an I/O operation, another thread can start processing the next file already. With multi-core CPUs being ubiquitous these days, such a rather small change can improve the build time considerably, in particular for huge projects with thousands of files and / or slows disks (like typically on NTFS). For single-core CPUs the drawback is neglectable.
NB: This PR mimics the solution of mojohaus/build-helper-maven-plugin#201