Packages

package optimizer

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. 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

  1. object IncOptimizer

Ungrouped