Compile and Tests, single-module project, 4 CPU laptop, as measured by GNU time. The value shown is the real (wall clock) time spend on the process.
Sbt is quickest, by using all CPUs to the fullest. During the test, my system became unusable, the mouse crawling over the screen like a snail. Overall the other buildsystems doing parallelization show that 140 seconds is a reasonable number while keeping the system usable.
Several buildsystems recognize there is nothing to do, surprisingly pants is not among them.
For this case I added a small no-op change to one source file.
Since this is a single-module project, building a new version requires recompiling and retesting everything. Maybe some buildsystems could optimize this by defining smaller subsets of builds.
For this case I manually reverted the file to the state of the first build.
Rebuilding initial version takes again original time. According to documentation, bazel and buck can support caching for such scenarios, but for this an additional setup with a remote cache server is required.