Skip to content

Instantly share code, notes, and snippets.

@KengoTODA
Created July 17, 2020 20:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KengoTODA/24298b154c3a1be2e1ce7d256be2b69f to your computer and use it in GitHub Desktop.
Save KengoTODA/24298b154c3a1be2e1ce7d256be2b69f to your computer and use it in GitHub Desktop.
macOS Catalina 10.15.4 (19E287)
openjdk 11.0.7
Command Mean [ms] Min [ms] Max [ms] Relative
java -Xmx128m -Xms128m -classpath /Users/kengo/GitHub/slf4j/slf4j-api/target/slf4j-api-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/slf4j/slf4j-nop/target/slf4j-nop-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/spotbugs/spotbugs/build/libs/spotbugs.jar:. Main 127.9 ± 3.4 123.4 139.0 1.20 ± 0.03
java -Xmx128m -Xms128m -classpath /Users/kengo/GitHub/slf4j/slf4j-api/target/slf4j-api-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/slf4j/slf4j-nop/target/slf4j-nop-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/slf4j/slf4j-jdk14/target/slf4j-jdk14-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/slf4j/slf4j-simple/target/slf4j-simple-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/spotbugs/spotbugs/build/libs/spotbugs.jar:. Main 128.5 ± 1.1 126.2 130.4 1.20 ± 0.02
java -Xmx128m -Xms128m -classpath /Users/kengo/GitHub/slf4j/slf4j-api/target/slf4j-api-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/slf4j/slf4j-nop/target/slf4j-nop-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/spotbugs/spotbugs/build/libs/spotbugs.jar:. -Dslf4j.binding=org.slf4j.helpers.NOPServiceProvider Main 106.9 ± 1.0 105.3 108.7 1.00
java -Xmx128m -Xms128m -classpath /Users/kengo/GitHub/slf4j/slf4j-api/target/slf4j-api-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/slf4j/slf4j-nop/target/slf4j-nop-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/slf4j/slf4j-jdk14/target/slf4j-jdk14-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/slf4j/slf4j-simple/target/slf4j-simple-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/spotbugs/spotbugs/build/libs/spotbugs.jar:. -Dslf4j.binding=org.slf4j.helpers.NOPServiceProvider Main 108.8 ± 2.0 105.1 113.5 1.02 ± 0.02
#!/bin/bash -e
cat <<EOF > Main.java
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Main {
public static void main(String... args) {
Logger logger = LoggerFactory.getLogger(Main.class);
logger.info("hello!");
}
}
EOF
java --version
javac -cp ~/GitHub/slf4j/slf4j-api/target/slf4j-api-2.0.0-alpha2-SNAPSHOT.jar Main.java
CP_NOP_BINDING_ONLY=/Users/kengo/GitHub/slf4j/slf4j-api/target/slf4j-api-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/slf4j/slf4j-nop/target/slf4j-nop-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/spotbugs/spotbugs/build/libs/spotbugs.jar:.
CP_MULTI_BINDING=/Users/kengo/GitHub/slf4j/slf4j-api/target/slf4j-api-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/slf4j/slf4j-nop/target/slf4j-nop-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/slf4j/slf4j-jdk14/target/slf4j-jdk14-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/slf4j/slf4j-simple/target/slf4j-simple-2.0.0-alpha2-SNAPSHOT.jar:/Users/kengo/GitHub/spotbugs/spotbugs/build/libs/spotbugs.jar:.
hyperfine --export-markdown ~/Desktop/benchmark.md \
"java -Xmx128m -Xms128m -classpath $CP_NOP_BINDING_ONLY Main" \
"java -Xmx128m -Xms128m -classpath $CP_MULTI_BINDING Main" \
"java -Xmx128m -Xms128m -classpath $CP_NOP_BINDING_ONLY -Dslf4j.binding=org.slf4j.helpers.NOPServiceProvider Main" \
"java -Xmx128m -Xms128m -classpath $CP_MULTI_BINDING -Dslf4j.binding=org.slf4j.helpers.NOPServiceProvider Main"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment