Standard use case is to use sbt (well, or mill, since we're in lihaoyi's thread :D). Sbt starts up slow, but with bloop, or sbtn (native client of sbt), the compilation is really fast (much faster than C++ for example):
$ time sbtc compile
[info] entering *experimental* thin client - BEEP WHIRR
[info] terminate the server with `shutdown`
> compile
[info] compiling 1 Scala source to /home/.../target/scala-2.13/classes ...
[info] compile completed
[success] Total time: 0 s, completed Feb 11, 2021 4:21:51 PM
sbtc compile 0,08s user 0,02s system 21% cpu 0,492 total
Yeah, set 1.4 was a huge improvement. I wrote a lot of scala several years ago and just got back into it this year and the dev experience is much nicer now with the SBT sever model
Standard use case is to use sbt (well, or mill, since we're in lihaoyi's thread :D). Sbt starts up slow, but with bloop, or sbtn (native client of sbt), the compilation is really fast (much faster than C++ for example):