Add JMH microbenchmark testing dependencies + profile
Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/98e27f58 Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/98e27f58 Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/98e27f58 Branch: refs/heads/master Commit: 98e27f58e7aef81c4eaab58c08b09e6897199139 Parents: 4cfe573 Author: Artem Barger <ar...@bargr.net> Authored: Tue Sep 13 01:26:34 2016 +0300 Committer: Artem Barger <ar...@bargr.net> Committed: Tue Sep 13 01:28:16 2016 +0300 ---------------------------------------------------------------------- pom.xml | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-math/blob/98e27f58/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 6c7ae4a..b3a649b 100644 --- a/pom.xml +++ b/pom.xml @@ -367,6 +367,20 @@ </dependency> <dependency> + <groupId>org.openjdk.jmh</groupId> + <artifactId>jmh-core</artifactId> + <version>${jmh.version}</version> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.openjdk.jmh</groupId> + <artifactId>jmh-generator-annprocess</artifactId> + <version>${jmh.version}</version> + <scope>test</scope> + </dependency> + + <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> @@ -426,6 +440,10 @@ <!-- Override default buildNumber timestamp format, needed for coveralls plugin --> <maven.buildNumber.timestampFormat>{0,date,yyyy-MM-dd HH:mm:ssZ}</maven.buildNumber.timestampFormat> + + <!-- JMH Benchmark related properties, version, target compiler and name of the benchmarking uber jar. --> + <jmh.version>1.13</jmh.version> + <uberjar.name>benchmarks</uberjar.name> </properties> <build> @@ -849,5 +867,55 @@ </plugins> </build> </profile> + + <profile> + <id>benchmark</id> + <properties> + <skipTests>true</skipTests> + <benchmark>org.apache</benchmark> + </properties> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.1</version> + <configuration> + <compilerVersion>${maven.compiler.target}</compilerVersion> + <source>${maven.compiler.target}</source> + <target>${maven.compiler.target}</target> + </configuration> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <executions> + <execution> + <id>benchmark</id> + <phase>test</phase> + <goals> + <goal>exec</goal> + </goals> + <configuration> + <classpathScope>test</classpathScope> + <executable>java</executable> + <arguments> + <argument>-classpath</argument> + <classpath/> + <argument>org.openjdk.jmh.Main</argument> + <argument>-rf</argument> + <argument>json</argument> + <argument>-rff</argument> + <argument>target/jmh-result.${benchmark}.json</argument> + <argument>${benchmark}</argument> + </arguments> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> </profiles> </project>