diff --git a/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/Benchmark.java b/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/Benchmark.java index 7f17efab57..fa4eafab8e 100644 --- a/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/Benchmark.java +++ b/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/Benchmark.java @@ -18,7 +18,7 @@ public class Benchmark { private final Map timerStore = new LinkedHashMap<>(); private Timer updateTimer = null; - private Benchmark() {} + public Benchmark() {} public static Benchmark getInstance(){ return benchmarkInstance; @@ -92,6 +92,11 @@ public String toString(){ s.append(b); s.append(" *\n"); } + s.append(String.format("* %-15s : #Calls %12.2f, Total = %12.2f sec, Unit = %12.3f msec *\n", + "TOTAL", + ((float)timers.stream().mapToInt(x -> x.numberOfCalls.get()).sum())/timers.size(), + timers.stream().mapToDouble(x -> x.getSeconds()).sum(), + timers.stream().mapToDouble(x -> x.getMillisecondsPerCall()).sum())); s.append(margins); s.append("\n"); } @@ -106,16 +111,4 @@ public String[] toCSV() { }; } - public static void main(String[] args){ - Benchmark b = getInstance(); - b.printTimer(10); - int loop = 0; - while(true){ - b.resume("COUNT"); - loop++; - b.pause("COUNT"); - try { Thread.sleep(2000); } - catch (InterruptedException ex) {} - } - } } diff --git a/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/BenchmarkTimer.java b/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/BenchmarkTimer.java index bf248059b2..edf4fec42b 100644 --- a/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/BenchmarkTimer.java +++ b/common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/BenchmarkTimer.java @@ -83,13 +83,14 @@ public double getSeconds(){ return totalTime.get() / 1.0e9; } + public double getMillisecondsPerCall() { + return numberOfCalls.get() > 0 ? getMilliseconds() / numberOfCalls.get() : 0; + } + @Override public String toString() { return String.format("%-15s : #Calls %12d, Total = %12.2f sec, Unit = %12.3f msec", getName(), numberOfCalls.get(), getSeconds(), getMillisecondsPerCall()); } - public double getMillisecondsPerCall() { - return numberOfCalls.get() > 0 ? getMilliseconds() / numberOfCalls.get() : 0; - } }