diff --git a/src/test/java/teetime/variant/methodcallWithPorts/examples/experiment16/MethodCallThoughputTimestampAnalysis16Test.java b/src/test/java/teetime/variant/methodcallWithPorts/examples/experiment16/MethodCallThoughputTimestampAnalysis16Test.java index 2da0688944ebb5dbbc8bd2409ea784b8c29deb2b..13dd2e8e54d6bf1eaf551096a0b79cbf98ce38b0 100644 --- a/src/test/java/teetime/variant/methodcallWithPorts/examples/experiment16/MethodCallThoughputTimestampAnalysis16Test.java +++ b/src/test/java/teetime/variant/methodcallWithPorts/examples/experiment16/MethodCallThoughputTimestampAnalysis16Test.java @@ -15,6 +15,9 @@ ***************************************************************************/ package teetime.variant.methodcallWithPorts.examples.experiment16; +import static org.junit.Assert.assertEquals; + +import org.junit.AfterClass; import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runners.MethodSorters; @@ -22,6 +25,7 @@ import org.junit.runners.MethodSorters; import teetime.util.ConstructorClosure; import teetime.util.ListUtil; import teetime.variant.explicitScheduling.examples.throughput.TimestampObject; +import test.PerformanceResult; import test.PerformanceTest; /** @@ -49,18 +53,24 @@ public class MethodCallThoughputTimestampAnalysis16Test extends PerformanceTest this.performAnalysis(4); } - // @AfterClass - // public static void afterClass() { - // PerformanceResult test16a = PerformanceTest.measurementRepository.performanceResults - // .get("testWithManyObjectsAnd1Thread(teetime.variant.methodcallWithPorts.examples.experiment16.MethodCallThoughputTimestampAnalysis16Test)"); - // PerformanceResult test16b = PerformanceTest.measurementRepository.performanceResults - // .get("testWithManyObjectsAnd2Threads(teetime.variant.methodcallWithPorts.examples.experiment16.MethodCallThoughputTimestampAnalysis16Test)"); - // PerformanceResult test16c = PerformanceTest.measurementRepository.performanceResults - // .get("testWithManyObjectsAnd4Threads(teetime.variant.methodcallWithPorts.examples.experiment16.MethodCallThoughputTimestampAnalysis16Test)"); - // // check speedup - // assertEquals(2, (double) test16a.overallDurationInNs / test16b.overallDurationInNs, 0.2); - // assertEquals(2.5, (double) test16a.overallDurationInNs / test16c.overallDurationInNs, 0.2); - // } + @AfterClass + public static void afterClass() { + PerformanceResult test16a = PerformanceTest.measurementRepository.performanceResults + .get("testWithManyObjectsAnd1Thread(teetime.variant.methodcallWithPorts.examples.experiment16.MethodCallThoughputTimestampAnalysis16Test)"); + PerformanceResult test16b = PerformanceTest.measurementRepository.performanceResults + .get("testWithManyObjectsAnd2Threads(teetime.variant.methodcallWithPorts.examples.experiment16.MethodCallThoughputTimestampAnalysis16Test)"); + PerformanceResult test16c = PerformanceTest.measurementRepository.performanceResults + .get("testWithManyObjectsAnd4Threads(teetime.variant.methodcallWithPorts.examples.experiment16.MethodCallThoughputTimestampAnalysis16Test)"); + // check speedup + double speedupB = (double) test16a.overallDurationInNs / test16b.overallDurationInNs; + double speedupC = (double) test16a.overallDurationInNs / test16c.overallDurationInNs; + + System.out.println("speedupB: " + speedupB); + System.out.println("speedupC: " + speedupC); + + assertEquals(2, speedupB, 0.3); + assertEquals(2.5, speedupC, 0.3); + } private void performAnalysis(final int numThreads) { System.out.println("Testing teetime (mc) with NUM_OBJECTS_TO_CREATE=" + NUM_OBJECTS_TO_CREATE + ", NUM_NOOP_FILTERS=" diff --git a/src/test/java/teetime/variant/methodcallWithPorts/examples/experiment16/MethodCallThroughputAnalysis16.java b/src/test/java/teetime/variant/methodcallWithPorts/examples/experiment16/MethodCallThroughputAnalysis16.java index da66f567c6c3cc20a8717e6d81e73dfc7ce53f8a..b9dc83f32af2fa465a871ee15b205914399e1de9 100644 --- a/src/test/java/teetime/variant/methodcallWithPorts/examples/experiment16/MethodCallThroughputAnalysis16.java +++ b/src/test/java/teetime/variant/methodcallWithPorts/examples/experiment16/MethodCallThroughputAnalysis16.java @@ -74,15 +74,6 @@ public class MethodCallThroughputAnalysis16 extends Analysis { Pipeline<TimestampObject, Void> workerPipeline = this.buildPipeline(producerPipeline, resultList); this.workerThreads[i] = new Thread(new RunnableStage<TimestampObject>(workerPipeline)); } - - // this.producerThread.start(); - // - // try { - // this.producerThread.join(); - // } catch (InterruptedException e1) { - // // TODO Auto-generated catch block - // e1.printStackTrace(); - // } } private Pipeline<Void, TimestampObject> buildProducerPipeline(final int numInputObjects, final ConstructorClosure<TimestampObject> inputObjectCreator) {