diff --git a/build.gradle.kts b/build.gradle.kts index eb90475..461af31 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,7 @@ plugins { `java-library` `maven-publish` + id("me.champeau.jmh") version "0.7.1" } version = version.let { conformVersionToMavenConvention("${it}") } @@ -17,6 +18,33 @@ dependencies { testImplementation("com.pholser:junit-quickcheck-generators:${junitQuickcheckVersion}") testRuntimeOnly("org.junit.vintage:junit-vintage-engine:${junitVersion}") testRuntimeOnly("org.slf4j:slf4j-simple:${slf4jVersion}") + + jmh(group = "com.github.msteindorfer", name = "memory-measurer", version = "5be4fe7") + + /*** 3rd party JVM languages with persistent collection libraries ***/ + jmh(group = "org.clojure", name = "clojure", version = "1.11.1") + jmh(group = "org.scala-lang", name = "scala-library", version = "2.13.11") + jmh(group = "org.scala-lang.modules", name = "scala-collection-contrib_2.13", version = "0.3.0") + + /*** 3rd party Java libraries with persistent data structures ***/ + jmh(group = "com.github.andrewoma.dexx", name = "collection", version = "0.7") + jmh(group = "io.vavr", name = "vavr", version = "0.10.4") + jmh(group = "org.organicdesign", name = "Paguro", version = "3.10.3") + jmh(group = "org.pcollections", name = "pcollections", version = "4.0.1") + + /*** 3rd party Java libraries with immutable data structures and/or specialized primitive collections ***/ + jmh(group = "com.goldmansachs", name = "gs-collections-api", version = "7.0.3") + jmh(group = "com.goldmansachs", name = "gs-collections", version = "7.0.3") + jmh(group = "com.google.guava", name = "guava", version = "31.1-jre") + jmh(group = "it.unimi.dsi", name = "fastutil", version = "8.5.12") + jmh(group = "net.sf.trove4j", name = "trove4j", version = "3.0.3") + jmh(group = "org.apache.mahout", name = "mahout-math", version = "0.13.0") +} + +repositories { + maven { + url = uri("https://jitpack.io") // required to resolve `com.github.msteindorfer:memory-measurer:` + } } java {