Class SpecializationService

java.lang.Object
org.apache.druid.query.monomorphicprocessing.SpecializationService

public final class SpecializationService extends Object
Manages class specialization during query processing. Usage: String runtimeShape = stringRuntimeShape.of(bufferAggregator); SpecializationState specializationState = SpecializationService.getSpecializationState( ProcessingAlgorithmImpl.class, runtimeShape ); ProcessingAlgorithm algorithm = specializationState.getSpecializedOrDefault(new ProcessingAlgorithmImpl()); long loopIterations = new ProcessingAlgorithmImpl().run(bufferAggregator, ...); specializationState.accountLoopIterations(loopIterations); ProcessingAlgorithmImpl.class, passed as prototypeClass to getSpecializationState(java.lang.Class<? extends T>, java.lang.String) methods must have public no-arg constructor and must be stateless (no fields).
See Also: