Package org.optaplanner.constraint.streams.bavet.common
package org.optaplanner.constraint.streams.bavet.common
This package contains performance-sensitive code.
Much of it is directly on the hot path of the solver.
It contains various micro-optimizations, the benefits of which have been confirmed by extensive benchmarking.
When it comes to this code, assumptions and pre-conceived notions of JVM performance should not be trusted.
Instead, any likely performance-altering modifications to this code should be carefully benchmarked.
-
ClassDescriptionAbstractConditionalTupleLifecycle<Tuple_ extends Tuple>AbstractFlattenLastNode<InTuple_ extends Tuple,
OutTuple_ extends Tuple, EffectiveItem_, FlattenedItem_> AbstractGroupNode<InTuple_ extends Tuple,OutTuple_ extends Tuple, MutableOutTuple_ extends OutTuple_, GroupKey_, ResultContainer_, Result_> This class has two direct children:AbstractIndexedIfExistsNodeandAbstractUnindexedIfExistsNode.AbstractIfExistsNode.FilteringTracker<LeftTuple_ extends Tuple>There is a strong likelihood that any change to this class, which is not related to indexing, should also be made toAbstractUnindexedIfExistsNode.AbstractIndexedJoinNode<LeftTuple_ extends Tuple,Right_, OutTuple_ extends Tuple, MutableOutTuple_ extends OutTuple_> There is a strong likelihood that any change to this class, which is not related to indexing, should also be made toAbstractUnindexedJoinNode.AbstractJoinNode<LeftTuple_ extends Tuple,Right_, OutTuple_ extends Tuple, MutableOutTuple_ extends OutTuple_> This class has two direct children:AbstractIndexedJoinNodeandAbstractUnindexedJoinNode.AbstractScorer<Tuple_ extends Tuple>There is a strong likelihood that any change made to this class should also be made toAbstractIndexedIfExistsNode.AbstractUnindexedJoinNode<LeftTuple_ extends Tuple,Right_, OutTuple_ extends Tuple, MutableOutTuple_ extends OutTuple_> There is a strong likelihood that any change made to this class should also be made toAbstractIndexedJoinNode.BavetAbstractConstraintStream<Solution_>BavetJoinConstraintStream<Solution_>BavetScoringConstraintStream<Solution_>ExistsCounter<Tuple_ extends Tuple>GroupNodeConstructor<Tuple_ extends Tuple>GroupNodeConstructor.NodeConstructorWithAccumulate<Tuple_ extends Tuple>GroupNodeConstructor.NodeConstructorWithoutAccumulate<Tuple_ extends Tuple>LeftTupleLifecycle<Tuple_ extends Tuple>NodeBuildHelper<Score_ extends Score<Score_>>RightTupleLifecycle<Tuple_ extends Tuple>A tuple is an out tuple in exactly one node and an in tuple in one or more nodes.TupleLifecycle<Tuple_ extends Tuple>