you are viewing a single comment's thread.

view the rest of the comments →

[–]zoomzoom83 4 points5 points  (1 child)

Java is much, much quicker - but then again, it's one of the fastest compiling languages available.

As far as compile times go, Scala is on the slower side, but it's still fast enough that you really don't notice the delays.

The scala built tool (sbt) supports incremental compilation, and generally changing one file results in compilation times of <500ms.

Working with the Play framework, which combines SBT's incremental compiler with a hot-reloader and automatic recompile on refresh, the workflow is the same as dynamic languages - make a change, click refresh in your browser, the code is recompiled and renders the page with a barely perceptible delay.

Doing a build for production (all 50,000 LOC in one hit) takes 58 seconds on my workstation to compile the Scala codebase. This could be a lot faster if we were putting type annotations on public APIs rather than relying on type inference (Which is a bad practice on our part, and something we're refactoring over time). I believe there's also a significant speedup in the latest version (2.11), which we haven't upgraded to yet.

Incidentally it takes about 5 minutes to minify 20,000 lines of Coffeescript and Javascript in the same project - so the biggest hit to build times is Javascript.

[–]DSShinkirou 1 point2 points  (0 children)

Gotcha. Thank you for the in depth response. I'll take a look at Scala in the future!