Skip to content

Compile incrementally within jars #305

@jvican

Description

@jvican

This idea was provided by @stuhood in https://contributors.scala-lang.org/t/asking-for-your-feedback-on-sbt-scala-center-announcement/738/19. This is a top priority for me, so I'll work on it within the next months before the release candidate happens. I would not be surprised if it requires API changes.

Feature description in Stu's own words:

ie, compiling directly to output jars, and then supporting incremental compile that consumes the slightly modified jars. The JVM hates classpaths containing loose classes in directories (anecdotally, jarring all inputs improved cold-build performance by 4x in one case due to drastically fewer syscalls and less IO), and this definitely affects Zinc when lots of modules are in play.

There is room for experimenting but the potential speedup seems juicy, especially in big projects. Anything that increases compilation speed should be treated as a priority for Zinc 1.0.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions