The number of threads used by pmd has a big impact on the speed of the pmd run. In my test configuring 1 thread resulted in about 21 s. taken and with 8 threads (I have 8 hardware threads) the pmd run took only 9 s.
The default of 1 thread is a slow choice, default should be Runtime.availableProcessors, just like PMD itself has its default.
Adding more threads has no use, as in my tests it shows the process is CPU bound, and the pmd run took longer with threads > avaliableProcs.
The number of threads used by pmd has a big impact on the speed of the pmd run. In my test configuring 1 thread resulted in about 21 s. taken and with 8 threads (I have 8 hardware threads) the pmd run took only 9 s.
The default of 1 thread is a slow choice, default should be Runtime.availableProcessors, just like PMD itself has its default. Adding more threads has no use, as in my tests it shows the process is CPU bound, and the pmd run took longer with threads > avaliableProcs.