Parallel processing of files by mkarg · Pull Request #568 · mojohaus/license-maven-plugin (original) (raw)
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