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.
-
Interface Summary Interface Description BavetJoinConstraintStream<Solution_> BavetScoringConstraintStream<Solution_> LeftTupleLifecycle<Tuple_ extends Tuple> RightTupleLifecycle<Tuple_ extends Tuple> Tuple A tuple is an out tuple in exactly one node and an in tuple in one or more nodes.TupleLifecycle<Tuple_ extends Tuple> -
Class Summary Class Description AbstractConditionalTupleLifecycle<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_> AbstractIfExistsNode<LeftTuple_ extends Tuple,Right_> This class has two direct children:AbstractIndexedIfExistsNodeandAbstractUnindexedIfExistsNode.AbstractIndexedIfExistsNode<LeftTuple_ extends Tuple,Right_> 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.AbstractMapNode<InTuple_ extends Tuple,Right_> AbstractNode AbstractScorer<Tuple_ extends Tuple> AbstractTuple AbstractUnindexedIfExistsNode<LeftTuple_ extends Tuple,Right_> 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_> ExistsCounter<Tuple_ extends Tuple> NodeBuildHelper<Score_ extends org.optaplanner.core.api.score.Score<Score_>> -
Enum Summary Enum Description BavetTupleState