Class Optimizer

  • Direct Known Subclasses:
    OptimizerRuleBased

    public abstract class Optimizer
    extends Object
    Generic optimizer super class that defines the interface of all implemented optimizers. Furthermore it implements basic primitives, used by all optimizers such as the enumeration of plan alternatives and specific rewrites. Optimization objective: \phi: \min T(prog) | k \leq ck \wedge m(prog) \leq cm with T(p)=max_(1\leq i\leq k)(T(prog_i).
    • Method Detail

      • optimize

        public abstract boolean optimize​(ParForStatementBlock sb,
                                         ParForProgramBlock pb,
                                         OptTree plan,
                                         CostEstimator est,
                                         int numRuns,
                                         ExecutionContext ec)
        Optimize the parfor statement block
        Parameters:
        sb - parfor statement block
        pb - parfor program block
        plan - complete plan of a top-level parfor
        est - cost estimator
        numRuns - Number of runs
        ec - execution context
        Returns:
        true if plan changed, false otherwise
      • getNumTotalPlans

        public long getNumTotalPlans()
      • getNumEvaluatedPlans

        public long getNumEvaluatedPlans()