Skip to content

Instantly share code, notes, and snippets.

@jroper
Last active December 21, 2015 22:19
Show Gist options
  • Save jroper/6374383 to your computer and use it in GitHub Desktop.
Save jroper/6374383 to your computer and use it in GitHub Desktop.
Scala incremental compiler improvements by Grzegorz Kossakowski. Actual runtimes are not so important here, since the two benchmarks were run on different machines, and also they make no attempt to ensure that the scala compiler is fully JITed, which during normal Play development offers significant improvements over these times as the compiler …
Initial clean compile of entire project:
[info] [info] Compiling 29 Scala sources and 1 Java source to /tmp/inc-compile/target/scala-2.10/classes...
[info] [success] Total time: 15 s, completed Aug 28, 2013 9:43:38 PM
Now simulate adding a method to a controller:
[info] [info] Compiling 1 Scala source to /tmp/inc-compile/target/scala-2.10/classes...
[info] [success] Total time: 2 s, completed Aug 28, 2013 9:43:40 PM
Now simulate adding a new route to the routes file:
[info] [info] Compiling 2 Scala sources and 1 Java source to /tmp/inc-compile/target/scala-2.10/classes...
[info] [success] Total time: 5 s, completed Aug 28, 2013 9:43:45 PM
Initial clean compile of entire project:
[info] [info] Compiling 29 Scala sources and 1 Java source to /tmp/inc-compile/target/scala-2.10/classes...
[info] [success] Total time: 25 s, completed 29/08/2013 2:49:17 PM
Now simulate adding a method to a controller:
[info] [info] Compiling 1 Scala source to /tmp/inc-compile/target/scala-2.10/classes...
[info] [info] Compiling 29 Scala sources and 1 Java source to /tmp/inc-compile/target/scala-2.10/classes...
[info] [success] Total time: 16 s, completed 29/08/2013 2:49:32 PM
Now simulate adding a new route to the routes file:
[info] [info] Compiling 2 Scala sources and 1 Java source to /tmp/inc-compile/target/scala-2.10/classes...
[info] [info] Compiling 29 Scala sources and 1 Java source to /tmp/inc-compile/target/scala-2.10/classes...
[info] [success] Total time: 10 s, completed 29/08/2013 2:49:43 PM
@gkossakowski
Copy link

I decided to make it easier to follow the status of the merge by creating a meta issue. Check it out here: sbt/sbt#1010

@hedefalk
Copy link

Awesome!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment