wip tuning

** !! deprecated !!**

Overview

Goals :

  1. remove/reduce the eclipse freeze (except from user request, force clean+build)
  2. allow GC to free more memory when needed to build,... (eg : free some information from previous build (from same or other project))
  3. use less CPU
    • avoid too many compilation, sometimes not uptodate data (AST) is acceptable
    • less allocation, reuse object if available
  4. reduce memory used to build

To rich those goals, there is several axes/startegies, Tuning is allowing to provide/configure/use them and to collect feedback information. The majority of proposal should impact scala-ide, but during investigation some bug or enhancement can be only allowed by modification of scala-compiler (TODO : define the way to follow in this case : fork full scalac, move patched classed under a scala-ide project, use aspect to monkey patch scalac like for jdt ?).

Some major difference vs command line compilation :

How to help :

Roadmap :

DONE :

TODO :

Scala-compiler's issues :

Stuff to explore :

original idea from : mailing-list plugin tuning

Screenshots :

CPU eat by GC Activity [[image:2010-07-15-0015171680x1050scrot.png]]

Memory Usage [[image:2010-07-15-0012421680x1050scrot.png]]

Number of Compilation run on startup [[image:2010-09-11-1054131680x1048scrot.png]]