From 294016e40cefd217b68978c70e27dda1774f3a8f Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 18 Sep 2026 22:01:16 -0400 Subject: [PATCH 1/4] publicize constructor --- .../src/main/java/org/jlab/utils/benchmark/Benchmark.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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..97a4531a4a 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; From a5d61a0a65eb6c5f215059ce8085b31ec2d49dbb Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 18 Sep 2026 22:04:55 -0400 Subject: [PATCH 2/4] add a TOTAL row, for human consumption --- .../src/main/java/org/jlab/utils/benchmark/Benchmark.java | 5 +++++ 1 file changed, 5 insertions(+) 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 97a4531a4a..4552f88cd8 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 @@ -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"); } From 023ac43312587bea0bf0516f12da67f5c716e12e Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 18 Sep 2026 22:06:43 -0400 Subject: [PATCH 3/4] fix indentation --- .../src/main/java/org/jlab/utils/benchmark/Benchmark.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 4552f88cd8..745dac52d2 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 @@ -92,7 +92,7 @@ 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", + 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(), From b8f34279b2493934ddbe222c67ee0786aa5ac333 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 18 Sep 2026 22:34:06 -0400 Subject: [PATCH 4/4] cleanup --- .../java/org/jlab/utils/benchmark/Benchmark.java | 12 ------------ .../org/jlab/utils/benchmark/BenchmarkTimer.java | 7 ++++--- 2 files changed, 4 insertions(+), 15 deletions(-) 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 745dac52d2..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 @@ -111,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; - } }