本文整理汇总了Java中org.openjdk.jmh.results.IterationResult类的典型用法代码示例。如果您正苦于以下问题:Java IterationResult类的具体用法?Java IterationResult怎么用?Java IterationResult使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
IterationResult类属于org.openjdk.jmh.results包,在下文中一共展示了IterationResult类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: afterIteration
import org.openjdk.jmh.results.IterationResult; //导入依赖的package包/类
@Override
public Collection<? extends Result> afterIteration(BenchmarkParams benchmarkParams,
IterationParams iterationParams,
IterationResult result) {
final ArrayList<Result> results = Lists.newArrayList();
if (metricRegistry == null) {
return results;
}
final SortedMap<String, Meter> counters = metricRegistry.getMeters((name, metric) -> {
return name.startsWith(MetricRegistry.name(Rule.class)) || name.startsWith(MetricRegistry.name(Pipeline.class));
});
counters.entrySet()
.forEach(stringCounterEntry -> result.addResult(new ScalarResult(stringCounterEntry.getKey(),
stringCounterEntry.getValue().getCount(),
"calls",
AggregationPolicy.SUM)));
return results;
}
开发者ID:Graylog2,项目名称:graylog-plugin-pipeline-processor,代码行数:20,代码来源:PipelinePerformanceBenchmarks.java
示例2: afterIteration
import org.openjdk.jmh.results.IterationResult; //导入依赖的package包/类
@Override
public Collection<? extends Result> afterIteration(BenchmarkParams benchmarkParams,
IterationParams iterationParams, IterationResult result) {
final Runtime runtime = Runtime.getRuntime();
final long max = runtime.maxMemory();
final long total = runtime.totalMemory();
final long free = runtime.freeMemory();
final long used = total - free;
return Arrays
.asList(new ProfilerResult(PREFIX + "rt.mem.max", max, "bytes", AggregationPolicy.MAX),
new ProfilerResult(PREFIX + "rt.mem.total", total, "bytes", AggregationPolicy.MAX),
new ProfilerResult(PREFIX + "rt.mem.free", free, "bytes", AggregationPolicy.MAX),
new ProfilerResult(PREFIX + "rt.mem.used", used, "bytes", AggregationPolicy.MAX));
}
开发者ID:bramp,项目名称:unsafe,代码行数:17,代码来源:MemoryProfiler.java
示例3: afterIteration
import org.openjdk.jmh.results.IterationResult; //导入依赖的package包/类
@Override
public Collection<? extends Result> afterIteration(final BenchmarkParams benchmarkParams, final IterationParams iterationParams, final IterationResult result) {
if (usedMemory <= 0) {
recordUsedMemory();
if (usedMemory <= 0) {
return Collections.emptyList();
}
}
List<Result> l = new ArrayList<>();
addLinuxVmStats(l);
l.addAll(Arrays.asList(
new ScalarResult("+forced-gc-mem.used.settled", (double) usedMemorySettled, "bytes", AggregationPolicy.AVG),
new ScalarResult("+forced-gc-mem.used.after", (double) usedMemory, "bytes", AggregationPolicy.AVG),
new ScalarResult("+forced-gc-mem.total", (double) totalMemory, "bytes", AggregationPolicy.AVG),
new ScalarResult("+forced-gc-mem.gcTimeMillis", (double) gcTimeMillis, "ms", AggregationPolicy.AVG),
new ScalarResult("+forced-gc-mem.usedHeap", (double) usedHeapMemory, "bytes", AggregationPolicy.AVG)
));
keepReference = null;
return l;
}
开发者ID:cache2k,项目名称:cache2k-benchmark,代码行数:21,代码来源:ForcedGcMemoryProfiler.java
示例4: createMockedRunResult
import org.openjdk.jmh.results.IterationResult; //导入依赖的package包/类
private RunResult createMockedRunResult(final double value) {
final IterationResult iterationResult = new IterationResult(null, null, null);
iterationResult.addResult(new SingleShotResult(ResultRole.PRIMARY, "", (long) value, TimeUnit.NANOSECONDS));
final Collection<IterationResult> iterationResults = Arrays.asList(iterationResult);
final BenchmarkResult benchmarkResult = new BenchmarkResult(null, iterationResults);
final Collection<BenchmarkResult> benchmarkResults = Arrays.asList(benchmarkResult);
return new RunResult(null, benchmarkResults);
}
开发者ID:SoerenHenning,项目名称:RadarGun,代码行数:9,代码来源:TestResultFactoryTest.java
示例5: afterIteration
import org.openjdk.jmh.results.IterationResult; //导入依赖的package包/类
/**
* Run this code after a benchmark iteration finished
*
* @param benchmarkParams benchmark parameters used for current launch
* @param iterationParams iteration parameters used for current launch
* @param result iteration result
* @return profiler results
*/
@Override
public Collection<? extends Result<ProfilerResult>> afterIteration(
BenchmarkParams benchmarkParams, IterationParams iterationParams, IterationResult result) {
String unit = "invocations";
AggregationPolicy policy = AggregationPolicy.AVG;
final ProfilerResult hashCodeResult =
new ProfilerResult("hashCode", CountingInteger.getHashcodeCounter(), unit, policy);
final ProfilerResult equalsResult =
new ProfilerResult("equals", CountingInteger.getEqualsCounter(), unit, policy);
return Arrays.asList(hashCodeResult, equalsResult);
}
开发者ID:msteindorfer,项目名称:criterion,代码行数:23,代码来源:CountingIntegerProfiler.java
示例6: stopProfilers
import org.openjdk.jmh.results.IterationResult; //导入依赖的package包/类
protected void stopProfilers(BenchmarkParams benchmarkParams, IterationParams iterationParams, IterationResult iterationResults) {
// stop profilers
for (InternalProfiler prof : registeredProfilers) {
try {
iterationResults.addResults(prof.afterIteration(benchmarkParams, iterationParams));
} catch (Throwable ex) {
throw new BenchmarkException(ex);
}
}
}
开发者ID:msteindorfer,项目名称:jmh,代码行数:11,代码来源:BaseBenchmarkHandler.java
示例7: afterIteration
import org.openjdk.jmh.results.IterationResult; //导入依赖的package包/类
@Override
public Collection<? extends Result> afterIteration(final BenchmarkParams benchmarkParams, final IterationParams iterationParams, final IterationResult result) {
List<Result<?>> all = new ArrayList<>();
counters.values().stream()
.map(e ->
new ScalarResult(SECONDARY_RESULT_PREFIX + e.key, (double) e.counter.get(), e.unit, e.aggregationPolicy))
.sequential().forEach(e -> all.add(e));
all.addAll(results.values());
return all;
}
开发者ID:cache2k,项目名称:cache2k-benchmark,代码行数:11,代码来源:MiscResultRecorderProfiler.java
示例8: getTimes
import org.openjdk.jmh.results.IterationResult; //导入依赖的package包/类
private List<Double> getTimes(String algorithmId,
String datasetId,
int warmUps,
int measurements) throws CLIWrapperException, RunnerException {
Options options = new OptionsBuilder()
.forks(1)
.measurementIterations(measurements)
.warmupIterations(warmUps)
.param("datasetId", datasetId)
.param("algorithmId", algorithmId)
.include(JMHBenchmark.class.getName())
.build();
Collection<RunResult> results = new Runner(options).run();
List<Double> times = new ArrayList<>();
for (RunResult result : results) {
for (BenchmarkResult benchmarkResult : result.getBenchmarkResults()) {
BenchmarkParams params = benchmarkResult.getParams();
String myDatasetId = params.getParam("datasetId");
if (!datasetId.equals(myDatasetId)) {
throw new CLIWrapperException("Unable to dig through JMH output: Value for 'datasetId' parameter is '"
+ myDatasetId + "' but expected '" + datasetId + "'", null);
}
String myAlgorithmId = params.getParam("algorithmId");
if (!algorithmId.equals(myAlgorithmId)) {
throw new CLIWrapperException("Unable to dig through JMH output: Value for 'algorithmId' parameter is '"
+ myAlgorithmId + "' but expected '" + algorithmId + "'", null);
}
int count = 0;
for (IterationResult iterationResult : benchmarkResult.getIterationResults()) {
for (Result<?> primary : iterationResult.getRawPrimaryResults()) {
if (primary.getStatistics().getN() != 1) {
throw new CLIWrapperException("Unable to dig through JMH output: getN() != 1", null);
}
if (!primary.getScoreUnit().equals("us/op")) {
throw new CLIWrapperException("Unable to dig through JMH output: getScoreUnit() = " + primary.getScoreUnit(), null);
}
double value = primary.getScore() / 1e6;
times.add(value / IdCollection.getDataset(datasetId).getNumberOfInstances());
++count;
}
}
if (count != measurements) {
throw new CLIWrapperException("Unable to dig through JMH output: Expected "
+ measurements + " measurements, found " + count, null);
}
}
}
return times;
}
开发者ID:mbuzdalov,项目名称:non-dominated-sorting,代码行数:51,代码来源:Benchmark.java
示例9: afterIteration
import org.openjdk.jmh.results.IterationResult; //导入依赖的package包/类
/**
* Run this code after a benchmark iteration finished
*
* @param benchmarkParams benchmark parameters used for current launch
* @param iterationParams iteration parameters used for current launch
* @param result iteration result
* @return profiler results
*/
@Override
public Collection<? extends Result<ProfilerResult>> afterIteration(
BenchmarkParams benchmarkParams, IterationParams iterationParams, IterationResult result) {
try {
final String benchmarkClassName = benchmarkToClassName(benchmarkParams.getBenchmark());
final Method factoryMethod = factoryMethod(benchmarkClassName);
final JmhValue wrappedObject =
(JmhValue) factoryMethod.invoke(null, initializeArguments(benchmarkParams));
final Object objectToMeasure = wrappedObject.unwrap();
final Predicate<Object> predicateDataStructureOverhead =
Predicates.not(Predicates.instanceOf(JmhValue.class));
final Predicate<Object> predicateRetainedSize = Predicates.alwaysTrue();
final List<ProfilerResult> profilerResults = new ArrayList<>();
/**
* Traverse object graph for measuring memory footprint (in bytes).
*/
long memoryInBytes = objectexplorer.MemoryMeasurer
.measureBytes(objectToMeasure, predicateDataStructureOverhead);
// NOTE: non-standard constructor for passing ResultRole.PRIMARY
final ProfilerResult memoryResult =
new ProfilerResult(ResultRole.PRIMARY, "memory", memoryInBytes, UNIT_BYTES, POLICY);
// hack: substitute results
result.resetResults();
result.addResult(memoryResult);
// /**
// * Traverse object graph for measuring field statistics.
// */
// final Footprint statistic = objectexplorer.ObjectGraphMeasurer
// .measure(objectToMeasure, predicateDataStructureOverhead);
//
// final ProfilerResult objectsResult =
// new ProfilerResult("objects", statistic.getObjects(), UNIT_COUNT, POLICY);
// profilerResults.add(objectsResult);
//
// final ProfilerResult referencesResult =
// new ProfilerResult("references", statistic.getReferences(), UNIT_COUNT, POLICY);
// profilerResults.add(referencesResult);
//
// final ProfilerResult primitivesResult =
// new ProfilerResult("primitives", statistic.getPrimitives().size(), UNIT_COUNT, POLICY);
// profilerResults.add(primitivesResult);
return profilerResults;
} catch (Exception e) {
e.printStackTrace();
return Arrays.asList();
}
}
开发者ID:msteindorfer,项目名称:criterion,代码行数:65,代码来源:MemoryFootprintProfiler.java
示例10: getStub
import org.openjdk.jmh.results.IterationResult; //导入依赖的package包/类
private Collection<RunResult> getStub() {
Collection<RunResult> results = new TreeSet<RunResult>(RunResult.DEFAULT_SORT_COMPARATOR);
Random r = new Random(12345);
for (int b = 0; b < r.nextInt(10); b++) {
WorkloadParams ps = new WorkloadParams();
for (int p = 0; p < 5; p++) {
ps.put("param" + p, "value" + p, p);
}
BenchmarkParams params = new BenchmarkParams(
"benchmark_" + b,
JSONResultFormat.class.getName() + ".benchmark_" + b + "_" + Mode.Throughput,
false,
r.nextInt(1000),
new int[]{ r.nextInt(1000) },
r.nextInt(1000),
r.nextInt(1000),
new IterationParams(IterationType.WARMUP, r.nextInt(1000), TimeValue.seconds(r.nextInt(1000)), 1),
new IterationParams(IterationType.MEASUREMENT, r.nextInt(1000), TimeValue.seconds(r.nextInt(1000)), 1),
Mode.Throughput,
ps,
TimeUnit.SECONDS, 1,
Utils.getCurrentJvm(),
Collections.<String>emptyList(),
TimeValue.days(1));
Collection<BenchmarkResult> benchmarkResults = new ArrayList<BenchmarkResult>();
for (int f = 0; f < r.nextInt(10); f++) {
Collection<IterationResult> iterResults = new ArrayList<IterationResult>();
for (int c = 0; c < r.nextInt(10); c++) {
IterationResult res = new IterationResult(params, params.getMeasurement());
res.addResult(new ThroughputResult(ResultRole.PRIMARY, "test", r.nextInt(1000), 1000 * 1000, TimeUnit.MILLISECONDS));
res.addResult(new ThroughputResult(ResultRole.SECONDARY, "secondary1", r.nextInt(1000), 1000 * 1000, TimeUnit.MILLISECONDS));
res.addResult(new ThroughputResult(ResultRole.SECONDARY, "secondary2", r.nextInt(1000), 1000 * 1000, TimeUnit.MILLISECONDS));
iterResults.add(res);
}
benchmarkResults.add(new BenchmarkResult(iterResults));
}
results.add(new RunResult(benchmarkResults));
}
return results;
}
开发者ID:msteindorfer,项目名称:jmh,代码行数:43,代码来源:ResultFormatTest.java
示例11: afterIteration
import org.openjdk.jmh.results.IterationResult; //导入依赖的package包/类
@Override
public Collection<? extends Result> afterIteration(final BenchmarkParams benchmarkParams, final IterationParams iterationParams, final IterationResult result) {
List<Result> l = new ArrayList<>();
addLinuxVmStats(l);
return l;
}
开发者ID:cache2k,项目名称:cache2k-benchmark,代码行数:7,代码来源:LinuxVmProfiler.java
示例12: iterationResult
import org.openjdk.jmh.results.IterationResult; //导入依赖的package包/类
@Override
public void iterationResult(BenchmarkParams benchmarkParams, IterationParams params, int iteration, IterationResult data) {
}
开发者ID:msteindorfer,项目名称:jmh,代码行数:5,代码来源:SilentFormat.java
示例13: iterationResult
import org.openjdk.jmh.results.IterationResult; //导入依赖的package包/类
/**
* Format for end-of-iteration.
*
* @param benchParams name of benchmark
* @param params iteration params in use
* @param iteration iteration-number
* @param data result of iteration
*/
public void iterationResult(BenchmarkParams benchParams, IterationParams params, int iteration, IterationResult data);
开发者ID:msteindorfer,项目名称:jmh,代码行数:10,代码来源:OutputFormat.java
示例14: runIteration
import org.openjdk.jmh.results.IterationResult; //导入依赖的package包/类
/**
* Runs an iteration on the handled benchmark.
*
* @param benchmarkParams Benchmark parameters
* @param params Iteration parameters
* @param last Should this iteration considered to be the last
* @return IterationResult
*/
public IterationResult runIteration(BenchmarkParams benchmarkParams, IterationParams params, boolean last);
开发者ID:msteindorfer,项目名称:jmh,代码行数:10,代码来源:BenchmarkHandler.java
注:本文中的org.openjdk.jmh.results.IterationResult类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论