2019-06-08 16:25:51 +03:00
|
|
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
|
|
|
|
|
|
|
plugins {
|
|
|
|
java
|
|
|
|
kotlin("jvm")
|
2020-09-09 05:55:26 +03:00
|
|
|
kotlin("plugin.allopen") version "1.4.20-dev-3898-14"
|
2020-09-08 12:40:47 +03:00
|
|
|
id("kotlinx.benchmark") version "0.2.0-dev-20"
|
2019-06-08 16:25:51 +03:00
|
|
|
}
|
|
|
|
|
2020-09-08 12:40:47 +03:00
|
|
|
allOpen.annotation("org.openjdk.jmh.annotations.State")
|
2019-06-08 16:25:51 +03:00
|
|
|
|
|
|
|
repositories {
|
2020-09-20 22:39:27 +03:00
|
|
|
maven("https://dl.bintray.com/mipt-npm/kscience")
|
2020-04-03 22:29:23 +03:00
|
|
|
maven("https://dl.bintray.com/mipt-npm/dev")
|
2020-09-09 05:55:26 +03:00
|
|
|
maven("https://dl.bintray.com/kotlin/kotlin-dev/")
|
2019-06-08 16:25:51 +03:00
|
|
|
mavenCentral()
|
|
|
|
}
|
|
|
|
|
2020-09-08 12:40:47 +03:00
|
|
|
sourceSets.register("benchmarks")
|
2019-06-08 16:25:51 +03:00
|
|
|
|
|
|
|
dependencies {
|
2020-09-09 07:28:54 +03:00
|
|
|
// implementation(project(":kmath-ast"))
|
2019-06-08 16:25:51 +03:00
|
|
|
implementation(project(":kmath-core"))
|
|
|
|
implementation(project(":kmath-coroutines"))
|
|
|
|
implementation(project(":kmath-commons"))
|
2020-05-22 21:28:14 +03:00
|
|
|
implementation(project(":kmath-prob"))
|
2019-12-08 15:48:25 +03:00
|
|
|
implementation(project(":kmath-viktor"))
|
2019-12-09 19:52:00 +03:00
|
|
|
implementation(project(":kmath-dimensions"))
|
2020-04-03 22:29:23 +03:00
|
|
|
implementation("org.jetbrains.kotlinx:kotlinx-io-jvm:0.2.0-npm-dev-6")
|
2020-09-08 12:40:47 +03:00
|
|
|
implementation("org.jetbrains.kotlinx:kotlinx.benchmark.runtime:0.2.0-dev-20")
|
2020-09-27 10:50:07 +03:00
|
|
|
implementation("org.slf4j:slf4j-simple:1.7.30")
|
|
|
|
"benchmarksImplementation"("org.jetbrains.kotlinx:kotlinx.benchmark.runtime-jvm:0.2.0-dev-8")
|
|
|
|
"benchmarksImplementation"(sourceSets.main.get().output + sourceSets.main.get().runtimeClasspath)
|
2019-06-08 16:25:51 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
// Configure benchmark
|
|
|
|
benchmark {
|
|
|
|
// Setup configurations
|
2020-09-08 12:40:47 +03:00
|
|
|
targets
|
2019-06-08 16:25:51 +03:00
|
|
|
// This one matches sourceSet name above
|
2020-09-08 12:40:47 +03:00
|
|
|
.register("benchmarks")
|
2019-06-08 16:25:51 +03:00
|
|
|
|
2020-09-08 12:40:47 +03:00
|
|
|
configurations.register("fast") {
|
|
|
|
warmups = 5 // number of warmup iterations
|
|
|
|
iterations = 3 // number of iterations
|
|
|
|
iterationTime = 500 // time in seconds per iteration
|
|
|
|
iterationTimeUnit = "ms" // time unity for iterationTime, default is seconds
|
2019-06-08 16:25:51 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-08-22 12:49:21 +03:00
|
|
|
kotlin.sourceSets.all {
|
|
|
|
with(languageSettings) {
|
|
|
|
useExperimentalAnnotation("kotlin.contracts.ExperimentalContracts")
|
|
|
|
useExperimentalAnnotation("kotlin.ExperimentalUnsignedTypes")
|
|
|
|
}
|
|
|
|
}
|
2019-06-08 16:25:51 +03:00
|
|
|
|
2020-09-09 05:55:26 +03:00
|
|
|
tasks.withType<KotlinCompile> { kotlinOptions.jvmTarget = "11" }
|