Remove benchmark-data-store This code has been migrated to mdsal component, remove it. Change-Id: I238f7e09a3907ce07cc4fc857a6fea72d69204cf Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
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 <robert.varga@pantheon.tech>
Migrate to MD-SAL APIs This removes controller dependencies. Change-Id: Ic3fa0748d4e92f86899af2b8dcf73b7f1ae2560a Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Fix checkstyle issues to enforce it Fix checkstyle issues to enforce it. Note: I had to replace the calls to MoreExecutors.sameThread() since the module didn't compile locally. That method [1] is deprecated anyway. [1] https://google.github.io/guava/releases/19.0/api/docs/com/google/common/util/concurrent/MoreExecutors.html#sameThreadExecutor() Change-Id: I4263cadc0748065b20b425d6860fe36569d913b1 Signed-off-by: David Suarez <david.suarez.fuentes@gmail.com>
BUG-7159: eliminate use of CrossStatementSourceReactor yang-test-util provides a convenient way to parse YANG files into a SchemaContext, without relying on the internal layout of the yang parser. Convert tests to use these utilities, which simplifies test setup and allows the yang parser layout to evolve without breaking the world. Change-Id: Icbd0556b990ea9d5ff93c34330049a9683e04970 Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-650: remove executor abstraction This patch removes sameThreadExecutor from the commit path, eliminating associated overhead. Relevant benchmarks show improvement pretty much across the board: BEFORE millis error write100KSingleNodeWithOneInnerItemInCommitPerWriteBenchmark 2213.735 77.597 write100KSingleNodeWithOneInnerItemInOneCommitBenchmark 171.524 2.289 write10KSingleNodeWithTenInnerItemsInCommitPerWriteBenchmark 164.282 1.391 write10KSingleNodeWithTenInnerItemsInOneCommitBenchmark 14.161 0.196 write50KSingleNodeWithTwoInnerItemsInCommitPerWriteBenchmark 982.697 29.397 write50KSingleNodeWithTwoInnerItemsInOneCommitBenchmark 93.233 2.174 AFTER millis error delta write100KSingleNodeWithOneInnerItemInCommitPerWriteBenchmark 2138.900 75.844 -3.4% write100KSingleNodeWithOneInnerItemInOneCommitBenchmark 177.839 3.997 +3.5% write10KSingleNodeWithTenInnerItemsInCommitPerWriteBenchmark 158.666 1.090 -3.5% write10KSingleNodeWithTenInnerItemsInOneCommitBenchmark 13.022 0.105 -8.0% write50KSingleNodeWithTwoInnerItemsInCommitPerWriteBenchmark 935.490 30.395 -4.8% write50KSingleNodeWithTwoInnerItemsInOneCommitBenchmark 89.907 1.204 -3.6% Furthermore it cleans up and marks FIXMEs for defunct statistics. These will need to be replaced with implementation which does not assume underlying implementation. Change-Id: I01c51462a8529a2f874ecd2f9af05faba503bc58 Signed-off-by: Robert Varga <rovarga@cisco.com>
Created Benchmark for InMemoryDataStore Write Op Created Benchmark suite for testing InMemoryDataStore write operations. The benchmark is designed to measure efficiency of InMemoryDataStore write operations for scenarios: -100K Writes executed as One commit (100K items in one commit) of One outer list item with one inner list item -100K Writes executed as Each commit per Write (100K commits) of One outer list item with one inner list item -50K Writes executed as One commit (50K items in one commit) of One outer list item with two inner list items -50K Writes executed as Each commit per Write (50K commits) of One outer list item with two inner list items -10K Writes executed as One commit (10K items in one commit) of One outer list item with ten inner list items -10K Writes executed as Each commit per Write (10K commits) of One outer list item with ten inner list items Benchmark suite contains of three benchmark scenarios where InMemoryDataStore is instantiated with different combinations of executors. This will allow us to see how executor services has performance impact on DataStore write operations. The md-sal parent pom is extended with benchmarks profile. Change-Id: I04f6e4545445d5879d8de9785d7ba1a53ec007af Signed-off-by: Lukas Sedlak <lsedlak@cisco.com>