Vinicius
02/23/2025, 2:56 PMVinicius
02/23/2025, 2:58 PMplugins {
    alias(libs.plugins.kotlinMultiplatform)
    alias(libs.plugins.vanniktech.mavenPublish)
    id("org.jetbrains.kotlinx.benchmark") version "0.4.13"
}
group = "mrvin.kql"
version = "0.1.0"
kotlin {
    jvm()
    sourceSets {
        val jvmMain by getting
        val jvmTest by getting {
            dependencies {
                implementation("org.xerial:sqlite-jdbc:3.49.0.0")
                implementation("org.postgresql:postgresql:42.7.5")
                implementation(kotlin("test"))
                val kotlinBenchmarkVersion = "0.4.13"
                implementation("org.jetbrains.kotlinx:kotlinx-benchmark-runtime:$kotlinBenchmarkVersion")
                implementation("org.jetbrains.kotlinx:kotlinx-benchmark-runtime-jvm:$kotlinBenchmarkVersion")
            }
        }
    }
}
benchmark {
    targets {
        register("jvm")
    }
    configurations {
        named("main") {
            warmups = 20
            iterations = 10
            iterationTime = 3
            iterationTimeUnit = "s"
        }
    }
}@State(Scope.Benchmark)
open class MyBenchmark {
    private val size = 10
    private val list = ArrayList<Int>()
    @Setup
    fun prepare() {
        for (i in 0..<size) {
            list.add(i)
        }
    }
    @TearDown
    fun cleanup() {
        list.clear()
    }
    @Benchmark
    fun benchmarkMethod(): Int {
        return list.sum()
    }
}Vinicius
02/23/2025, 3:07 PMVinicius
02/23/2025, 3:30 PMFilipp Zhinkin
02/24/2025, 5:04 PMbenchmarks {
   targets {
       register("jvmTest") // instead of "jvm"
   }
}Filipp Zhinkin
02/24/2025, 5:06 PMkotlinx-benchmark