diff --git a/test-perf/README.md b/test-perf/README.md
new file mode 100644
index 000000000..2c44fb8a5
--- /dev/null
+++ b/test-perf/README.md
@@ -0,0 +1,6 @@
+## run
+
+```
+mvn clean package -am -pl test-perf
+java -cp test-perf/target/benchmarks.jar com.arangodb.SerdeBench
+```
\ No newline at end of file
diff --git a/test-perf/pom.xml b/test-perf/pom.xml
index b6e419ca7..21b1f775a 100644
--- a/test-perf/pom.xml
+++ b/test-perf/pom.xml
@@ -14,21 +14,71 @@
true
+ 1.37
+ benchmarks
+
+ org.slf4j
+ slf4j-simple
+ compile
+
org.openjdk.jmh
jmh-core
- 1.37
- test
+ ${jmh.version}
+ compile
org.openjdk.jmh
jmh-generator-annprocess
- 1.37
- test
+ ${jmh.version}
+ provided
-
\ No newline at end of file
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.2.1
+
+
+ package
+
+ shade
+
+
+ ${uberjar.name}
+
+
+ org.openjdk.jmh.Main
+
+
+
+
+
+
+ *:*
+
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test-perf/src/test/java/com/arangodb/SerdeBench.java b/test-perf/src/main/java/com/arangodb/SerdeBench.java
similarity index 89%
rename from test-perf/src/test/java/com/arangodb/SerdeBench.java
rename to test-perf/src/main/java/com/arangodb/SerdeBench.java
index ae3d90bc3..3577e96a0 100644
--- a/test-perf/src/test/java/com/arangodb/SerdeBench.java
+++ b/test-perf/src/main/java/com/arangodb/SerdeBench.java
@@ -29,8 +29,10 @@
import org.openjdk.jmh.runner.options.Options;
import org.openjdk.jmh.runner.options.OptionsBuilder;
+import java.io.BufferedReader;
import java.io.IOException;
-import java.net.URISyntaxException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -108,11 +110,22 @@ public Data() {
}
}
- private JsonNode readFile(String filename, ObjectMapper mapper) throws IOException, URISyntaxException {
- String str = new String(Files.readAllBytes(
- Paths.get(SerdeBench.class.getResource(filename).toURI())));
+ private JsonNode readFile(String filename, ObjectMapper mapper) throws IOException {
+ InputStream inputStream = SerdeBench.class.getResourceAsStream(filename);
+ String str = readFromInputStream(inputStream);
return mapper.readTree(str);
}
+
+ private String readFromInputStream(InputStream inputStream) throws IOException {
+ StringBuilder resultStringBuilder = new StringBuilder();
+ try (BufferedReader br = new BufferedReader(new InputStreamReader(inputStream))) {
+ String line;
+ while ((line = br.readLine()) != null) {
+ resultStringBuilder.append(line).append("\n");
+ }
+ }
+ return resultStringBuilder.toString();
+ }
}
public static void main(String[] args) throws RunnerException, IOException {
diff --git a/test-perf/src/test/resources/api-docs.json b/test-perf/src/main/resources/api-docs.json
similarity index 100%
rename from test-perf/src/test/resources/api-docs.json
rename to test-perf/src/main/resources/api-docs.json
diff --git a/test-perf/src/test/resources/multi-docs.json b/test-perf/src/main/resources/multi-docs.json
similarity index 100%
rename from test-perf/src/test/resources/multi-docs.json
rename to test-perf/src/main/resources/multi-docs.json