Skip to content

Instantly share code, notes, and snippets.

@jroper
Last active December 21, 2015 22:19
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • 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
@diwa-zz
Copy link

diwa-zz commented Aug 29, 2013

Excellent news. How/When do we get to enjoy this in play?

@gkossakowski
Copy link

@diwa: I hope I can gets this merged in subsequent releases of sbt 0.13.x.

@diwa-zz
Copy link

diwa-zz commented Aug 30, 2013

That's great. Looking forward eagerly.

@ms-tg
Copy link

ms-tg commented Sep 4, 2013

Fantastic!

@benmccann
Copy link

This is so awesome. I cannot wait!!!

Are the changes the pull request below or are there more pull requests to come?
sbt/sbt#839

@magro
Copy link

magro commented Sep 14, 2013

+1, awesome!

@peter-fu
Copy link

+1, looking forward to it!

@gkossakowski
Copy link

FYI: I started merging my changes back to sbt. It will take a few weeks to finish.

You can follow my work here:

@rpokrywka
Copy link

Cool

@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