From f36e61a510a6e86ec4414656b9c492cc6f5ba1a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Bulej?= Date: Mon, 11 Nov 2024 13:51:37 +0100 Subject: [PATCH 01/13] Update Scala versions to 2.12.20, 2.13.15 and 3.3.4 Co-authored-by: Rene Leonhardt <65483435+reneleonhardt@users.noreply.github.com> --- build.sbt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build.sbt b/build.sbt index 68258310..8e66de1f 100644 --- a/build.sbt +++ b/build.sbt @@ -57,9 +57,9 @@ ThisBuild / git.useGitDescribe := true // Compilation settings // val javaRelease = "11" -val scalaVersion212 = "2.12.18" -val scalaVersion213 = "2.13.12" -val scalaVersion3 = "3.3.1" +val scalaVersion212 = "2.12.20" +val scalaVersion213 = "2.13.15" +val scalaVersion3 = "3.3.4" // Explicitly target a specific JDK release. ThisBuild / javacOptions ++= Seq("--release", javaRelease) From 43a25628faff742fb7cf451c67203c311f8b9692 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Bulej?= Date: Mon, 11 Nov 2024 14:42:32 +0100 Subject: [PATCH 02/13] Update 'jdk-concurrent' dependencies Update Jenetics from version 5.2.0 to 6.3.0. Update comments related to Java compatibility. Co-authored-by: Rene Leonhardt <65483435+reneleonhardt@users.noreply.github.com> --- build.sbt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build.sbt b/build.sbt index 8e66de1f..eb074632 100644 --- a/build.sbt +++ b/build.sbt @@ -339,10 +339,10 @@ lazy val jdkConcurrentBenchmarks = (project in file("benchmarks/jdk-concurrent") name := "jdk-concurrent", commonSettingsScala3, libraryDependencies ++= Seq( - // Jenetics 5.2.0 is the last to support Java 8. - // Jenetics 6.0.0 requires Java 11 and benchmark update. + // Jenetics 6.3.0 is the last to support Java 11. // Jenetics 7.0.0 requires Java 17 and benchmark update. - "io.jenetics" % "jenetics" % "5.2.0" + // Jenetics 8.0.0 requires Java 21 and benchmark update. + "io.jenetics" % "jenetics" % "6.3.0" ) ) .dependsOn(renaissanceCore % "provided") From e56ee323fcd941959677c669814efa29d41448ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Bulej?= Date: Mon, 11 Nov 2024 14:45:58 +0100 Subject: [PATCH 03/13] Update 'twitter-finagle' dependencies Updates Twitter Finagle version from 22.12.0 to 24.2.0 Co-authored-by: Rene Leonhardt <65483435+reneleonhardt@users.noreply.github.com> --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index eb074632..6f27c88e 100644 --- a/build.sbt +++ b/build.sbt @@ -465,7 +465,7 @@ lazy val scalaStmBenchmarks = (project in file("benchmarks/scala-stm")) RootProject(uri("benchmarks/scala-stm/stmbench7")) ) -val finagleVersion = "22.12.0" +val finagleVersion = "24.2.0" lazy val twitterFinagleBenchmarks = (project in file("benchmarks/twitter-finagle")) .settings( From f9918becc41ba49ffb08249bebc795722fd2a442 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Bulej?= Date: Mon, 11 Nov 2024 14:52:06 +0100 Subject: [PATCH 04/13] Update 'neo4j' dependencies Updates Neo4J from version 5.12.0 to 5.21.1 Updates `play-json` to version 2.10.6. Ensures that different Jackson modules use the same version. Co-authored-by: Rene Leonhardt <65483435+reneleonhardt@users.noreply.github.com> --- build.sbt | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/build.sbt b/build.sbt index 6f27c88e..b2a6a856 100644 --- a/build.sbt +++ b/build.sbt @@ -354,6 +354,8 @@ lazy val jdkStreamsBenchmarks = (project in file("benchmarks/jdk-streams")) ) .dependsOn(renaissanceCore % "provided") +val grpcVersion = "1.68.1" + lazy val neo4jBenchmarks = (project in file("benchmarks/neo4j")) .settings( name := "neo4j", @@ -361,9 +363,9 @@ lazy val neo4jBenchmarks = (project in file("benchmarks/neo4j")) libraryDependencies ++= Seq( // neo4j 4.4 supports Scala 2.12 and requires JDK11. // neo4j 5.x supports Scala 2.13 and requires JDK17. - "org.neo4j" % "neo4j" % "5.12.0", + "org.neo4j" % "neo4j" % "5.25.1", // play-json 2.10.x requires SBT running on JDK11 to compile. - "com.typesafe.play" %% "play-json" % "2.10.1" + "com.typesafe.play" %% "play-json" % "2.10.6" ), excludeDependencies ++= Seq( // Drop dependencies that are not really used by the benchmark. @@ -372,12 +374,19 @@ lazy val neo4jBenchmarks = (project in file("benchmarks/neo4j")) dependencyOverrides ++= Seq( // Force common (newer) version of Jackson packages. "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % jacksonVersion, + "com.fasterxml.jackson.jaxrs" % "jackson-jaxrs-json-provider" % jacksonVersion, // Force newer JNA to support more platforms/architectures. "net.java.dev.jna" % "jna" % jnaVersion, + // Force newer version of gRPC packages. + "io.grpc" % "grpc-netty" % grpcVersion, + "io.grpc" % "grpc-protobuf" % grpcVersion, + "io.grpc" % "grpc-stub" % grpcVersion, // Force common (newer) version of Netty packages. - "io.netty" % "netty-codec-http" % nettyVersion, + "io.netty" % "netty-codec-http2" % nettyVersion, + "io.netty" % "netty-handler-proxy" % nettyVersion, "io.netty" % "netty-transport-native-epoll" % nettyVersion, "io.netty" % "netty-transport-native-kqueue" % nettyVersion, + "io.netty" % "netty-tcnative-classes" % nettyTomcatNativeVersion, // Force common (newer) version of Eclipse collection packages. "org.eclipse.collections" % "eclipse-collections" % eclipseCollectionsVersion, // Force common (newer) version of Jersey packages. @@ -488,6 +497,7 @@ lazy val twitterFinagleBenchmarks = (project in file("benchmarks/twitter-finagle "io.netty" % "netty-handler-proxy" % nettyVersion, "io.netty" % "netty-resolver-dns" % nettyVersion, "io.netty" % "netty-transport-native-epoll" % nettyVersion, + "io.netty" % "netty-tcnative-boringssl-static" % nettyTomcatNativeVersion, // Force common (newer) version of Jackson packages. "com.fasterxml.jackson.module" %% "jackson-module-scala" % jacksonVersion, // Force common versions of other dependencies. From 687bd3888e5a177b3c430b7eb7dfc77cace49a67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Bulej?= Date: Mon, 11 Nov 2024 14:58:00 +0100 Subject: [PATCH 05/13] Update 'rx' dependencies Update rxjava3 from version 3.1.8 to 3.1.9 --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index b2a6a856..b93faafd 100644 --- a/build.sbt +++ b/build.sbt @@ -411,7 +411,7 @@ lazy val rxBenchmarks = (project in file("benchmarks/rx")) name := "rx", commonSettingsScala3, libraryDependencies ++= Seq( - "io.reactivex.rxjava3" % "rxjava" % "3.1.8" + "io.reactivex.rxjava3" % "rxjava" % "3.1.9" ) ) .dependsOn(renaissanceCore % "provided") From 8ae52232d6369d55e82edffb757b029469929cef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Bulej?= Date: Mon, 11 Nov 2024 15:08:29 +0100 Subject: [PATCH 06/13] Update 'apache-spark' dependencies Updates Spark from version 3.5.0 to 3.5.3 Co-authored-by: Rene Leonhardt <65483435+reneleonhardt@users.noreply.github.com> --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index b93faafd..de06e4cb 100644 --- a/build.sbt +++ b/build.sbt @@ -258,7 +258,7 @@ lazy val actorsReactorsBenchmarks = (project in file("benchmarks/actors-reactors ProjectRef(uri("benchmarks/actors-reactors/reactors"), "reactorsCoreJVM") ) -val sparkVersion = "3.5.0" +val sparkVersion = "3.5.3" lazy val apacheSparkBenchmarks = (project in file("benchmarks/apache-spark")) .settings( From aab7e3452ef104edb15c631dee9fcd689ef06bc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Bulej?= Date: Mon, 11 Nov 2024 16:21:53 +0100 Subject: [PATCH 07/13] Update 'actors-akka' dependencies Drop unused `scala-java8-compat_3` package needed for Java 8. --- build.sbt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build.sbt b/build.sbt index de06e4cb..375b73ee 100644 --- a/build.sbt +++ b/build.sbt @@ -243,6 +243,10 @@ lazy val actorsAkkaBenchmarks = (project in file("benchmarks/actors-akka")) // akka-actor 2.6.17+ supports Scala 2.12, 2.13, and 3 under Apache 2.0 license // akka-actor 2.7.0+ supports Scala 2.12, 2.13, and 3 under Business Source 1.1 license "com.typesafe.akka" %% "akka-actor" % "2.6.21" + ), + excludeDependencies ++= Seq( + // Drop dependencies that are not needed for running on Java 11+. + ExclusionRule("org.scala-lang.modules", "scala-java8-compat_3") ) ) .dependsOn(renaissanceCore % "provided") From 8119223d2d78f29673408601f402c6cb1be5b3e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Bulej?= Date: Mon, 11 Nov 2024 17:03:24 +0100 Subject: [PATCH 08/13] Update 'scala-dotty' dependencies Update scala3-compiler from version 3.3.1 to 3.3.4. Update hash of Tasty files produced by the compiler. Drop JNA dependency that should not be used. --- .../src/main/scala/org/renaissance/scala/dotty/Dotty.scala | 2 +- build.sbt | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/benchmarks/scala-dotty/src/main/scala/org/renaissance/scala/dotty/Dotty.scala b/benchmarks/scala-dotty/src/main/scala/org/renaissance/scala/dotty/Dotty.scala index 31550368..ddf6bc4f 100644 --- a/benchmarks/scala-dotty/src/main/scala/org/renaissance/scala/dotty/Dotty.scala +++ b/benchmarks/scala-dotty/src/main/scala/org/renaissance/scala/dotty/Dotty.scala @@ -51,7 +51,7 @@ final class Dotty extends Benchmark { * * find . -type f -name '*.tasty'|egrep -v '(Classfile|ByteCode)\.tasty' | LC_ALL=C sort|xargs cat|md5sum */ - private val expectedTastyHash: String = "cda4bf9f729d30c97ec7b793c54039d1" + private val expectedTastyHash: String = "5c33664eacffb74f853dec92efd9d503" private val excludedTastyFiles = Seq("Classfile.tasty", "ByteCode.tasty") diff --git a/build.sbt b/build.sbt index 375b73ee..4e20cbd4 100644 --- a/build.sbt +++ b/build.sbt @@ -428,12 +428,13 @@ lazy val scalaDottyBenchmarks = (project in file("benchmarks/scala-dotty")) // Version 3.1.2 was the last to compile with Scala 2.13.11. Version 3.1.3-RC2 // broke compilation due to "Unsupported Scala 3 union in parameter value". // Compiling with Scala 3.1.0+ avoids compatibility issues. - "org.scala-lang" % "scala3-compiler_3" % "3.3.1", + "org.scala-lang" % "scala3-compiler_3" % "3.3.4", // The following is required to compile the workload sources. Keep it last! "org.scala-lang" % "scala-compiler" % scalaVersion213 % Runtime ), excludeDependencies ++= Seq( // Drop dependencies that are not really used by the benchmark. + ExclusionRule("net.java.dev.jna", "jna"), ExclusionRule("org.jline", "jline"), ExclusionRule("org.jline", "jline-reader"), ExclusionRule("org.jline", "jline-terminal"), From c697adc4ffe5c04e0edcf85a9a90a445680a318d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Bulej?= Date: Tue, 12 Nov 2024 11:36:18 +0100 Subject: [PATCH 09/13] Update 'database' dependencies Updates Agrona from version 1.19.2 to 1.22.0 Updates MapDB from version 3.0.10 to 3.1. Updates H2-MVStore from version 2.2.224 to 2.3.232 Updates Chronicle Map from version 3.22.9 to 3.26ea4 (Java 21) Also updates some of the Chronicle Map secondary dependencies. Note: In standalone mode, the `db-shootout` benchmark actually runs on Java 24, while with the harness it fails on Java 23. There may be a classpath issue when using a custom class loader (Chronicle generates and compiles source code at runtime using the JDK compiler module). Co-authored-by: Rene Leonhardt <65483435+reneleonhardt@users.noreply.github.com> --- README.md | 2 +- .../org/renaissance/database/DbShootout.scala | 2 +- build.sbt | 23 ++++++++++++++----- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e460b080..68121961 100644 --- a/README.md +++ b/README.md @@ -115,7 +115,7 @@ The following is the complete list of benchmarks, separated into groups. - `db-shootout` - Executes a shootout test using several in-memory databases. \ - Default repetitions: 16; APACHE2 license, MIT distribution; Supported JVM: 11 - 18 + Default repetitions: 16; APACHE2 license, MIT distribution; Supported JVM: 11 - 22 - `neo4j-analytics` - Executes Neo4j graph queries against a movie database. \ diff --git a/benchmarks/database/src/main/scala/org/renaissance/database/DbShootout.scala b/benchmarks/database/src/main/scala/org/renaissance/database/DbShootout.scala index c820ebf1..f644d8d6 100644 --- a/benchmarks/database/src/main/scala/org/renaissance/database/DbShootout.scala +++ b/benchmarks/database/src/main/scala/org/renaissance/database/DbShootout.scala @@ -14,7 +14,7 @@ import org.renaissance.License @Group("database") @Summary("Executes a shootout test using several in-memory databases.") @Licenses(Array(License.APACHE2)) -@SupportsJvm("18") +@SupportsJvm("22") // Works on Java 24 in standalone mode. @Repetitions(16) @Parameter(name = "rw_entry_count", defaultValue = "500000") @Configuration(name = "test", settings = Array("rw_entry_count = 10000")) diff --git a/build.sbt b/build.sbt index 4e20cbd4..b95736d7 100644 --- a/build.sbt +++ b/build.sbt @@ -313,17 +313,24 @@ lazy val databaseBenchmarks = (project in file("benchmarks/database")) name := "database", commonSettingsScala3, libraryDependencies ++= Seq( - "com.github.jnr" % "jnr-posix" % "3.1.18", + "com.github.jnr" % "jnr-posix" % "3.1.20", "org.apache.commons" % "commons-math3" % commonsMath3Version, - "org.agrona" % "agrona" % "1.19.2", + // Agrona 1.23+ requires Java 17. + "org.agrona" % "agrona" % "1.22.0", // Database libraries. - "org.mapdb" % "mapdb" % "3.0.10", - "com.h2database" % "h2-mvstore" % "2.2.224", - "net.openhft" % "chronicle-map" % "3.22.9", + "org.mapdb" % "mapdb" % "3.1.0", + "com.h2database" % "h2-mvstore" % "2.3.232", + // Chronicle Map 3.25+ supports Java 21. + "net.openhft" % "chronicle-map" % "3.26ea4", // Add simple binding to silence SLF4J warnings. - "org.slf4j" % "slf4j-simple" % slf4jVersion + "org.slf4j" % "slf4j-simple" % slf4jVersion, + // Replacement for excluded "net.jpountz.lz4" % "lz4". + "org.lz4" % "lz4-java" % "1.8.0" ), dependencyOverrides ++= Seq( + // Force newer version of Chronicle modules. + "net.openhft" % "chronicle-wire" % "2.26ea10", + "net.openhft" % "posix" % "2.26ea3", // Force newer JNA to support more platforms/architectures. "net.java.dev.jna" % "jna-platform" % jnaVersion, // Force common (newer) version of ASM packages. @@ -334,6 +341,10 @@ lazy val databaseBenchmarks = (project in file("benchmarks/database")) // Force common versions of other dependencies. "com.google.guava" % "guava" % guavaVersion, "org.slf4j" % "slf4j-api" % slf4jVersion + ), + excludeDependencies ++= Seq( + // Replaced by the "org.lz4" % "lz4-java". + ExclusionRule("net.jpountz.lz4", "lz4") ) ) .dependsOn(renaissanceCore % "provided") From 742724bb93404eaa0930ea41c448ed6f774dab25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Bulej?= Date: Tue, 12 Nov 2024 14:21:16 +0100 Subject: [PATCH 10/13] Silence warnings in 'db-shootout' related to CPU cores with different number of hardware threads --- benchmarks/database/src/main/resources/simplelogger.properties | 2 ++ 1 file changed, 2 insertions(+) diff --git a/benchmarks/database/src/main/resources/simplelogger.properties b/benchmarks/database/src/main/resources/simplelogger.properties index cd90c2ac..ada50b90 100644 --- a/benchmarks/database/src/main/resources/simplelogger.properties +++ b/benchmarks/database/src/main/resources/simplelogger.properties @@ -1 +1,3 @@ org.slf4j.simpleLogger.defaultLogLevel=warn +# Silence warnings related to CPU cores with different number of hardware threads. +org.slf4j.simpleLogger.log.net.openhft.affinity.impl.VanillaCpuLayout=error From 66ee2213c00ecead2f882729affe8c7a1e19ab23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Bulej?= Date: Tue, 12 Nov 2024 11:38:24 +0100 Subject: [PATCH 11/13] Update manifest attributes and JVM workaround args Extends Add-Opens for Chronicle and adds Enable-Native-Access for the "lz4-java" dependency. Also updates the JVM workaround args to open additional modules to allow running updated 'db-shootout' with JMH. --- build.sbt | 9 +++++++-- tools/ci/common.sh | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index b95736d7..34d70aad 100644 --- a/build.sbt +++ b/build.sbt @@ -138,7 +138,10 @@ val generateManifestAttributesTask = Def.task { "java.base/sun.nio.ch", "java.management/sun.management", "java.management/sun.management.counter", - "java.management/sun.management.counter.perf" + "java.management/sun.management.counter.perf", + // Required by Chronicle Map. + "java.base/jdk.internal.ref", + "jdk.compiler/com.sun.tools.javac.file" ) Package.ManifestAttributes( @@ -147,7 +150,9 @@ val generateManifestAttributesTask = Def.task { ("Git-Head-Commit", git.gitHeadCommit.value.getOrElse("unknown")), ("Git-Head-Commit-Date", git.gitHeadCommitDate.value.getOrElse("unknown")), ("Git-Uncommitted-Changes", git.gitUncommittedChanges.value.toString), - ("Add-Opens", addOpensPackages.mkString(" ")) + ("Add-Opens", addOpensPackages.mkString(" ")), + // Required by "org.lz4" % "lz4-java". + ("Enable-Native-Access", "ALL-UNNAMED") ) } diff --git a/tools/ci/common.sh b/tools/ci/common.sh index bd6ff84b..487656de 100644 --- a/tools/ci/common.sh +++ b/tools/ci/common.sh @@ -58,7 +58,9 @@ get_jvm_workaround_args() { echo "--add-opens=java.base/java.lang.reflect=ALL-UNNAMED" echo "--add-opens=java.base/java.util=ALL-UNNAMED" echo "--add-opens=java.base/java.nio=ALL-UNNAMED" + echo "--add-opens=java.base/jdk.internal.ref=ALL-UNNAMED" echo "--add-opens=java.base/sun.nio.ch=ALL-UNNAMED" + echo "--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED" ;; *) ;; From 61b9fce115e9239ec23485ba0ce40f4cf3ecfc0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Bulej?= Date: Mon, 11 Nov 2024 14:28:48 +0100 Subject: [PATCH 12/13] Update common dependencies Co-authored-by: Rene Leonhardt <65483435+reneleonhardt@users.noreply.github.com> --- build.sbt | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/build.sbt b/build.sbt index 34d70aad..9773b518 100644 --- a/build.sbt +++ b/build.sbt @@ -160,22 +160,23 @@ val generateManifestAttributesTask = Def.task { // Subprojects // -val asmVersion = "9.6" -val commonsCompressVersion = "1.24.0" -val commonsIoVersion = "2.14.0" -val commonsLang3Version = "3.13.0" +// ASM 9.7+ requires Java 11. +val asmVersion = "9.7.1" +val commonsCompressVersion = "1.27.1" +val commonsIoVersion = "2.17.0" +val commonsLang3Version = "3.17.0" val commonsMath3Version = "3.6.1" -val commonsTextVersion = "1.10.0" +val commonsTextVersion = "1.12.0" val eclipseCollectionsVersion = "11.1.0" -val guavaVersion = "32.1.2-jre" -val jacksonVersion = "2.15.2" -val jerseyVersion = "2.40" -val jnaVersion = "5.13.0" -val nettyVersion = "4.1.99.Final" -val scalaCollectionCompatVersion = "2.11.0" +val guavaVersion = "33.3.1-jre" +val jacksonVersion = "2.18.1" +val jerseyVersion = "2.45" +val jnaVersion = "5.15.0" +val nettyVersion = "4.1.114.Final" +val scalaCollectionCompatVersion = "2.12.0" val scalaParallelCollectionsVersion = "1.0.4" -val slf4jVersion = "2.0.9" -val zstdJniVersion = "1.5.5-6" +val slf4jVersion = "2.0.16" +val zstdJniVersion = "1.5.6-7" lazy val renaissanceCore = (project in file("renaissance-core")) .settings( From e92f5860261d64a8e2246a5a4c7fff2b28b55e29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Bulej?= Date: Mon, 11 Nov 2024 16:24:40 +0100 Subject: [PATCH 13/13] Extend common dependencies --- build.sbt | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 9773b518..bd706845 100644 --- a/build.sbt +++ b/build.sbt @@ -160,8 +160,11 @@ val generateManifestAttributesTask = Def.task { // Subprojects // +val arrowVersion = "18.0.0" // ASM 9.7+ requires Java 11. val asmVersion = "9.7.1" +// Caffeine 3.0+ requires Java 11. +val caffeineVersion = "3.1.8" val commonsCompressVersion = "1.27.1" val commonsIoVersion = "2.17.0" val commonsLang3Version = "3.17.0" @@ -170,11 +173,15 @@ val commonsTextVersion = "1.12.0" val eclipseCollectionsVersion = "11.1.0" val guavaVersion = "33.3.1-jre" val jacksonVersion = "2.18.1" +val jakartaXmlBindVersion = "2.3.3" val jerseyVersion = "2.45" val jnaVersion = "5.15.0" +val nettyTomcatNativeVersion = "2.0.69.Final" val nettyVersion = "4.1.114.Final" +val parquetVersion = "1.14.3" val scalaCollectionCompatVersion = "2.12.0" val scalaParallelCollectionsVersion = "1.0.4" +val scalaParserCombinatorsVersion = "2.4.0" val slf4jVersion = "2.0.16" val zstdJniVersion = "1.5.6-7" @@ -293,6 +300,11 @@ lazy val apacheSparkBenchmarks = (project in file("benchmarks/apache-spark")) // Force common (newer) version of Jackson packages. "com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % jacksonVersion, "com.fasterxml.jackson.module" %% "jackson-module-scala" % jacksonVersion, + // Force common (newer) version of Arrow packages. + "org.apache.arrow" % "arrow-vector" % arrowVersion, + "org.apache.arrow" % "arrow-memory-netty" % arrowVersion, + // Force common (newer) version of Parquet packages. + "org.apache.parquet" % "parquet-hadoop" % parquetVersion, // Force common (newer) version of Jersey packages. "org.glassfish.jersey.containers" % "jersey-container-servlet" % jerseyVersion, "org.glassfish.jersey.core" % "jersey-server" % jerseyVersion, @@ -301,12 +313,14 @@ lazy val apacheSparkBenchmarks = (project in file("benchmarks/apache-spark")) "com.github.luben" % "zstd-jni" % zstdJniVersion, "com.google.guava" % "guava" % guavaVersion, "commons-io" % "commons-io" % commonsIoVersion, + "jakarta.xml.bind" % "jakarta.xml.bind-api" % jakartaXmlBindVersion, "org.apache.commons" % "commons-compress" % commonsCompressVersion, "org.apache.commons" % "commons-lang3" % commonsLang3Version, "org.apache.commons" % "commons-math3" % commonsMath3Version, "org.apache.commons" % "commons-text" % commonsTextVersion, "org.scala-lang.modules" %% "scala-collection-compat" % scalaCollectionCompatVersion, "org.scala-lang.modules" %% "scala-parallel-collections" % scalaParallelCollectionsVersion, + "org.scala-lang.modules" %% "scala-parser-combinators" % scalaParserCombinatorsVersion, "org.slf4j" % "slf4j-api" % slf4jVersion, "org.slf4j" % "jcl-over-slf4j" % slf4jVersion, "org.slf4j" % "jul-to-slf4j" % slf4jVersion @@ -410,6 +424,10 @@ lazy val neo4jBenchmarks = (project in file("benchmarks/neo4j")) "io.netty" % "netty-tcnative-classes" % nettyTomcatNativeVersion, // Force common (newer) version of Eclipse collection packages. "org.eclipse.collections" % "eclipse-collections" % eclipseCollectionsVersion, + // Force common (newer) version of Arrow packages. + "org.apache.arrow" % "flight-core" % arrowVersion, + // Force common (newer) version of Parquet packages. + "org.apache.parquet" % "parquet-hadoop" % parquetVersion, // Force common (newer) version of Jersey packages. "org.glassfish.jersey.containers" % "jersey-container-servlet" % jerseyVersion, "org.glassfish.jersey.core" % "jersey-server" % jerseyVersion, @@ -417,8 +435,10 @@ lazy val neo4jBenchmarks = (project in file("benchmarks/neo4j")) // Force common (newer) version of ASM packages. "org.ow2.asm" % "asm-util" % asmVersion, // Force common versions of other dependencies. + "com.github.ben-manes.caffeine" % "caffeine" % caffeineVersion, "com.github.luben" % "zstd-jni" % zstdJniVersion, "commons-io" % "commons-io" % commonsIoVersion, + "jakarta.xml.bind" % "jakarta.xml.bind-api" % jakartaXmlBindVersion, "org.apache.commons" % "commons-lang3" % commonsLang3Version, "org.apache.commons" % "commons-compress" % commonsCompressVersion, "org.apache.commons" % "commons-text" % commonsTextVersion, @@ -523,8 +543,10 @@ lazy val twitterFinagleBenchmarks = (project in file("benchmarks/twitter-finagle // Force common (newer) version of Jackson packages. "com.fasterxml.jackson.module" %% "jackson-module-scala" % jacksonVersion, // Force common versions of other dependencies. + "com.github.ben-manes.caffeine" % "caffeine" % caffeineVersion, "com.github.luben" % "zstd-jni" % zstdJniVersion, - "org.scala-lang.modules" %% "scala-collection-compat" % scalaCollectionCompatVersion + "org.scala-lang.modules" %% "scala-collection-compat" % scalaCollectionCompatVersion, + "org.scala-lang.modules" %% "scala-parser-combinators" % scalaParserCombinatorsVersion ) ) .dependsOn(renaissanceCore % "provided")