diff --git a/src/main/java/util/PerformanceTest.java b/src/main/java/util/PerformanceTest.java
index cc672d509e4890a617b19fd3a71ede5592012a49..24bf696601552e3dd4ef5da201ec3416b9eb0cf0 100644
--- a/src/main/java/util/PerformanceTest.java
+++ b/src/main/java/util/PerformanceTest.java
@@ -6,7 +6,6 @@ import java.util.concurrent.TimeUnit;
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Rule;
 import org.junit.rules.TestRule;
 import org.junit.rules.TestWatcher;
@@ -17,6 +16,7 @@ import teetime.util.TimestampObject;
 
 public abstract class PerformanceTest {
 
+	protected static final PerformanceCheckProfileRepository PERFORMANCE_CHECK_PROFILE_REPOSITORY = PerformanceCheckProfileRepository.INSTANCE;
 	protected static final int NUM_OBJECTS_TO_CREATE = 1000000;
 	protected static final int NUM_NOOP_FILTERS = 800;
 
@@ -27,8 +27,7 @@ public abstract class PerformanceTest {
 	protected StopWatch stopWatch;
 	protected List<TimestampObject> timestampObjects;
 
-	@BeforeClass
-	public static void beforeClass() {
+	static {
 		System.setProperty("logback.configurationFile", "src/test/resources/logback-test.groovy");
 	}
 
diff --git a/src/performancetest/java/teetime/examples/ChwHomeComparisonMethodcallWithPorts.java b/src/performancetest/java/teetime/examples/ChwHomeComparisonMethodcallWithPorts.java
index 8c4ab937fe73bf651c0b9c9f5986601db7b4f102..33c6aed061d2b37ea11504d71ef5462030e4c216 100644
--- a/src/performancetest/java/teetime/examples/ChwHomeComparisonMethodcallWithPorts.java
+++ b/src/performancetest/java/teetime/examples/ChwHomeComparisonMethodcallWithPorts.java
@@ -27,12 +27,12 @@ public class ChwHomeComparisonMethodcallWithPorts implements PerformanceCheckPro
 				.get("testWithManyObjects(teetime.examples.experiment01.MethodCallThoughputTimestampAnalysis1Test)");
 		PerformanceResult test9 = performanceResults
 				.get("testWithManyObjects(teetime.examples.experiment09.MethodCallThoughputTimestampAnalysis9Test)");
-		PerformanceResult test10 = performanceResults
-				.get("testWithManyObjects(teetime.examples.experiment10.MethodCallThoughputTimestampAnalysis10Test)");
+		// PerformanceResult test10 = performanceResults
+		// .get("testWithManyObjects(teetime.examples.experiment10.MethodCallThoughputTimestampAnalysis10Test)");
 		PerformanceResult test11 = performanceResults
 				.get("testWithManyObjects(teetime.examples.experiment11.MethodCallThoughputTimestampAnalysis11Test)");
-		PerformanceResult test14 = performanceResults
-				.get("testWithManyObjects(teetime.examples.experiment14.MethodCallThoughputTimestampAnalysis14Test)");
+		// PerformanceResult test14 = performanceResults
+		// .get("testWithManyObjects(teetime.examples.experiment14.MethodCallThoughputTimestampAnalysis14Test)");
 		PerformanceResult test15 = performanceResults
 				.get("testWithManyObjects(teetime.examples.experiment15.MethodCallThoughputTimestampAnalysis15Test)");
 		PerformanceResult test16a = performanceResults
@@ -50,8 +50,8 @@ public class ChwHomeComparisonMethodcallWithPorts implements PerformanceCheckPro
 		PerformanceResult test19c = performanceResults
 				.get("testWithManyObjectsAnd4Threads(teetime.examples.experiment19.MethodCallThoughputTimestampAnalysis19Test)");
 
-		double value14 = (double) test14.quantiles.get(0.5) / test1.quantiles.get(0.5);
-		double value10 = (double) test10.quantiles.get(0.5) / test1.quantiles.get(0.5);
+		// double value14 = (double) test14.quantiles.get(0.5) / test1.quantiles.get(0.5);
+		// double value10 = (double) test10.quantiles.get(0.5) / test1.quantiles.get(0.5);
 		double value11 = (double) test11.quantiles.get(0.5) / test1.quantiles.get(0.5);
 		double value9 = (double) test9.quantiles.get(0.5) / test1.quantiles.get(0.5);
 		double value15 = (double) test15.quantiles.get(0.5) / test1.quantiles.get(0.5);
@@ -59,8 +59,8 @@ public class ChwHomeComparisonMethodcallWithPorts implements PerformanceCheckPro
 
 		System.out.println("value9: " + value9);
 		System.out.println("value11: " + value11);
-		System.out.println("value10: " + value10);
-		System.out.println("value14: " + value14);
+		// System.out.println("value10: " + value10);
+		// System.out.println("value14: " + value14);
 		System.out.println("value15: " + value15);
 		System.out.println("value17: " + value17);
 
@@ -99,8 +99,8 @@ public class ChwHomeComparisonMethodcallWithPorts implements PerformanceCheckPro
 		// since 31.08.2014 (incl.)
 		assertEquals(44, value9, 2.1); // ??
 		assertEquals(43, value11, 4.1); // ??
-		assertEquals(51, value10, 2.1); // ??
-		assertEquals(62, value14, 5.1); // ??
+		// assertEquals(51, value10, 2.1); // ??
+		// assertEquals(62, value14, 5.1); // ??
 		assertEquals(68, value15, 4.1); // ??
 		assertEquals(75, value17, 4.1); // ??
 
diff --git a/src/performancetest/java/teetime/examples/ChwWorkComparisonMethodcallWithPorts.java b/src/performancetest/java/teetime/examples/ChwWorkComparisonMethodcallWithPorts.java
index 7e2bf8468ab9dde7b7c16a80dbbf93fa7d6ea611..241b4019d872ac59ea535324269a09c50d363337 100644
--- a/src/performancetest/java/teetime/examples/ChwWorkComparisonMethodcallWithPorts.java
+++ b/src/performancetest/java/teetime/examples/ChwWorkComparisonMethodcallWithPorts.java
@@ -27,12 +27,12 @@ public class ChwWorkComparisonMethodcallWithPorts implements PerformanceCheckPro
 				.get("testWithManyObjects(teetime.examples.experiment01.MethodCallThoughputTimestampAnalysis1Test)");
 		PerformanceResult test9 = performanceResults
 				.get("testWithManyObjects(teetime.examples.experiment09.MethodCallThoughputTimestampAnalysis9Test)");
-		PerformanceResult test10 = performanceResults
-				.get("testWithManyObjects(teetime.examples.experiment10.MethodCallThoughputTimestampAnalysis10Test)");
+		// PerformanceResult test10 = performanceResults
+		// .get("testWithManyObjects(teetime.examples.experiment10.MethodCallThoughputTimestampAnalysis10Test)");
 		PerformanceResult test11 = performanceResults
 				.get("testWithManyObjects(teetime.examples.experiment11.MethodCallThoughputTimestampAnalysis11Test)");
-		PerformanceResult test14 = performanceResults
-				.get("testWithManyObjects(teetime.examples.experiment14.MethodCallThoughputTimestampAnalysis14Test)");
+		// PerformanceResult test14 = performanceResults
+		// .get("testWithManyObjects(teetime.examples.experiment14.MethodCallThoughputTimestampAnalysis14Test)");
 		PerformanceResult test15 = performanceResults
 				.get("testWithManyObjects(teetime.examples.experiment15.MethodCallThoughputTimestampAnalysis15Test)");
 		PerformanceResult test16a = performanceResults
@@ -50,15 +50,15 @@ public class ChwWorkComparisonMethodcallWithPorts implements PerformanceCheckPro
 		PerformanceResult test19c = performanceResults
 				.get("testWithManyObjectsAnd4Threads(teetime.examples.experiment19.MethodCallThoughputTimestampAnalysis19Test)");
 
-		double value14 = (double) test14.quantiles.get(0.5) / test1.quantiles.get(0.5);
-		double value10 = (double) test10.quantiles.get(0.5) / test1.quantiles.get(0.5);
+		// double value14 = (double) test14.quantiles.get(0.5) / test1.quantiles.get(0.5);
+		// double value10 = (double) test10.quantiles.get(0.5) / test1.quantiles.get(0.5);
 		double value11 = (double) test11.quantiles.get(0.5) / test1.quantiles.get(0.5);
 		double value9 = (double) test9.quantiles.get(0.5) / test1.quantiles.get(0.5);
 		double value15 = (double) test15.quantiles.get(0.5) / test1.quantiles.get(0.5);
 		double value17 = (double) test17.quantiles.get(0.5) / test1.quantiles.get(0.5);
 
-		System.out.println("value14: " + value14);
-		System.out.println("value10: " + value10);
+		// System.out.println("value14: " + value14);
+		// System.out.println("value10: " + value10);
 		System.out.println("value11: " + value11);
 		System.out.println("value9: " + value9);
 		System.out.println("value15: " + value15);
@@ -89,8 +89,15 @@ public class ChwWorkComparisonMethodcallWithPorts implements PerformanceCheckPro
 		// assertEquals(53, value17, 4.1); // +0
 
 		// since 27.08.2014 (incl.)
-		assertEquals(102, value14, 5.1); // +16
-		assertEquals(56, value10, 2.1); // +30
+		// assertEquals(102, value14, 5.1); // +16
+		// assertEquals(56, value10, 2.1); // +30
+		// assertEquals(64, value11, 4.1); // +15
+		// assertEquals(77, value9, 2.1); // +35
+		// assertEquals(44, value15, 4.1); // +0
+		// assertEquals(53, value17, 4.1); // +0
+
+		// since 14.10.2014 (incl.)
+		// assertEquals(25, value10, 2.1); // -26
 		assertEquals(64, value11, 4.1); // +15
 		assertEquals(77, value9, 2.1); // +35
 		assertEquals(44, value15, 4.1); // +0
diff --git a/src/performancetest/java/teetime/examples/ComparisonMethodcallWithPorts.java b/src/performancetest/java/teetime/examples/ComparisonMethodcallWithPorts.java
index 2d9876f47df99c14d14619eb079c825d393a6586..0d59913581c3839942cf2f4693b37f367fddcb5a 100644
--- a/src/performancetest/java/teetime/examples/ComparisonMethodcallWithPorts.java
+++ b/src/performancetest/java/teetime/examples/ComparisonMethodcallWithPorts.java
@@ -6,6 +6,7 @@ import org.junit.runner.RunWith;
 import org.junit.runners.Suite;
 import org.junit.runners.Suite.SuiteClasses;
 
+import teetime.examples.experiment01.MethodCallThoughputTimestampAnalysis1Test;
 import teetime.examples.experiment09.MethodCallThoughputTimestampAnalysis9Test;
 import teetime.examples.experiment10.MethodCallThoughputTimestampAnalysis10Test;
 import teetime.examples.experiment11.MethodCallThoughputTimestampAnalysis11Test;
@@ -19,7 +20,7 @@ import util.PerformanceCheckProfileRepository;
 
 @RunWith(Suite.class)
 @SuiteClasses({
-	// MethodCallThoughputTimestampAnalysis1Test.class,
+	MethodCallThoughputTimestampAnalysis1Test.class,
 	MethodCallThoughputTimestampAnalysis9Test.class,
 	MethodCallThoughputTimestampAnalysis10Test.class,
 	MethodCallThoughputTimestampAnalysis11Test.class,
diff --git a/src/performancetest/java/teetime/examples/experiment01/MethodCallThroughputAnalysis1.java b/src/performancetest/java/teetime/examples/experiment01/MethodCallThroughputAnalysis1.java
index cde42bd77e231c073f8c0042bda1510c2f35774e..3f494dee35f14d499578ab4e895fbc04541e71c7 100644
--- a/src/performancetest/java/teetime/examples/experiment01/MethodCallThroughputAnalysis1.java
+++ b/src/performancetest/java/teetime/examples/experiment01/MethodCallThroughputAnalysis1.java
@@ -17,6 +17,11 @@ package teetime.examples.experiment01;
 
 import java.util.List;
 
+import teetime.examples.experiment01.legacystage.LegacyCollectorSink;
+import teetime.examples.experiment01.legacystage.LegacyNoopFilter;
+import teetime.examples.experiment01.legacystage.LegacyObjectProducer;
+import teetime.examples.experiment01.legacystage.LegacyStartTimestampFilter;
+import teetime.examples.experiment01.legacystage.LegacyStopTimestampFilter;
 import teetime.util.ConstructorClosure;
 import teetime.util.TimestampObject;
 
diff --git a/src/performancetest/java/teetime/examples/experiment01/LegacyCollectorSink.java b/src/performancetest/java/teetime/examples/experiment01/legacystage/LegacyCollectorSink.java
similarity index 94%
rename from src/performancetest/java/teetime/examples/experiment01/LegacyCollectorSink.java
rename to src/performancetest/java/teetime/examples/experiment01/legacystage/LegacyCollectorSink.java
index 1f24ecf0208813d57e8b68efed479ccd17a32e27..50282c803115c2721e5f4fbd00cfa55e5947f19d 100644
--- a/src/performancetest/java/teetime/examples/experiment01/LegacyCollectorSink.java
+++ b/src/performancetest/java/teetime/examples/experiment01/legacystage/LegacyCollectorSink.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.experiment01;
+package teetime.examples.experiment01.legacystage;
 
 import java.util.List;
 
@@ -46,7 +46,7 @@ public class LegacyCollectorSink<T> {
 		System.out.println("size: " + this.elements.size());
 	}
 
-	protected Object execute(final T element) {
+	public Object execute(final T element) {
 		this.elements.add(element);
 
 		if ((this.elements.size() % this.threshold) == 0) {
diff --git a/src/performancetest/java/teetime/examples/experiment01/LegacyNoopFilter.java b/src/performancetest/java/teetime/examples/experiment01/legacystage/LegacyNoopFilter.java
similarity index 91%
rename from src/performancetest/java/teetime/examples/experiment01/LegacyNoopFilter.java
rename to src/performancetest/java/teetime/examples/experiment01/legacystage/LegacyNoopFilter.java
index bc43446d19a74443febadedf44b48bd7ff1bf4ac..c5247c212ed954a9ff7d7740f6dae74b2fd5c568 100644
--- a/src/performancetest/java/teetime/examples/experiment01/LegacyNoopFilter.java
+++ b/src/performancetest/java/teetime/examples/experiment01/legacystage/LegacyNoopFilter.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.experiment01;
+package teetime.examples.experiment01.legacystage;
 
 /**
  * @author Christian Wulf
@@ -22,7 +22,7 @@ package teetime.examples.experiment01;
  */
 public class LegacyNoopFilter<T> {
 
-	protected T execute(final T element) {
+	public T execute(final T element) {
 		return element;
 	}
 
diff --git a/src/performancetest/java/teetime/examples/experiment01/LegacyObjectProducer.java b/src/performancetest/java/teetime/examples/experiment01/legacystage/LegacyObjectProducer.java
similarity index 96%
rename from src/performancetest/java/teetime/examples/experiment01/LegacyObjectProducer.java
rename to src/performancetest/java/teetime/examples/experiment01/legacystage/LegacyObjectProducer.java
index 4c87ce8f7e54ec4c41160ff13f3cf96a3e8bd2d1..16b93fbf34871e3742b35df32083a17a350e5734 100644
--- a/src/performancetest/java/teetime/examples/experiment01/LegacyObjectProducer.java
+++ b/src/performancetest/java/teetime/examples/experiment01/legacystage/LegacyObjectProducer.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.experiment01;
+package teetime.examples.experiment01.legacystage;
 
 import teetime.util.ConstructorClosure;
 
@@ -51,7 +51,7 @@ public class LegacyObjectProducer<T> {
 		this.inputObjectCreator = inputObjectCreator;
 	}
 
-	protected T execute() {
+	public T execute() {
 		if (this.numInputObjects == 0) {
 			return null;
 		}
diff --git a/src/performancetest/java/teetime/examples/experiment01/LegacyStartTimestampFilter.java b/src/performancetest/java/teetime/examples/experiment01/legacystage/LegacyStartTimestampFilter.java
similarity index 89%
rename from src/performancetest/java/teetime/examples/experiment01/LegacyStartTimestampFilter.java
rename to src/performancetest/java/teetime/examples/experiment01/legacystage/LegacyStartTimestampFilter.java
index 4a38bce28ccf8b5b92b4f5466ba0d30f5c3fe6ff..f2d119b9edc3cfb1a260b24cd20a15066cda0298 100644
--- a/src/performancetest/java/teetime/examples/experiment01/LegacyStartTimestampFilter.java
+++ b/src/performancetest/java/teetime/examples/experiment01/legacystage/LegacyStartTimestampFilter.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.experiment01;
+package teetime.examples.experiment01.legacystage;
 
 import teetime.util.TimestampObject;
 
@@ -24,7 +24,7 @@ import teetime.util.TimestampObject;
  */
 public class LegacyStartTimestampFilter {
 
-	protected TimestampObject execute(final TimestampObject element) {
+	public TimestampObject execute(final TimestampObject element) {
 		element.setStartTimestamp(System.nanoTime());
 		return element;
 	}
diff --git a/src/performancetest/java/teetime/examples/experiment01/LegacyStopTimestampFilter.java b/src/performancetest/java/teetime/examples/experiment01/legacystage/LegacyStopTimestampFilter.java
similarity index 89%
rename from src/performancetest/java/teetime/examples/experiment01/LegacyStopTimestampFilter.java
rename to src/performancetest/java/teetime/examples/experiment01/legacystage/LegacyStopTimestampFilter.java
index 6a867a3694d852fe7860072c79a12ee1168ac472..1f77d38a4a216a053a2ee1c0c38d549ac5b54a16 100644
--- a/src/performancetest/java/teetime/examples/experiment01/LegacyStopTimestampFilter.java
+++ b/src/performancetest/java/teetime/examples/experiment01/legacystage/LegacyStopTimestampFilter.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.experiment01;
+package teetime.examples.experiment01.legacystage;
 
 import teetime.util.TimestampObject;
 
@@ -24,7 +24,7 @@ import teetime.util.TimestampObject;
  */
 public class LegacyStopTimestampFilter {
 
-	protected TimestampObject execute(final TimestampObject element) {
+	public TimestampObject execute(final TimestampObject element) {
 		element.setStopTimestamp(System.nanoTime());
 		return element;
 	}
diff --git a/src/performancetest/java/teetime/examples/experiment10/ChwHomePerformanceCheck.java b/src/performancetest/java/teetime/examples/experiment10/ChwHomePerformanceCheck.java
new file mode 100644
index 0000000000000000000000000000000000000000..50b7485823078c62aa8f32249fe1c3897175e2b3
--- /dev/null
+++ b/src/performancetest/java/teetime/examples/experiment10/ChwHomePerformanceCheck.java
@@ -0,0 +1,35 @@
+package teetime.examples.experiment10;
+
+import static org.junit.Assert.assertEquals;
+import util.PerformanceCheckProfile;
+import util.PerformanceResult;
+import util.PerformanceTest;
+
+public class ChwHomePerformanceCheck implements PerformanceCheckProfile {
+
+	@Override
+	public String getCorrespondingPerformanceProfile() {
+		return "ChwHome";
+	}
+
+	@Override
+	public void check() {
+		PerformanceResult test01 = PerformanceTest.measurementRepository.performanceResults
+				.get("testWithManyObjects(teetime.examples.experiment01.MethodCallThoughputTimestampAnalysis1Test)");
+		PerformanceResult test10 = PerformanceTest.measurementRepository.performanceResults
+				.get("testWithManyObjects(teetime.examples.experiment10.MethodCallThoughputTimestampAnalysis10Test)");
+
+		double meanSpeedup = (double) test10.quantiles.get(0.5) / test01.quantiles.get(0.5);
+
+		System.out.println("meanSpeedup (10): " + meanSpeedup);
+
+		// since 26.06.2014 (incl.)
+		// assertEquals(26, value10, 2.1); // +14
+		// // since 04.07.2014 (incl.)
+		// assertEquals(26, value10, 2.1); // +0
+		// since 11.08.2014 (incl.)
+		// assertEquals(47, value10, 2.1); // +21
+		// since 31.08.2014 (incl.)
+		assertEquals(51, meanSpeedup, 2.1);
+	}
+}
diff --git a/src/performancetest/java/teetime/examples/experiment10/ChwWorkPerformanceCheck.java b/src/performancetest/java/teetime/examples/experiment10/ChwWorkPerformanceCheck.java
new file mode 100644
index 0000000000000000000000000000000000000000..27a03972cf00b0d6ad9a11f1c42105d7dda68b27
--- /dev/null
+++ b/src/performancetest/java/teetime/examples/experiment10/ChwWorkPerformanceCheck.java
@@ -0,0 +1,37 @@
+package teetime.examples.experiment10;
+
+import static org.junit.Assert.assertEquals;
+import util.PerformanceCheckProfile;
+import util.PerformanceResult;
+import util.PerformanceTest;
+
+public class ChwWorkPerformanceCheck implements PerformanceCheckProfile {
+
+	@Override
+	public String getCorrespondingPerformanceProfile() {
+		return "ChwWork";
+	}
+
+	@Override
+	public void check() {
+		PerformanceResult test01 = PerformanceTest.measurementRepository.performanceResults
+				.get("testWithManyObjects(teetime.examples.experiment01.MethodCallThoughputTimestampAnalysis1Test)");
+		PerformanceResult test10 = PerformanceTest.measurementRepository.performanceResults
+				.get("testWithManyObjects(teetime.examples.experiment10.MethodCallThoughputTimestampAnalysis10Test)");
+
+		double medianSpeedup = (double) test10.quantiles.get(0.5) / test01.quantiles.get(0.5);
+
+		System.out.println("medianSpeedup (10): " + medianSpeedup);
+
+		// until 25.06.2014 (incl.)
+		// assertEquals(14, (double) test10.quantiles.get(0.5) / test1.quantiles.get(0.5), 2.1);
+		// since 26.06.2014 (incl.)
+		// assertEquals(26, meanSpeedup, 2.1); // +14
+		// since 04.07.2014 (incl.)
+		// assertEquals(26, meanSpeedup, 2.1); // +0
+		// since 27.08.2014 (incl.)
+		// assertEquals(56, meanSpeedup, 2.1); // +30
+		// since 14.10.2014 (incl.)
+		assertEquals(56, medianSpeedup, 2.1); // +0
+	}
+}
diff --git a/src/performancetest/java/teetime/examples/experiment10/MethodCallThoughputTimestampAnalysis10Test.java b/src/performancetest/java/teetime/examples/experiment10/MethodCallThoughputTimestampAnalysis10Test.java
index d8b872035a26c2dd77b0a45dda3167536e8684c5..eea715af68d8e196e1b0f41eb99bbf42f7601d5e 100644
--- a/src/performancetest/java/teetime/examples/experiment10/MethodCallThoughputTimestampAnalysis10Test.java
+++ b/src/performancetest/java/teetime/examples/experiment10/MethodCallThoughputTimestampAnalysis10Test.java
@@ -15,19 +15,34 @@
  ***************************************************************************/
 package teetime.examples.experiment10;
 
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
 import org.junit.Test;
 
 import teetime.util.ConstructorClosure;
 import teetime.util.TimestampObject;
+import util.PerformanceCheckProfile;
 import util.PerformanceTest;
 
 /**
  * @author Christian Wulf
- * 
+ *
  * @since 1.10
  */
 public class MethodCallThoughputTimestampAnalysis10Test extends PerformanceTest {
 
+	@BeforeClass
+	public static void beforeClass() {
+		PERFORMANCE_CHECK_PROFILE_REPOSITORY.register(MethodCallThoughputTimestampAnalysis10Test.class, new ChwWorkPerformanceCheck());
+		PERFORMANCE_CHECK_PROFILE_REPOSITORY.register(MethodCallThoughputTimestampAnalysis10Test.class, new ChwHomePerformanceCheck());
+	};
+
+	@AfterClass
+	public static void afterClass() {
+		PerformanceCheckProfile performanceCheckProfile = PERFORMANCE_CHECK_PROFILE_REPOSITORY.get(MethodCallThoughputTimestampAnalysis10Test.class);
+		performanceCheckProfile.check();
+	};
+
 	@Test
 	public void testWithManyObjects() {
 		System.out.println("Testing teetime (mc) with NUM_OBJECTS_TO_CREATE=" + NUM_OBJECTS_TO_CREATE + ", NUM_NOOP_FILTERS="
diff --git a/src/performancetest/java/teetime/examples/experiment14/ChwHomePerformanceCheck.java b/src/performancetest/java/teetime/examples/experiment14/ChwHomePerformanceCheck.java
new file mode 100644
index 0000000000000000000000000000000000000000..562e6e4fda1435cde228f1d5a043ff3fba6e5ab3
--- /dev/null
+++ b/src/performancetest/java/teetime/examples/experiment14/ChwHomePerformanceCheck.java
@@ -0,0 +1,37 @@
+package teetime.examples.experiment14;
+
+import static org.junit.Assert.assertEquals;
+import util.PerformanceCheckProfile;
+import util.PerformanceResult;
+import util.PerformanceTest;
+
+public class ChwHomePerformanceCheck implements PerformanceCheckProfile {
+
+	@Override
+	public String getCorrespondingPerformanceProfile() {
+		return "ChwHome";
+	}
+
+	@Override
+	public void check() {
+		PerformanceResult test01 = PerformanceTest.measurementRepository.performanceResults
+				.get("testWithManyObjects(teetime.examples.experiment01.MethodCallThoughputTimestampAnalysis1Test)");
+		PerformanceResult test14 = PerformanceTest.measurementRepository.performanceResults
+				.get("testWithManyObjects(teetime.examples.experiment14.MethodCallThoughputTimestampAnalysis14Test)");
+
+		double medianSpeedup = (double) test14.quantiles.get(0.5) / test01.quantiles.get(0.5);
+
+		System.out.println("medianSpeedup (14): " + medianSpeedup);
+
+		// until 25.06.2014 (incl.)
+		// assertEquals(60, (double) test14.quantiles.get(0.5) / test1.quantiles.get(0.5), 5.1);
+		// since 26.06.2014 (incl.)
+		// assertEquals(76, medianSpeedup, 5.1); // +16
+		// since 04.07.2014 (incl.)
+		// assertEquals(86, medianSpeedup, 5.1); // +16
+		// since 11.08.2014 (incl.)
+		// assertEquals(103, medianSpeedup, 5.1); // +17
+		// since 31.08.2014 (incl.)
+		assertEquals(62, medianSpeedup, 2.1); // -41
+	}
+}
diff --git a/src/performancetest/java/teetime/examples/experiment14/ChwWorkPerformanceCheck.java b/src/performancetest/java/teetime/examples/experiment14/ChwWorkPerformanceCheck.java
new file mode 100644
index 0000000000000000000000000000000000000000..88f4e710c0fb5aa2573847719d25be2558ed2156
--- /dev/null
+++ b/src/performancetest/java/teetime/examples/experiment14/ChwWorkPerformanceCheck.java
@@ -0,0 +1,37 @@
+package teetime.examples.experiment14;
+
+import static org.junit.Assert.assertEquals;
+import util.PerformanceCheckProfile;
+import util.PerformanceResult;
+import util.PerformanceTest;
+
+public class ChwWorkPerformanceCheck implements PerformanceCheckProfile {
+
+	@Override
+	public String getCorrespondingPerformanceProfile() {
+		return "ChwWork";
+	}
+
+	@Override
+	public void check() {
+		PerformanceResult test01 = PerformanceTest.measurementRepository.performanceResults
+				.get("testWithManyObjects(teetime.examples.experiment01.MethodCallThoughputTimestampAnalysis1Test)");
+		PerformanceResult test14 = PerformanceTest.measurementRepository.performanceResults
+				.get("testWithManyObjects(teetime.examples.experiment14.MethodCallThoughputTimestampAnalysis14Test)");
+
+		double medianSpeedup = (double) test14.quantiles.get(0.5) / test01.quantiles.get(0.5);
+
+		System.out.println("medianSpeedup (14): " + medianSpeedup);
+
+		// until 25.06.2014 (incl.)
+		// assertEquals(60, (double) test14.quantiles.get(0.5) / test1.quantiles.get(0.5), 5.1);
+		// since 26.06.2014 (incl.)
+		// assertEquals(76, medianSpeedup, 5.1); // +16
+		// since 04.07.2014 (incl.)
+		// assertEquals(86, medianSpeedup, 5.1); // +16
+		// since 27.08.2014 (incl.)
+		// assertEquals(102, medianSpeedup, 5.1); // +16
+		// since 14.10.2014 (incl.)
+		assertEquals(53, medianSpeedup, 5.1); // -49
+	}
+}
diff --git a/src/performancetest/java/teetime/examples/experiment14/MethodCallThoughputTimestampAnalysis14Test.java b/src/performancetest/java/teetime/examples/experiment14/MethodCallThoughputTimestampAnalysis14Test.java
index 1f87c070e9f6ee4434abdf91d34c8d0c385c69b2..fe500b4cb0f4ba880ecadb336649251ce80731cd 100644
--- a/src/performancetest/java/teetime/examples/experiment14/MethodCallThoughputTimestampAnalysis14Test.java
+++ b/src/performancetest/java/teetime/examples/experiment14/MethodCallThoughputTimestampAnalysis14Test.java
@@ -15,19 +15,34 @@
  ***************************************************************************/
 package teetime.examples.experiment14;
 
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
 import org.junit.Test;
 
 import teetime.util.ConstructorClosure;
 import teetime.util.TimestampObject;
+import util.PerformanceCheckProfile;
 import util.PerformanceTest;
 
 /**
  * @author Christian Wulf
- * 
+ *
  * @since 1.10
  */
 public class MethodCallThoughputTimestampAnalysis14Test extends PerformanceTest {
 
+	@BeforeClass
+	public static void beforeClass() {
+		PERFORMANCE_CHECK_PROFILE_REPOSITORY.register(MethodCallThoughputTimestampAnalysis14Test.class, new ChwWorkPerformanceCheck());
+		PERFORMANCE_CHECK_PROFILE_REPOSITORY.register(MethodCallThoughputTimestampAnalysis14Test.class, new ChwHomePerformanceCheck());
+	};
+
+	@AfterClass
+	public static void afterClass() {
+		PerformanceCheckProfile performanceCheckProfile = PERFORMANCE_CHECK_PROFILE_REPOSITORY.get(MethodCallThoughputTimestampAnalysis14Test.class);
+		performanceCheckProfile.check();
+	};
+
 	@Test
 	public void testWithManyObjects() {
 		System.out.println("Testing teetime (mc) with NUM_OBJECTS_TO_CREATE=" + NUM_OBJECTS_TO_CREATE + ", NUM_NOOP_FILTERS="