top | item 44585953

(no title)

pi_22by7 | 7 months ago

Honestly, I'm getting tired of the endless parade of "better" build tools. Maven works fine for most of what I do, even if it's occasionally painful. Gradle is... well, Gradle has its moments.

That said, Mill's performance claims sound interesting. If it really can cut build times by 3-6x, that's really amazing. I've wasted too much time in my life waiting for builds, especially on larger projects.

The Scala thing is a bit of a turn-off though. I get that you don't need to write Scala yourself, but now I'm dragging in the Scala ecosystem just to build my Java project? Feels heavy.

The IDE integration sounds nice in theory - being able to actually navigate and understand your build in IntelliJ would be pretty sweet.

Still not sure the switching costs are worth it unless you're really hitting Maven/Gradle pain points. But if I was starting a new project from scratch, might be worth a look.

discuss

order

le-mark|7 months ago

When has build time been an issue though? Running tests have taken the most time by far on every project I’ve ever worked on.

lihaoyi|7 months ago

Author here. Mill also helps with running tests. Apart from all tests running parallel by default with heuristics to try and maximize performance (https://mill-build.org/blog/11-jvm-test-parallelism.html), Mill also can selectively execute tests in CI based on code changes (https://mill-build.org/mill/large/selective-execution.html), and provide performance profiles so you can see what is taking up time and improve it (https://mill-build.org/mill/depth/parallelism.html#_mill_chr...). All this is built in and comes for free, with the end result that even tests can take much less time in Mill than they do in other build tools

pi_22by7|7 months ago

True. Tests usually dominate the time budget. But from what I've experienced, slow builds still hurt, especially when you're iterating frequently or working across multiple modules. Those 10–20 seconds of wait adds up fast when you're in the zone and trying things out.