You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2018/01/30 13:59:50 UTC

svn commit: r1822645 - in /jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark: BenchmarkRunner.java StringWriteTest.java

Author: reschke
Date: Tue Jan 30 13:59:50 2018
New Revision: 1822645

URL: http://svn.apache.org/viewvc?rev=1822645&view=rev
Log:
OAK-7220: add benchmark focused on string write performance

Added:
    jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/StringWriteTest.java   (with props)
Modified:
    jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java

Modified: jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1822645&r1=1822644&r2=1822645&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java (original)
+++ jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java Tue Jan 30 13:59:50 2018
@@ -469,6 +469,7 @@ public class BenchmarkRunner {
             new HybridIndexTest(base.value(options), statsProvider),
             new BundlingNodeTest(),
             new PersistentCacheTest(statsProvider),
+            new StringWriteTest(),
             new BasicWriteTest()
         };
 

Added: jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/StringWriteTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/StringWriteTest.java?rev=1822645&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/StringWriteTest.java (added)
+++ jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/StringWriteTest.java Tue Jan 30 13:59:50 2018
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.oak.benchmark;
+
+import java.util.UUID;
+
+import javax.jcr.Node;
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+
+public class StringWriteTest extends AbstractTest<Object> {
+
+    private static final int PROPERTY_COUNT = Integer.getInteger("StringWriteTest.propertyCount", 100);
+
+    private static String randomString() {
+        return UUID.randomUUID().toString();
+    }
+
+    private Session session;
+
+    private Node root;
+
+    @Override
+    public void beforeSuite() throws RepositoryException {
+        session = loginWriter();
+    }
+
+    @Override
+    protected void beforeTest() throws Exception {
+        root = session.getRootNode().addNode("StringWrite" + TEST_ID, "nt:unstructured");
+        session.save();
+    }
+
+    @Override
+    protected void runTest() throws Exception {
+        for (int i = 0; i < PROPERTY_COUNT; i++) {
+            root.setProperty(randomString(), randomString());
+        }
+        session.save();
+    }
+
+    @Override
+    protected void afterTest() throws Exception {
+        root.remove();
+        session.save();
+    }
+}
+

Propchange: jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/StringWriteTest.java
------------------------------------------------------------------------------
    svn:eol-style = native