Skip to content

Commit 375a831

Browse files
committed
Use assembled jar for running of benchmarks
1 parent 0572197 commit 375a831

File tree

5 files changed

+32
-20
lines changed

5 files changed

+32
-20
lines changed

.jvmopts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,3 @@
44
-XX:InitialCodeCacheSize=512m
55
-XX:ReservedCodeCacheSize=512m
66
-Dfile.encoding=UTF8
7-
--enable-native-access=ALL-UNNAMED

benchmark-t16.sh

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
#!/bin/bash
2-
sbt -batch -java-home /usr/lib/jvm/jdk-25 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff jdk-25-t16.json .*' 2>&1 | tee jdk-25-t16.txt
3-
sbt -batch -java-home /usr/lib/jvm/jdk-21 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff jdk-21-t16.json .*' 2>&1 | tee jdk-21-t16.txt
4-
sbt -batch -java-home /usr/lib/jvm/jdk-17 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff jdk-17-t16.json .*' 2>&1 | tee jdk-17-t16.txt
5-
sbt -batch -java-home /usr/lib/jvm/graalvm-jdk-25 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff graalvm-jdk-25-t16.json .*' 2>&1 | tee graalvm-jdk-25-t16.txt
6-
sbt -batch -java-home /usr/lib/jvm/graalvm-jdk-21 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff graalvm-jdk-21-t16.json .*' 2>&1 | tee graalvm-jdk-21-t16.txt
7-
sbt -batch -java-home /usr/lib/jvm/graalvm-jdk-17 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff graalvm-jdk-17-t16.json .*' 2>&1 | tee graalvm-jdk-17-t16.txt
8-
sbt -batch -java-home /usr/lib/jvm/graalvm-community-jdk-24 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff graalvm-community-jdk-24-t16.json .*' 2>&1 | tee graalvm-community-jdk-24-t16.txt
9-
sbt -batch -java-home /usr/lib/jvm/graalvm-community-jdk-21 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff graalvm-community-jdk-21-t16.json .*' 2>&1 | tee graalvm-community-jdk-21-t16.txt
10-
sbt -batch -java-home /usr/lib/jvm/graalvm-community-jdk-17 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff graalvm-community-jdk-17-t16.json .*' 2>&1 | tee graalvm-community-jdk-17-t16.txt
2+
sbt -java-home /usr/lib/jvm/jdk-11 ++3.6.2 clean jsoniter-scala-benchmarkJVM/assembly
3+
/usr/lib/jvm/jdk-25/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff jdk-25-t16.json .* 2>&1 | tee jdk-25-t16.txt
4+
/usr/lib/jvm/jdk-21/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff jdk-21-t16.json .* 2>&1 | tee jdk-21-t16.txt
5+
/usr/lib/jvm/jdk-17/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff jdk-17-t16.json .* 2>&1 | tee jdk-17-t16.txt
6+
/usr/lib/jvm/graalvm-jdk-25/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff graalvm-jdk-25-t16.json .* 2>&1 | tee graalvm-jdk-25-t16.txt
7+
/usr/lib/jvm/graalvm-jdk-21/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff graalvm-jdk-21-t16.json .* 2>&1 | tee graalvm-jdk-21-t16.txt
8+
/usr/lib/jvm/graalvm-jdk-17/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff graalvm-jdk-17-t16.json .* 2>&1 | tee graalvm-jdk-17-t16.txt
9+
/usr/lib/jvm/graalvm-community-jdk-24/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff graalvm-community-jdk-24-t16.json .* 2>&1 | tee graalvm-community-jdk-24-t16.txt
10+
/usr/lib/jvm/graalvm-community-jdk-21/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff graalvm-community-jdk-21-t16.json .* 2>&1 | tee graalvm-community-jdk-21-t16.txt
11+
/usr/lib/jvm/graalvm-community-jdk-17/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -t 16 -p size=128 -prof gc -rf json -rff graalvm-community-jdk-17-t16.json .* 2>&1 | tee graalvm-community-jdk-17-t16.txt

