Class Optimize

  • public class Optimize
    extends java.lang.Object
    Optimization of algebra expressions.

    New optimization processes can be installed via a global change:

        Optimize.setFactory((cxt)->new MyOptimizer(cxt)) ;
    or on a per-context basis:
        Optimize.RewriterFactory f = (cxt)->new MyOptimizer(cxt) ;
        context.set(ARQConstants.sysOptimizerFactory, f) ;
    • Field Detail

      • noOptimizationFactory

        public static RewriteFactory noOptimizationFactory
        Factory for the "Do nothing" optimizer.
      • minimalOptimizationFactory

        public static RewriteFactory minimalOptimizationFactory
        Factory for the "minimal" optimizer.
      • stdOptimizationFactory

        public static RewriteFactory stdOptimizationFactory
        Factory for the standard optimization sequnece.
    • Constructor Detail

      • Optimize

        public Optimize()
    • Method Detail

      • optimize

        public static Op optimize​(Op op,
                                  Context context)
        Optimize based on all options
      • noOptimizer

        public static void noOptimizer()
        Set the global optimizer factory to one that does nothing. Applications probably want basicOptimizer()
      • basicOptimizer

        public static void basicOptimizer()
        Set the global optimizer factory to one that only does property functions and scoped variables.
        See Also:
      • setFactory

        public static void setFactory​(RewriteFactory aFactory)
        Globally set the factory for making optimizers
      • getFactory

        public static RewriteFactory getFactory()
        Get the global factory for making optimizers