diff --git a/src/main/java/teetime/framework/concurrent/NextStageScheduler.java b/src/main/java/teetime/framework/concurrent/NextStageScheduler.java index 8eda5657ec8a2befafbb6dde0296fca91fdf5912..e45a786abe3b46c9e5b517d6fa69e9cd5ace15c3 100644 --- a/src/main/java/teetime/framework/concurrent/NextStageScheduler.java +++ b/src/main/java/teetime/framework/concurrent/NextStageScheduler.java @@ -123,7 +123,7 @@ public class NextStageScheduler implements IStageScheduler { this.stopWatch.end(); - this.durationInNs += this.stopWatch.getDuration(); + this.durationInNs += this.stopWatch.getDurationInNs(); if ((this.iterations % 10000) == 0) { this.durations.add(this.durationInNs); this.durationInNs = 0; diff --git a/src/main/java/teetime/framework/concurrent/WorkerThread.java b/src/main/java/teetime/framework/concurrent/WorkerThread.java index ca2a15c7ec8a753cac53a5bb48ae05166646e207..db5abd01c9373496dc2b385d5619449022846170 100644 --- a/src/main/java/teetime/framework/concurrent/WorkerThread.java +++ b/src/main/java/teetime/framework/concurrent/WorkerThread.java @@ -78,7 +78,7 @@ public class WorkerThread extends Thread { this.stageScheduler.determineNextStage(stage, executedSuccessfully); this.iterationStopWatch.end(); - final long schedulingOverhead = this.iterationStopWatch.getDuration() - stage.getLastDuration(); + final long schedulingOverhead = this.iterationStopWatch.getDurationInNs() - stage.getLastDuration(); schedulingOverheadInNs += schedulingOverhead; if ((iterations % 10000) == 0) { this.schedulingOverheadsInNs.add(schedulingOverheadInNs); @@ -87,7 +87,7 @@ public class WorkerThread extends Thread { } this.stopWatch.end(); - this.durationInNs = this.stopWatch.getDuration(); + this.durationInNs = this.stopWatch.getDurationInNs(); final List<Long> durations = ((NextStageScheduler) this.stageScheduler).getDurations(); long overallDuration = 0; diff --git a/src/main/java/teetime/framework/core/AbstractFilter.java b/src/main/java/teetime/framework/core/AbstractFilter.java index 0de24159328a81a87d4a03c9a7cf6873c655f544..f0a246a7b0c41c6a1ec6a0f056a700d49a7f9551 100644 --- a/src/main/java/teetime/framework/core/AbstractFilter.java +++ b/src/main/java/teetime/framework/core/AbstractFilter.java @@ -128,7 +128,7 @@ public abstract class AbstractFilter<S extends IStage> extends AbstractStage imp return success; } finally { this.stopWatch.end(); - this.lastDuration = this.stopWatch.getDuration(); + this.lastDuration = this.stopWatch.getDurationInNs(); this.overallDurationInNs += this.lastDuration; } } diff --git a/src/main/java/teetime/util/StatisticsUtil.java b/src/main/java/teetime/util/StatisticsUtil.java index 48a023b2bd267b907efee92cc3d5c82e04bb0f01..dce702c425db10343e51837ded2595bfa973dd73 100644 --- a/src/main/java/teetime/util/StatisticsUtil.java +++ b/src/main/java/teetime/util/StatisticsUtil.java @@ -27,7 +27,7 @@ import teetime.examples.throughput.TimestampObject; /** * @author Christian Wulf - * + * * @since 1.10 */ public class StatisticsUtil { @@ -62,20 +62,20 @@ public class StatisticsUtil { final Map<Double, Long> quintileValues = StatisticsUtil.calculateQuintiles(sortedDurationsInNs); - System.out.println("min: " + TimeUnit.NANOSECONDS.toMicros(minDurationInNs) + " µs"); - System.out.println("max: " + TimeUnit.NANOSECONDS.toMicros(maxDurationInNs) + " µs"); + System.out.println("min: " + TimeUnit.NANOSECONDS.toMicros(minDurationInNs) + " µs"); + System.out.println("max: " + TimeUnit.NANOSECONDS.toMicros(maxDurationInNs) + " µs"); final long avgDurInNs = sumInNs / (timestampObjects.size() / 2); - System.out.println("avg duration: " + TimeUnit.NANOSECONDS.toMicros(avgDurInNs) + " µs"); + System.out.println("avg duration: " + TimeUnit.NANOSECONDS.toMicros(avgDurInNs) + " µs"); for (final Entry<Double, Long> entry : quintileValues.entrySet()) { - System.out.println((entry.getKey() * 100) + " % : " + TimeUnit.NANOSECONDS.toMicros(entry.getValue()) + " µs"); + System.out.println((entry.getKey() * 100) + " % : " + TimeUnit.NANOSECONDS.toMicros(entry.getValue()) + " µs"); } final long confidenceWidthInNs = StatisticsUtil.calculateConfidenceWidth(sortedDurationsInNs, avgDurInNs); System.out.println("confidenceWidth: " + confidenceWidthInNs + " ns"); - System.out.println("[" + TimeUnit.NANOSECONDS.toMicros(avgDurInNs - confidenceWidthInNs) + " µs, " - + TimeUnit.NANOSECONDS.toMicros(avgDurInNs + confidenceWidthInNs) + " µs]"); + System.out.println("[" + TimeUnit.NANOSECONDS.toMicros(avgDurInNs - confidenceWidthInNs) + " µs, " + + TimeUnit.NANOSECONDS.toMicros(avgDurInNs + confidenceWidthInNs) + " µs]"); } public static long calculateConfidenceWidth(final List<Long> durations, final long avgDurInNs) { diff --git a/src/main/java/teetime/util/StopWatch.java b/src/main/java/teetime/util/StopWatch.java index bd59385903349ec803b3841e2377c49409895569..8b13d08335af0182fa22177b237fca9c89302c56 100644 --- a/src/main/java/teetime/util/StopWatch.java +++ b/src/main/java/teetime/util/StopWatch.java @@ -2,18 +2,18 @@ package teetime.util; public final class StopWatch { - private long startTimeInMs; - private long endTimeInMs; + private long startTimeInNs; + private long endTimeInNs; public final void start() { - this.startTimeInMs = System.nanoTime(); + this.startTimeInNs = System.nanoTime(); } public final void end() { - this.endTimeInMs = System.nanoTime(); + this.endTimeInNs = System.nanoTime(); } - public final long getDuration() { - return this.endTimeInMs - this.startTimeInMs; + public final long getDurationInNs() { + return this.endTimeInNs - this.startTimeInNs; } } diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysisTest.java b/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysisTest.java index b5dd36d650166837f5011097c81a14096b9d9b41..f6d10d99580899fa7ebb3681aa55cc1d14ef85b5 100644 --- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysisTest.java +++ b/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysisTest.java @@ -68,7 +68,7 @@ public class MethodCallThoughputTimestampAnalysisTest { stopWatch.end(); } - StatisticsUtil.printStatistics(stopWatch.getDuration(), timestampObjects); + StatisticsUtil.printStatistics(stopWatch.getDurationInNs(), timestampObjects); } } diff --git a/src/test/java/teetime/examples/throughput/ThroughputAnalysisTest.java b/src/test/java/teetime/examples/throughput/ThroughputAnalysisTest.java index 12538bec75df3f1307352399958f6a4d3f49b029..ef0e72ce779959b3b8edd08603c5b5afe65d4b20 100644 --- a/src/test/java/teetime/examples/throughput/ThroughputAnalysisTest.java +++ b/src/test/java/teetime/examples/throughput/ThroughputAnalysisTest.java @@ -26,7 +26,7 @@ import teetime.util.StopWatch; /** * @author Christian Wulf - * + * * @since 1.10 */ public class ThroughputAnalysisTest { @@ -63,11 +63,11 @@ public class ThroughputAnalysisTest { stopWatch.end(); } - durations[i] = stopWatch.getDuration(); + durations[i] = stopWatch.getDurationInNs(); } // for (final long dur : durations) { - // System.out.println("Duration: " + (dur / 1000) + " �s"); + // System.out.println("Duration: " + (dur / 1000) + " µs"); // } long sum = 0; @@ -76,7 +76,7 @@ public class ThroughputAnalysisTest { } final long avgDur = sum / (numRuns / 2); - System.out.println("avg duration: " + (avgDur / 1000) + " �s"); + System.out.println("avg duration: " + (avgDur / 1000) + " µs"); } } diff --git a/src/test/java/teetime/examples/throughput/ThroughputTimestampAnalysisTest.java b/src/test/java/teetime/examples/throughput/ThroughputTimestampAnalysisTest.java index e4289f497a13e1d99307d92fab52b59e00ca81a9..d940bd1b91ffcf92948a29917fefa91aef9c092b 100644 --- a/src/test/java/teetime/examples/throughput/ThroughputTimestampAnalysisTest.java +++ b/src/test/java/teetime/examples/throughput/ThroughputTimestampAnalysisTest.java @@ -81,7 +81,7 @@ public class ThroughputTimestampAnalysisTest { stopWatch.end(); } - StatisticsUtil.printStatistics(stopWatch.getDuration(), timestampObjects); + StatisticsUtil.printStatistics(stopWatch.getDurationInNs(), timestampObjects); } } diff --git a/src/test/java/teetime/util/concurrent/CircularWorkStealingDequeTest.java b/src/test/java/teetime/util/concurrent/CircularWorkStealingDequeTest.java index ca0fc714726656955e878e2db577d2f4d8d1b72a..c62ced60bdd1ea730c436684976588bbce2009d8 100644 --- a/src/test/java/teetime/util/concurrent/CircularWorkStealingDequeTest.java +++ b/src/test/java/teetime/util/concurrent/CircularWorkStealingDequeTest.java @@ -28,7 +28,7 @@ public class CircularWorkStealingDequeTest { } this.stopWatch.end(); - Assert.assertThat(this.stopWatch.getDuration(), - OrderingComparison.lessThan(UntypedCircularWorkStealingDequeTest.EXPECTED_DURATION)); + Assert.assertThat(this.stopWatch.getDurationInNs(), + OrderingComparison.lessThan(UntypedCircularWorkStealingDequeTest.EXPECTED_DURATION_IN_NS)); } } diff --git a/src/test/java/teetime/util/concurrent/workstealing/alternative/CircularWorkStealingDequeTest.java b/src/test/java/teetime/util/concurrent/workstealing/alternative/CircularWorkStealingDequeTest.java index 9ad2c0b91ecab4a6b988e9d2dc87fcaa5c2fdeed..4ed31d09b68ce915c12eb6c10e4d18109033172e 100644 --- a/src/test/java/teetime/util/concurrent/workstealing/alternative/CircularWorkStealingDequeTest.java +++ b/src/test/java/teetime/util/concurrent/workstealing/alternative/CircularWorkStealingDequeTest.java @@ -27,6 +27,6 @@ public class CircularWorkStealingDequeTest { } this.stopWatch.end(); - Assert.assertThat(this.stopWatch.getDuration(), OrderingComparison.lessThan(UntypedCircularWorkStealingDequeTest.EXPECTED_DURATION)); + Assert.assertThat(this.stopWatch.getDurationInNs(), OrderingComparison.lessThan(UntypedCircularWorkStealingDequeTest.EXPECTED_DURATION_IN_NS)); } } diff --git a/src/test/java/teetime/util/concurrent/workstealing/alternative/CircularWorkStealingDequeWithSentinelTest.java b/src/test/java/teetime/util/concurrent/workstealing/alternative/CircularWorkStealingDequeWithSentinelTest.java index 896123f185cfddebac8c401f371254212d0766f3..401c160673503e1e613b93ad9367238829e42517 100644 --- a/src/test/java/teetime/util/concurrent/workstealing/alternative/CircularWorkStealingDequeWithSentinelTest.java +++ b/src/test/java/teetime/util/concurrent/workstealing/alternative/CircularWorkStealingDequeWithSentinelTest.java @@ -29,6 +29,6 @@ public class CircularWorkStealingDequeWithSentinelTest { } this.stopWatch.end(); - Assert.assertThat(this.stopWatch.getDuration(), OrderingComparison.lessThan(UntypedCircularWorkStealingDequeTest.EXPECTED_DURATION)); + Assert.assertThat(this.stopWatch.getDurationInNs(), OrderingComparison.lessThan(UntypedCircularWorkStealingDequeTest.EXPECTED_DURATION_IN_NS)); } } diff --git a/src/test/java/teetime/util/concurrent/workstealing/alternative/CircularWorkStealingDequeWithThreadLocalSentinelTest.java b/src/test/java/teetime/util/concurrent/workstealing/alternative/CircularWorkStealingDequeWithThreadLocalSentinelTest.java index dc1a0cfb9273d9039fe649ab938d5b19a132c1c2..42555e679a686e3b9a4f56bdba506f24c2962e51 100644 --- a/src/test/java/teetime/util/concurrent/workstealing/alternative/CircularWorkStealingDequeWithThreadLocalSentinelTest.java +++ b/src/test/java/teetime/util/concurrent/workstealing/alternative/CircularWorkStealingDequeWithThreadLocalSentinelTest.java @@ -29,6 +29,6 @@ public class CircularWorkStealingDequeWithThreadLocalSentinelTest { } this.stopWatch.end(); - Assert.assertThat(this.stopWatch.getDuration(), OrderingComparison.lessThan(UntypedCircularWorkStealingDequeTest.EXPECTED_DURATION)); + Assert.assertThat(this.stopWatch.getDurationInNs(), OrderingComparison.lessThan(UntypedCircularWorkStealingDequeTest.EXPECTED_DURATION_IN_NS)); } } diff --git a/src/test/java/teetime/util/concurrent/workstealing/alternative/ExceptionalCircularWorkStealingDequeTest.java b/src/test/java/teetime/util/concurrent/workstealing/alternative/ExceptionalCircularWorkStealingDequeTest.java index 89f5c97c77aa89f39b6098ed3eae4c591db71193..21858b035af37dc26059cb6b4eb4d44d868aafa3 100644 --- a/src/test/java/teetime/util/concurrent/workstealing/alternative/ExceptionalCircularWorkStealingDequeTest.java +++ b/src/test/java/teetime/util/concurrent/workstealing/alternative/ExceptionalCircularWorkStealingDequeTest.java @@ -34,6 +34,6 @@ public class ExceptionalCircularWorkStealingDequeTest { } this.stopWatch.end(); - Assert.assertThat(this.stopWatch.getDuration(), OrderingComparison.lessThan(UntypedCircularWorkStealingDequeTest.EXPECTED_DURATION)); + Assert.assertThat(this.stopWatch.getDurationInNs(), OrderingComparison.lessThan(UntypedCircularWorkStealingDequeTest.EXPECTED_DURATION_IN_NS)); } } diff --git a/src/test/java/teetime/util/concurrent/workstealing/alternative/UntypedCircularWorkStealingDequeTest.java b/src/test/java/teetime/util/concurrent/workstealing/alternative/UntypedCircularWorkStealingDequeTest.java index 2f5bd5a556bbcc975fe030daf998c6986e676160..aedc786b3a1190fbf54c5f6f6c67725d8b8ae5d2 100644 --- a/src/test/java/teetime/util/concurrent/workstealing/alternative/UntypedCircularWorkStealingDequeTest.java +++ b/src/test/java/teetime/util/concurrent/workstealing/alternative/UntypedCircularWorkStealingDequeTest.java @@ -10,7 +10,7 @@ import teetime.util.StopWatch; public class UntypedCircularWorkStealingDequeTest { public static final int NUM_ITERATIONS = 100000000; - public static final long EXPECTED_DURATION = 1100; + public static final long EXPECTED_DURATION_IN_NS = 1100*1000*1000; private StopWatch stopWatch; @@ -30,6 +30,6 @@ public class UntypedCircularWorkStealingDequeTest { } this.stopWatch.end(); - Assert.assertThat(this.stopWatch.getDuration(), OrderingComparison.lessThan(UntypedCircularWorkStealingDequeTest.EXPECTED_DURATION)); + Assert.assertThat(this.stopWatch.getDurationInNs(), OrderingComparison.lessThan(UntypedCircularWorkStealingDequeTest.EXPECTED_DURATION_IN_NS)); } } diff --git a/src/test/java/teetime/util/concurrent/workstealing/alternative/UntypedExceptionalCircularWorkStealingDequeTest.java b/src/test/java/teetime/util/concurrent/workstealing/alternative/UntypedExceptionalCircularWorkStealingDequeTest.java index cc77fff3f46471851ebd8a5b57160b64a05d47b2..8ed614d13d0e31cf3558577a770906dc869bc24a 100644 --- a/src/test/java/teetime/util/concurrent/workstealing/alternative/UntypedExceptionalCircularWorkStealingDequeTest.java +++ b/src/test/java/teetime/util/concurrent/workstealing/alternative/UntypedExceptionalCircularWorkStealingDequeTest.java @@ -36,7 +36,7 @@ public class UntypedExceptionalCircularWorkStealingDequeTest { } this.stopWatch.end(); - Assert.assertThat(this.stopWatch.getDuration(), OrderingComparison.lessThan(UntypedCircularWorkStealingDequeTest.EXPECTED_DURATION)); + Assert.assertThat(this.stopWatch.getDurationInNs(), OrderingComparison.lessThan(UntypedCircularWorkStealingDequeTest.EXPECTED_DURATION_IN_NS)); Assert.assertThat(counter, OrderingComparison.comparesEqualTo(UntypedCircularWorkStealingDequeTest.NUM_ITERATIONS)); } }