1
2
3
4
5
6
7
8
9
10
11
12
13
14 package ch.qos.logback.core.contention;
15
16
17
18
19
20
21
22
23
24 public class ThreadedThroughputCalculator extends MultiThreadedHarness {
25
26 public ThreadedThroughputCalculator(long overallDurationInMillis) {
27 super(overallDurationInMillis);
28 }
29
30 public void printThroughput(RunnableWithCounterAndDone[] runnableArray, String msg) throws InterruptedException {
31 printThroughput(runnableArray, msg, false);
32 }
33
34 public void printThroughput( RunnableWithCounterAndDone[] runnableArray, String msg, boolean detailed) throws InterruptedException {
35 long sum = 0;
36 for (RunnableWithCounterAndDone r : runnableArray) {
37 if (detailed) {
38 System.out.println(r + " count=" + r.getCounter());
39 }
40 sum += r.getCounter();
41 }
42
43 System.out.println(msg + "total of " + sum + " operations, or " + ((sum) / overallDurationInMillis)
44 + " operations per millisecond");
45 }
46 }