forked from I2P_Developers/i2p.i2p
62 lines
1.4 KiB
Bash
Executable File
62 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
#
|
|
# Benchmark runner
|
|
#
|
|
# Usage: benchmark.sh [--jbigi] [JMH_ARGS]
|
|
#
|
|
# To use:
|
|
# 1) Set jmh.home in override.properties to a folder containing:
|
|
# - jmh-core.jar
|
|
# - jmh-generator-annprocess.jar
|
|
# - jopt-simple.jar
|
|
# - commons-math3.jar
|
|
# Fetch these from Maven Central. Tested using JMH 1.19 which requires
|
|
# jopt-simple 4.6 and commons-math3 3.2.
|
|
# 2) Compile the benchmarks with "ant bench".
|
|
# 3) Run the benchmarks:
|
|
# - To see underlying JMH options:
|
|
# - ./benchmark.sh -h
|
|
# - To run the benchmarks in pure-Java mode:
|
|
# - ./benchmark.sh
|
|
# - To run the benchmarks with jbigi.jar in the classpath:
|
|
# - ./benchmark.sh --jbigi
|
|
# - To run the benchmarks with a different JVM:
|
|
# - JAVA=/path/to/java ./benchmarks/benchmark.sh
|
|
#
|
|
|
|
CWD=$(dirname "$0")
|
|
if [ "x$JAVA" = 'x' ]
|
|
then
|
|
JAVA=java
|
|
fi
|
|
|
|
if [ "x$BENCHMARKS" = 'x' ]
|
|
then
|
|
BENCHMARKS="$CWD/i2p-benchmarks.jar"
|
|
stat "$BENCHMARKS" >/dev/null 2>&1
|
|
if [ "x$?" != 'x0' ]
|
|
then
|
|
BENCHMARKS="$CWD/../../core/java/build/i2p-benchmarks.jar"
|
|
fi
|
|
fi
|
|
|
|
if [ "x$JBIGI" = 'x' ]
|
|
then
|
|
JBIGI="$CWD/jbigi.jar"
|
|
stat "$JBIGI" >/dev/null 2>&1
|
|
if [ "x$?" != 'x0' ]
|
|
then
|
|
JBIGI="$CWD/../../build/jbigi.jar"
|
|
fi
|
|
fi
|
|
|
|
CLASSPATH="$BENCHMARKS"
|
|
if [ "x${1:-}" = 'x--jbigi' ]
|
|
then
|
|
CLASSPATH="$CLASSPATH:$JBIGI"
|
|
shift
|
|
fi
|
|
|
|
$JAVA -cp "$CLASSPATH" org.openjdk.jmh.Main "$@"
|