benchmark.sh

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
#!/bin/bash
2-
sbt -batch -java-home /usr/lib/jvm/jdk-25 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff jdk-25.json .*' 2>&1 | tee jdk-25.txt
3-
sbt -batch -java-home /usr/lib/jvm/jdk-21 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff jdk-21.json .*' 2>&1 | tee jdk-21.txt
4-
sbt -batch -java-home /usr/lib/jvm/jdk-17 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff jdk-17.json .*' 2>&1 | tee jdk-17.txt
5-
sbt -batch -java-home /usr/lib/jvm/graalvm-jdk-25 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff graalvm-jdk-25.json .*' 2>&1 | tee graalvm-jdk-25.txt
6-
sbt -batch -java-home /usr/lib/jvm/graalvm-jdk-21 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff graalvm-jdk-21.json .*' 2>&1 | tee graalvm-jdk-21.txt
7-
sbt -batch -java-home /usr/lib/jvm/graalvm-jdk-17 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff graalvm-jdk-17.json .*' 2>&1 | tee graalvm-jdk-17.txt
8-
sbt -batch -java-home /usr/lib/jvm/graalvm-community-jdk-24 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff graalvm-community-jdk-24.json .*' 2>&1 | tee graalvm-community-jdk-24.txt
9-
sbt -batch -java-home /usr/lib/jvm/graalvm-community-jdk-21 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff graalvm-community-jdk-21.json .*' 2>&1 | tee graalvm-community-jdk-21.txt
10-
sbt -batch -java-home /usr/lib/jvm/graalvm-community-jdk-17 ++3.6.2 clean 'jsoniter-scala-benchmarkJVM/Jmh/run -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff graalvm-community-jdk-17.json .*' 2>&1 | tee graalvm-community-jdk-17.txt
2+
sbt -java-home /usr/lib/jvm/jdk-11 ++3.6.2 clean jsoniter-scala-benchmarkJVM/assembly
3+
/usr/lib/jvm/jdk-25/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff jdk-25.json .* 2>&1 | tee jdk-25.txt
4+
/usr/lib/jvm/jdk-21/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff jdk-21.json .* 2>&1 | tee jdk-21.txt
5+
/usr/lib/jvm/jdk-17/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff jdk-17.json .* 2>&1 | tee jdk-17.txt
6+
/usr/lib/jvm/graalvm-jdk-25/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff graalvm-jdk-25.json .* 2>&1 | tee graalvm-jdk-25.txt
7+
/usr/lib/jvm/graalvm-jdk-21/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff graalvm-jdk-21.json .* 2>&1 | tee graalvm-jdk-21.txt
8+
/usr/lib/jvm/graalvm-jdk-17/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff graalvm-jdk-17.json .* 2>&1 | tee graalvm-jdk-17.txt
9+
/usr/lib/jvm/graalvm-community-jdk-24/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff graalvm-community-jdk-24.json .* 2>&1 | tee graalvm-community-jdk-24.txt
10+
/usr/lib/jvm/graalvm-community-jdk-21/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff graalvm-community-jdk-21.json .* 2>&1 | tee graalvm-community-jdk-21.txt
11+
/usr/lib/jvm/graalvm-community-jdk-17/bin/java -jar jsoniter-scala-benchmark/jvm/target/scala-3.6.2/benchmarks.jar -jvmArgsAppend "-Djmh.executor=FJP" -p size=128 -prof gc -rf json -rff graalvm-community-jdk-17.json .* 2>&1 | tee graalvm-community-jdk-17.txt

build.sbt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ lazy val `jsoniter-scala-benchmark` = crossProject(JVMPlatform, JSPlatform)
241241
}),
242242
libraryDependencies ++= Seq(
243243
"com.disneystreaming.smithy4s" %%% "smithy4s-json" % "0.18.27",
244-
"com.evolutiongaming" %%% "play-json-jsoniter" % "0.10.3",
244+
"com.evolutiongaming" %%% "play-json-jsoniter" % "0.10.3" intransitive(),
245245
"org.playframework" %%% "play-json" % "3.0.4",
246246
"dev.zio" %%% "zio-json" % "0.7.3",
247247
"io.circe" %%% "circe-generic" % "0.14.10",
@@ -275,6 +275,16 @@ lazy val `jsoniter-scala-benchmark` = crossProject(JVMPlatform, JSPlatform)
275275

276276
lazy val `jsoniter-scala-benchmarkJVM` = `jsoniter-scala-benchmark`.jvm
277277
.enablePlugins(JmhPlugin)
278+
.settings(
279+
assembly / assemblyJarName := "benchmarks.jar",
280+
assembly / mainClass := Some("org.openjdk.jmh.Main"),
281+
assembly / fullClasspath := (Jmh / fullClasspath).value,
282+
ThisBuild / assemblyMergeStrategy := {
283+
case x if x.endsWith("module-info.class") => MergeStrategy.discard
284+
case PathList("deriving.conf") => MergeStrategy.concat
285+
case path => MergeStrategy.defaultMergeStrategy(path)
286+
}
287+
)
278288

279289
lazy val assemblyJSBenchmarks = sys.props.get("assemblyJSBenchmarks").isDefined
280290

project/plugins.sbt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "1.1.4")
1414
addSbtPlugin("org.scoverage" % "sbt-coveralls" % "1.3.14")
1515
addSbtPlugin("com.evolution" % "sbt-artifactory-plugin" % "0.0.2")
1616
addSbtPlugin("com.github.sbt" % "sbt-git" % "2.1.0")
17+
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "2.3.0")
1718

1819
libraryDependencies ++= Seq(
1920
"org.openjdk.jmh" % "jmh-core" % "1.37",

0 commit comments

Comments
 (0)