News for hackers. Stuff that matters.
Re:Faster Maven Builds by jillesvangurp on Monday October 04, 2021 @02:34AM (#28743722)
Parallelizing builds and tests is definitely useful. Not only does it make things run faster but it can force concurrency issues to the surface that you would otherwise not find until after you deploy the code. This works especially well with integration tests that each might take a few seconds to run. Most of that is IO so you can actually utilize more threads than CPU cores here and still expect a speedup.

However, it requires designing your tests such you can do this. One key trick is using randomized data and test fixtures. Another one is avoiding the overhead of initializing databases, etc. over and over again. Of course, all that stuff is useful in just about any language. But some languages make this easier than others.

Re:Faster Maven Builds by chenxiaolong on Monday October 04, 2021 @06:09PM (#28752722)
100% agreed re. bringing concurrency issues to the surface.

Another nasty one I encountered a couple years ago: After switching the build servers to using ramdisks, the app started breaking in subtle ways. Turns out there were two conflicting dependencies, but building on a server using ext4 and with the specific number of concurrent threads caused the "right" one to appear first the .jar's central directory.

Gotta add filesystem directory entry ordering to the list too.