package optimizer
- Alphabetic
- Public
- All
Type Members
-
final
class
IncOptimizer extends AnyRef
Incremental optimizer.
Incremental optimizer.
An incremental optimizer optimizes a LinkingUnit in an incremental way.
It maintains state between runs to do a minimal amount of work on every run, based on detecting what parts of the program must be re-optimized, and keeping optimized results from previous runs for the rest.
A general note about use of ConcurrentHashMap[T, Unit] as concurrent sets: It would seem better to use ConcurrentHashMap.newKeySet() which is specifically designed for this purpose. However, the views alone use up 4 MB of shallow size on the test suite at the time of writing. Therefore, we give up on the convenience API and use the underlying ConcurrentHashMap directly.
A similar argument applies to usages of keySet(): It appears that the implementation holds on to the key set once it is created, resulting in unnecessary memory usage.
Value Members
- object IncOptimizer