We never compile our Scala code by invoking the Scala compiler directly. There is usually some other tool between us and the Scala compiler, and therefore compilation time is very often inflated by the specific tool at hand. In the Scala ecosystem, the tool we use to compile and build our projects is generally sbt. Understanding which inefficiencies are inherent to sbt and which depend on setup is key to minimize build times. In this first instalment we lay the foundation to understand how you can optimize your build.
Back in September 2018 we asked for your help to better understand how much time is lost by Scala developers because of compilation, and with over 600 individuals filling up the survey we have some interesting data to discuss.