Package org.openjdk.jmh.results
Class Result<T extends Result<T>>
- java.lang.Object
-
- org.openjdk.jmh.results.Result<T>
-
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
AverageTimeResult,SampleTimeResult,ScalarDerivativeResult,ScalarResult,SingleShotResult,StackProfiler.StackResult,TextResult,ThroughputResult
public abstract class Result<T extends Result<T>> extends Object implements Serializable
Base class for all types of results that can be returned by a benchmark.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Stringlabelprotected AggregationPolicypolicyprotected ResultRoleroleprotected Statisticsstatisticsprotected Stringunit
-
Constructor Summary
Constructors Constructor Description Result(ResultRole role, String label, Statistics s, String unit, AggregationPolicy policy)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected StringdistributionExtendedInfo()StringextendedInfo()Print extended result informationprotected Collection<? extends Result>getDerivativeResults()protected abstract Aggregator<T>getIterationAggregator()Iteration aggregator combines the iteration results into benchmar result.StringgetLabel()Return the result label.ResultRolegetRole()Return the result role.longgetSampleCount()Get number of samples in the current result.doublegetScore()The score for this result.double[]getScoreConfidence()The score confidence interval for this result.doublegetScoreError()The score error for this result.StringgetScoreUnit()The unit of the score for this result.StatisticsgetStatistics()Return the statistics holding the subresults' values.protected abstract Aggregator<T>getThreadAggregator()Thread aggregator combines the thread results into iteration result.protected TgetZeroResult()Returns "0" result.protected static Statisticsof(double v)protected StringsimpleExtendedInfo()StringtoString()Result as represented by a String.
-
-
-
Field Detail
-
role
protected final ResultRole role
-
label
protected final String label
-
unit
protected final String unit
-
statistics
protected final Statistics statistics
-
policy
protected final AggregationPolicy policy
-
-
Constructor Detail
-
Result
public Result(ResultRole role, String label, Statistics s, String unit, AggregationPolicy policy)
-
-
Method Detail
-
of
protected static Statistics of(double v)
-
getLabel
public String getLabel()
Return the result label.- Returns:
- result label
-
getRole
public ResultRole getRole()
Return the result role.- Returns:
- result role
-
getStatistics
public Statistics getStatistics()
Return the statistics holding the subresults' values.This method returns raw samples. The aggregation policy decides how to get the score out of these raw samples. Use
getScore(),getScoreError(), andgetScoreConfidence()for scalar results.- Returns:
- statistics
-
getScoreUnit
public final String getScoreUnit()
The unit of the score for this result.- Returns:
- String representation of the unit
-
getScore
public double getScore()
The score for this result.- Returns:
- double representing the score
- See Also:
getScoreError()
-
getScoreError
public double getScoreError()
The score error for this result.- Returns:
- score error, if available
- See Also:
getScore()
-
getScoreConfidence
public double[] getScoreConfidence()
The score confidence interval for this result.- Returns:
- score confidence interval, if available; if not, the CI will match
getScore() - See Also:
getScore()
-
getSampleCount
public long getSampleCount()
Get number of samples in the current result.- Returns:
- number of samples
-
getThreadAggregator
protected abstract Aggregator<T> getThreadAggregator()
Thread aggregator combines the thread results into iteration result.- Returns:
- thread aggregator
-
getIterationAggregator
protected abstract Aggregator<T> getIterationAggregator()
Iteration aggregator combines the iteration results into benchmar result.- Returns:
- iteration aggregator
-
getZeroResult
protected T getZeroResult()
Returns "0" result. This is used for un-biased aggregation of secondary results. For instance, profilers might omit results in some iterations, thus we should pretend there were 0 results.- Returns:
- result that represents "empty" result, null if no sensible "empty" result can be created
-
getDerivativeResults
protected Collection<? extends Result> getDerivativeResults()
- Returns:
- derivative results for this result. These do not participate in aggregation, and computed on the spot from the aggregated result.
-
toString
public String toString()
Result as represented by a String.
-
extendedInfo
public String extendedInfo()
Print extended result information- Returns:
- String with extended info
-
simpleExtendedInfo
protected String simpleExtendedInfo()
-
distributionExtendedInfo
protected String distributionExtendedInfo()
-
-