From 0974e46356a0bd30df5ddb70bdf072de1acbd240 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 27 Apr 2020 12:10:25 +0200 Subject: [PATCH] Fix datastore benchmark The benchmark slid into disrepair, fix it up again and shorten its run length. Change-Id: I874c0979615f289ee726e4b6926b6d9d8aba5184 Signed-off-by: Robert Varga --- .../md-sal/benchmark-data-store/pom.xml | 21 ++++++++++++------- ...ractInMemoryWriteTransactionBenchmark.java | 8 +++---- .../dom/store/benchmark/BenchmarkModel.java | 4 ++-- ...MemoryBrokerWriteTransactionBenchmark.java | 6 +++--- ...toreWithSameThreadedExecutorBenchmark.java | 2 +- ...oryDataStoreWriteTransactionBenchmark.java | 2 +- 6 files changed, 25 insertions(+), 18 deletions(-) diff --git a/opendaylight/md-sal/benchmark-data-store/pom.xml b/opendaylight/md-sal/benchmark-data-store/pom.xml index 3c16bc259a..1c4dea6640 100644 --- a/opendaylight/md-sal/benchmark-data-store/pom.xml +++ b/opendaylight/md-sal/benchmark-data-store/pom.xml @@ -22,7 +22,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html jar - true + true @@ -33,12 +33,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.openjdk.jmh jmh-core - 1.21 - - - org.openjdk.jmh - jmh-generator-annprocess - 1.21 + 1.23 org.opendaylight.mdsal @@ -57,6 +52,18 @@ and is available at http://www.eclipse.org/legal/epl-v10.html + + maven-compiler-plugin + + + + org.openjdk.jmh + jmh-generator-annprocess + 1.23 + + + + org.codehaus.mojo exec-maven-plugin diff --git a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/AbstractInMemoryWriteTransactionBenchmark.java b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/AbstractInMemoryWriteTransactionBenchmark.java index a2414d71ef..1a20e422d6 100644 --- a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/AbstractInMemoryWriteTransactionBenchmark.java +++ b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/AbstractInMemoryWriteTransactionBenchmark.java @@ -15,7 +15,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.CollectionNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; public abstract class AbstractInMemoryWriteTransactionBenchmark { protected static final int OUTER_LIST_100K = 100000; @@ -36,8 +36,8 @@ public abstract class AbstractInMemoryWriteTransactionBenchmark { return paths; } - protected static final int WARMUP_ITERATIONS = 20; - protected static final int MEASUREMENT_ITERATIONS = 20; + protected static final int WARMUP_ITERATIONS = 6; + protected static final int MEASUREMENT_ITERATIONS = 6; protected static final MapNode ONE_ITEM_INNER_LIST = initInnerListItems(1); protected static final MapNode TWO_ITEM_INNER_LIST = initInnerListItems(2); @@ -73,7 +73,7 @@ public abstract class AbstractInMemoryWriteTransactionBenchmark { return outerListItems; } - protected SchemaContext schemaContext; + protected EffectiveModelContext schemaContext; public abstract void setUp() throws Exception; diff --git a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/BenchmarkModel.java b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/BenchmarkModel.java index 20e107402a..e1effd918a 100644 --- a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/BenchmarkModel.java +++ b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/BenchmarkModel.java @@ -9,7 +9,7 @@ package org.opendaylight.controller.md.sal.dom.store.benchmark; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; /** @@ -36,7 +36,7 @@ public final class BenchmarkModel { private BenchmarkModel() { } - public static SchemaContext createTestContext() { + public static EffectiveModelContext createTestContext() { return YangParserTestUtils.parseYangResources(BenchmarkModel.class, DATASTORE_TEST_YANG); } } diff --git a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryBrokerWriteTransactionBenchmark.java b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryBrokerWriteTransactionBenchmark.java index a0a096ed33..eeeebc85f9 100644 --- a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryBrokerWriteTransactionBenchmark.java +++ b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryBrokerWriteTransactionBenchmark.java @@ -32,7 +32,7 @@ import org.openjdk.jmh.annotations.State; @OutputTimeUnit(TimeUnit.MILLISECONDS) @Fork(1) public class InMemoryBrokerWriteTransactionBenchmark extends AbstractInMemoryBrokerWriteTransactionBenchmark { - private ListeningExecutorService executor; + private ListeningExecutorService executor = null; @Setup(Level.Trial) @Override @@ -50,8 +50,8 @@ public class InMemoryBrokerWriteTransactionBenchmark extends AbstractInMemoryBro domBroker = new SerializedDOMDataBroker(datastores, executor); schemaContext = BenchmarkModel.createTestContext(); - configStore.onGlobalContextUpdated(schemaContext); - operStore.onGlobalContextUpdated(schemaContext); + configStore.onModelContextUpdated(schemaContext); + operStore.onModelContextUpdated(schemaContext); initTestNode(); } diff --git a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryDataStoreWithSameThreadedExecutorBenchmark.java b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryDataStoreWithSameThreadedExecutorBenchmark.java index 2e236c56e0..9d285985c3 100644 --- a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryDataStoreWithSameThreadedExecutorBenchmark.java +++ b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryDataStoreWithSameThreadedExecutorBenchmark.java @@ -49,7 +49,7 @@ public class InMemoryDataStoreWithSameThreadedExecutorBenchmark domStore = new InMemoryDOMDataStore("SINGLE_THREADED_DS_BENCHMARK", dataChangeListenerExecutor); schemaContext = BenchmarkModel.createTestContext(); - domStore.onGlobalContextUpdated(schemaContext); + domStore.onModelContextUpdated(schemaContext); initTestNode(); } diff --git a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryDataStoreWriteTransactionBenchmark.java b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryDataStoreWriteTransactionBenchmark.java index c614085fee..937fc67588 100644 --- a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryDataStoreWriteTransactionBenchmark.java +++ b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryDataStoreWriteTransactionBenchmark.java @@ -39,7 +39,7 @@ public class InMemoryDataStoreWriteTransactionBenchmark extends AbstractInMemory public void setUp() throws Exception { domStore = new InMemoryDOMDataStore("SINGLE_THREADED_DS_BENCHMARK", Executors.newSingleThreadExecutor()); schemaContext = BenchmarkModel.createTestContext(); - domStore.onGlobalContextUpdated(schemaContext); + domStore.onModelContextUpdated(schemaContext); initTestNode(); } -- 2.36.6