typesafehub / zinc

⛔️ [DEPRECATED] sbt's scala incremental compiler
303 stars 58 forks source link

Upgrade to SBT 0.13.13 and profit from performance improvements #105

Closed retronym closed 7 years ago

retronym commented 7 years ago

https://github.com/sbt/sbt/pull/2754 offers a way to cache the classloader that contains the incremental compiler, rather than creating a new one each time. This can deliver significant performance improvements due to the way that JIT works.

gslowikowski commented 7 years ago

Just a note about SBT Compiler Maven Plugin - I'm cache'ing classloaders (on different level) since over 2 years and it works great in multi-module builds :)

In my case the main reason was to cache Sala classes. I wonder, if your new feature will improve performance even more. When will you release Zinc 0.3.13?

retronym commented 7 years ago

Hi @gslowikowski,

It is certainly possible that you're already cached away from this bug in the maven plugin. You could test this out by adding -verbose:class to the compile server JVM you spawn and checking that:

[Loaded xsbt.CallbackGlobal from file:/Users/jz/.zinc/0.3.13/compiler-interface-2.12.1-52.0/compiler-interface.jar]

Only appears once.

In any case, I've just pushed a fix for this bug, in #108, so when you upgrade to Zinc that internally uses SBT 0.13.13, you'll be doubly safe!

retronym commented 7 years ago

@eed3si9n will have an idea timing of that release.

retronym commented 7 years ago

/cc contributors to Gradle's Zinc integration @eriwen @big-guy @fkorotkov @adammurdoch

eed3si9n commented 7 years ago

http://downloads.typesafe.com/zinc/0.3.13/zinc-0.3.13.tgz is out.