X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fbenchmark-data-store%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fstore%2Fbenchmark%2FAbstractInMemoryBrokerWriteTransactionBenchmark.java;h=c9836ded43d343cfd48317f9a0951de1c48a192f;hp=fdd715e54f46aafa86004faa8ec23b8bc211aaf9;hb=271e4eb62726c79f2e029fa65704dc6d0fc845e4;hpb=f5a373c5378af41f62a2c36ced4046fbdb77e00b diff --git a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/AbstractInMemoryBrokerWriteTransactionBenchmark.java b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/AbstractInMemoryBrokerWriteTransactionBenchmark.java index fdd715e54f..c9836ded43 100644 --- a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/AbstractInMemoryBrokerWriteTransactionBenchmark.java +++ b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/AbstractInMemoryBrokerWriteTransactionBenchmark.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. + * Copyright (c) 2013, 2017 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, @@ -8,28 +8,30 @@ package org.opendaylight.controller.md.sal.dom.store.benchmark; import java.util.concurrent.TimeUnit; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction; -import org.opendaylight.controller.md.sal.dom.broker.impl.DOMDataBrokerImpl; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransaction; +import org.opendaylight.mdsal.dom.broker.SerializedDOMDataBroker; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.openjdk.jmh.annotations.Benchmark; import org.openjdk.jmh.annotations.Measurement; import org.openjdk.jmh.annotations.Warmup; /** - * @author Lukas Sedlak + * Abstract class to handle transaction benchmarks. + * + * @author Lukas Sedlak */ -public abstract class AbstractInMemoryBrokerWriteTransactionBenchmark extends AbstractInMemoryWriteTransactionBenchmark { +public abstract class AbstractInMemoryBrokerWriteTransactionBenchmark + extends AbstractInMemoryWriteTransactionBenchmark { - protected DOMDataBrokerImpl domBroker; + protected SerializedDOMDataBroker domBroker; protected void initTestNode() throws Exception { - final YangInstanceIdentifier testPath = YangInstanceIdentifier.builder(BenchmarkModel.TEST_PATH) - .build(); - DOMDataReadWriteTransaction writeTx = domBroker.newReadWriteTransaction(); + final YangInstanceIdentifier testPath = YangInstanceIdentifier.builder(BenchmarkModel.TEST_PATH).build(); + DOMDataTreeReadWriteTransaction writeTx = domBroker.newReadWriteTransaction(); writeTx.put(LogicalDatastoreType.OPERATIONAL, testPath, provideOuterListNode()); - writeTx.submit().get(); + writeTx.commit().get(); } @Benchmark @@ -37,12 +39,13 @@ public abstract class AbstractInMemoryBrokerWriteTransactionBenchmark extends Ab @Measurement(iterations = MEASUREMENT_ITERATIONS, timeUnit = TimeUnit.MILLISECONDS) public void write100KSingleNodeWithOneInnerItemInOneCommitBenchmark() throws Exception { - DOMDataReadWriteTransaction writeTx = domBroker.newReadWriteTransaction(); + DOMDataTreeReadWriteTransaction writeTx = domBroker.newReadWriteTransaction(); for (int outerListKey = 0; outerListKey < OUTER_LIST_100K; ++outerListKey) { - writeTx.put(LogicalDatastoreType.OPERATIONAL, OUTER_LIST_100K_PATHS[outerListKey], OUTER_LIST_ONE_ITEM_INNER_LIST[outerListKey]); + writeTx.put(LogicalDatastoreType.OPERATIONAL, OUTER_LIST_100K_PATHS[outerListKey], + OUTER_LIST_ONE_ITEM_INNER_LIST[outerListKey]); } - writeTx.submit().get(); + writeTx.commit().get(); } @Benchmark @@ -50,10 +53,11 @@ public abstract class AbstractInMemoryBrokerWriteTransactionBenchmark extends Ab @Measurement(iterations = MEASUREMENT_ITERATIONS, timeUnit = TimeUnit.MILLISECONDS) public void write100KSingleNodeWithOneInnerItemInCommitPerWriteBenchmark() throws Exception { for (int outerListKey = 0; outerListKey < OUTER_LIST_100K; ++outerListKey) { - DOMDataReadWriteTransaction writeTx = domBroker.newReadWriteTransaction(); - writeTx.put(LogicalDatastoreType.OPERATIONAL, OUTER_LIST_100K_PATHS[outerListKey], OUTER_LIST_ONE_ITEM_INNER_LIST[outerListKey]); + DOMDataTreeReadWriteTransaction writeTx = domBroker.newReadWriteTransaction(); + writeTx.put(LogicalDatastoreType.OPERATIONAL, OUTER_LIST_100K_PATHS[outerListKey], + OUTER_LIST_ONE_ITEM_INNER_LIST[outerListKey]); - writeTx.submit().get(); + writeTx.commit().get(); } } @@ -61,12 +65,13 @@ public abstract class AbstractInMemoryBrokerWriteTransactionBenchmark extends Ab @Warmup(iterations = WARMUP_ITERATIONS, timeUnit = TimeUnit.MILLISECONDS) @Measurement(iterations = MEASUREMENT_ITERATIONS, timeUnit = TimeUnit.MILLISECONDS) public void write50KSingleNodeWithTwoInnerItemsInOneCommitBenchmark() throws Exception { - DOMDataReadWriteTransaction writeTx = domBroker.newReadWriteTransaction(); + DOMDataTreeReadWriteTransaction writeTx = domBroker.newReadWriteTransaction(); for (int outerListKey = 0; outerListKey < OUTER_LIST_50K; ++outerListKey) { - writeTx.put(LogicalDatastoreType.OPERATIONAL, OUTER_LIST_50K_PATHS[outerListKey], OUTER_LIST_TWO_ITEM_INNER_LIST[outerListKey]); + writeTx.put(LogicalDatastoreType.OPERATIONAL, OUTER_LIST_50K_PATHS[outerListKey], + OUTER_LIST_TWO_ITEM_INNER_LIST[outerListKey]); } - writeTx.submit().get(); + writeTx.commit().get(); } @Benchmark @@ -74,9 +79,10 @@ public abstract class AbstractInMemoryBrokerWriteTransactionBenchmark extends Ab @Measurement(iterations = MEASUREMENT_ITERATIONS, timeUnit = TimeUnit.MILLISECONDS) public void write50KSingleNodeWithTwoInnerItemsInCommitPerWriteBenchmark() throws Exception { for (int outerListKey = 0; outerListKey < OUTER_LIST_50K; ++outerListKey) { - DOMDataReadWriteTransaction writeTx = domBroker.newReadWriteTransaction(); - writeTx.put(LogicalDatastoreType.OPERATIONAL, OUTER_LIST_50K_PATHS[outerListKey], OUTER_LIST_TWO_ITEM_INNER_LIST[outerListKey]); - writeTx.submit().get(); + DOMDataTreeReadWriteTransaction writeTx = domBroker.newReadWriteTransaction(); + writeTx.put(LogicalDatastoreType.OPERATIONAL, OUTER_LIST_50K_PATHS[outerListKey], + OUTER_LIST_TWO_ITEM_INNER_LIST[outerListKey]); + writeTx.commit().get(); } } @@ -84,11 +90,12 @@ public abstract class AbstractInMemoryBrokerWriteTransactionBenchmark extends Ab @Warmup(iterations = WARMUP_ITERATIONS, timeUnit = TimeUnit.MILLISECONDS) @Measurement(iterations = MEASUREMENT_ITERATIONS, timeUnit = TimeUnit.MILLISECONDS) public void write10KSingleNodeWithTenInnerItemsInOneCommitBenchmark() throws Exception { - DOMDataReadWriteTransaction writeTx = domBroker.newReadWriteTransaction(); + DOMDataTreeReadWriteTransaction writeTx = domBroker.newReadWriteTransaction(); for (int outerListKey = 0; outerListKey < OUTER_LIST_10K; ++outerListKey) { - writeTx.put(LogicalDatastoreType.OPERATIONAL, OUTER_LIST_10K_PATHS[outerListKey], OUTER_LIST_TEN_ITEM_INNER_LIST[outerListKey]); + writeTx.put(LogicalDatastoreType.OPERATIONAL, OUTER_LIST_10K_PATHS[outerListKey], + OUTER_LIST_TEN_ITEM_INNER_LIST[outerListKey]); } - writeTx.submit().get(); + writeTx.commit().get(); } @Benchmark @@ -96,9 +103,10 @@ public abstract class AbstractInMemoryBrokerWriteTransactionBenchmark extends Ab @Measurement(iterations = MEASUREMENT_ITERATIONS, timeUnit = TimeUnit.MILLISECONDS) public void write10KSingleNodeWithTenInnerItemsInCommitPerWriteBenchmark() throws Exception { for (int outerListKey = 0; outerListKey < OUTER_LIST_10K; ++outerListKey) { - DOMDataReadWriteTransaction writeTx = domBroker.newReadWriteTransaction(); - writeTx.put(LogicalDatastoreType.OPERATIONAL, OUTER_LIST_10K_PATHS[outerListKey], OUTER_LIST_TEN_ITEM_INNER_LIST[outerListKey]); - writeTx.submit().get(); + DOMDataTreeReadWriteTransaction writeTx = domBroker.newReadWriteTransaction(); + writeTx.put(LogicalDatastoreType.OPERATIONAL, OUTER_LIST_10K_PATHS[outerListKey], + OUTER_LIST_TEN_ITEM_INNER_LIST[outerListKey]); + writeTx.commit().get(); } } }