From 0009f91d8b55907bff8dbd2a76b83f6e66645ede Mon Sep 17 00:00:00 2001
From: Christian Wulf <chw@informatik.uni-kiel.de>
Date: Sun, 7 Dec 2014 22:11:44 +0100
Subject: [PATCH] refactored performance test

---
 .../experiment16/ChwHomePerformanceCheck.java | 19 ++++++++-------
 ...dCallThoughputTimestampAnalysis16Test.java | 24 ++++++++++++++-----
 2 files changed, 29 insertions(+), 14 deletions(-)

diff --git a/src/performancetest/java/teetime/examples/experiment16/ChwHomePerformanceCheck.java b/src/performancetest/java/teetime/examples/experiment16/ChwHomePerformanceCheck.java
index 8333ae8c..11a831ba 100644
--- a/src/performancetest/java/teetime/examples/experiment16/ChwHomePerformanceCheck.java
+++ b/src/performancetest/java/teetime/examples/experiment16/ChwHomePerformanceCheck.java
@@ -1,9 +1,9 @@
 package teetime.examples.experiment16;
 
 import static org.junit.Assert.assertEquals;
+import util.test.AbstractProfiledPerformanceAssertion;
 import util.test.PerformanceResult;
 import util.test.PerformanceTest;
-import util.test.AbstractProfiledPerformanceAssertion;
 
 class ChwHomePerformanceCheck extends AbstractProfiledPerformanceAssertion {
 
@@ -15,22 +15,25 @@ class ChwHomePerformanceCheck extends AbstractProfiledPerformanceAssertion {
 	@Override
 	public void check() {
 		PerformanceResult test16a = PerformanceTest.measurementRepository.performanceResults
-				.get("testWithManyObjectsAnd1Thread(teetime.examples.experiment16.MethodCallThoughputTimestampAnalysis16Test)");
+				.get("testWithManyObjectsAnd1Thread(" + MethodCallThoughputTimestampAnalysis16Test.class.getName() + ")");
 		PerformanceResult test16b = PerformanceTest.measurementRepository.performanceResults
-				.get("testWithManyObjectsAnd2Threads(teetime.examples.experiment16.MethodCallThoughputTimestampAnalysis16Test)");
+				.get("testWithManyObjectsAnd2Threads(" + MethodCallThoughputTimestampAnalysis16Test.class.getName() + ")");
 		PerformanceResult test16c = PerformanceTest.measurementRepository.performanceResults
-				.get("testWithManyObjectsAnd4Threads(teetime.examples.experiment16.MethodCallThoughputTimestampAnalysis16Test)");
+				.get("testWithManyObjectsAnd4Threads(" + MethodCallThoughputTimestampAnalysis16Test.class.getName() + ")");
 		// 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);
+		System.out.println(ChwHomePerformanceCheck.class.getName() + ", speedupB: " + speedupB);
+		System.out.println(ChwHomePerformanceCheck.class.getName() + ", speedupC: " + speedupC);
 
-		assertEquals(2, speedupB, 0.3);
+		// assertEquals(2, speedupB, 0.3);
 		// since 31.08.2014 (incl.)
 		// assertEquals(3.6, speedupC, 0.3);
 		// since 04.11.2014 (incl.)
-		assertEquals(5, speedupC, 0.3);
+		// assertEquals(5, speedupC, 0.4);
+		// since 07.12.2014 (incl.)
+		assertEquals(2, speedupB, 0.4);
+		assertEquals(5, speedupC, 0.4);
 	}
 }
diff --git a/src/performancetest/java/teetime/examples/experiment16/MethodCallThoughputTimestampAnalysis16Test.java b/src/performancetest/java/teetime/examples/experiment16/MethodCallThoughputTimestampAnalysis16Test.java
index 2963e807..f6b61ff9 100644
--- a/src/performancetest/java/teetime/examples/experiment16/MethodCallThoughputTimestampAnalysis16Test.java
+++ b/src/performancetest/java/teetime/examples/experiment16/MethodCallThoughputTimestampAnalysis16Test.java
@@ -24,19 +24,31 @@ import org.junit.runners.MethodSorters;
 import teetime.util.ConstructorClosure;
 import teetime.util.ListUtil;
 import teetime.util.TimestampObject;
+import util.test.AbstractProfiledPerformanceAssertion;
 import util.test.PerformanceCheckProfileRepository;
 import util.test.PerformanceTest;
-import util.test.AbstractProfiledPerformanceAssertion;
 
 /**
  * @author Christian Wulf
  *
- * @since 1.10
+ * @since 1.0
  */
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
+// @RunWith(Parameterized.class)
 public class MethodCallThoughputTimestampAnalysis16Test extends PerformanceTest {
 
-	// TODO use @Parameter for the number of threads
+	// private final int numThreads;
+	//
+	// @Parameters
+	// public static Iterable<Object[]> data() {
+	// return Arrays.asList(new Object[][] {
+	// { 1 }, { 2 }, { 4 }
+	// });
+	// }
+	//
+	// public MethodCallThoughputTimestampAnalysis16Test(final int numThreads) {
+	// this.numThreads = numThreads;
+	// }
 
 	@BeforeClass
 	public static void beforeClass() {
@@ -52,17 +64,17 @@ public class MethodCallThoughputTimestampAnalysis16Test extends PerformanceTest
 
 	@Test
 	public void testWithManyObjectsAnd1Thread() {
-		this.performAnalysis(1);
+		performAnalysis(1);
 	}
 
 	@Test
 	public void testWithManyObjectsAnd2Threads() {
-		this.performAnalysis(2);
+		performAnalysis(2);
 	}
 
 	@Test
 	public void testWithManyObjectsAnd4Threads() {
-		this.performAnalysis(4);
+		performAnalysis(4);
 	}
 
 	private void performAnalysis(final int numThreads) {
-- 
GitLab