From 3476ccf58e03208e7fd8ab8d8fbfe019fc1a1cfa Mon Sep 17 00:00:00 2001 From: Shautvast Date: Mon, 28 Aug 2023 21:01:45 +0200 Subject: [PATCH] v1.3 run with perf --- .../benchmarks/loops/LoopBenchmark.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/github/shautvast/benchmarks/loops/LoopBenchmark.java b/src/main/java/com/github/shautvast/benchmarks/loops/LoopBenchmark.java index 0baf076..70c41c0 100644 --- a/src/main/java/com/github/shautvast/benchmarks/loops/LoopBenchmark.java +++ b/src/main/java/com/github/shautvast/benchmarks/loops/LoopBenchmark.java @@ -1,6 +1,14 @@ package com.github.shautvast.benchmarks.loops; import org.openjdk.jmh.annotations.*; +import org.openjdk.jmh.profile.AsyncProfiler; +import org.openjdk.jmh.profile.LinuxPerfAsmProfiler; +import org.openjdk.jmh.profile.Profiler; +import org.openjdk.jmh.profile.ProfilerException; +import org.openjdk.jmh.runner.Runner; +import org.openjdk.jmh.runner.RunnerException; +import org.openjdk.jmh.runner.options.Options; +import org.openjdk.jmh.runner.options.OptionsBuilder; import java.util.*; import java.util.concurrent.TimeUnit; @@ -12,7 +20,7 @@ public class LoopBenchmark { @org.openjdk.jmh.annotations.State(Scope.Thread) public static class State { - final static int LIST_SIZE = 1000; + final static int LIST_SIZE = 1; List list = new ArrayList<>(LIST_SIZE); @Setup(Level.Iteration) @@ -54,4 +62,16 @@ public class LoopBenchmark { public long stream(LoopBenchmark.State state) { return state.list.stream().mapToLong(String::length).sum(); } + + public static void main(String[] args) throws RunnerException { + Options opt = new OptionsBuilder() + .include(LoopBenchmark.class.getSimpleName()) + .forks(1) + .mode(Mode.AverageTime) + .timeUnit(TimeUnit.NANOSECONDS) + .addProfiler(LinuxPerfAsmProfiler.class) + .build(); + + new Runner(opt).run(); + } }