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