kotlinx-benchmark
kotlinx-benchmark copied to clipboard
Kotlin multiplatform benchmarking toolkit
Including: * Annotations * Plugin extension API
Additionally, improve output format and include secondary results. Resolves https://github.com/Kotlin/kotlinx-benchmark/issues/50
Both the `:plugin` and `:runtime` modules have many APIs that were accidentally introduced with a `public` visibility modifier. These APIs are currently annotated with `@KotlinxBenchmarkPluginInternalApi` and `@KotlinxBenchmarkRuntimeInternalApi` in the plugin...
Constantly logging these messages at warning level is not useful. #105
BenchmarkTaskResult results = new BenchmarkTaskResult(res.allOps, res.measuredOps);  In the generated Java code ``` RawResults res = new RawResults(); /*...*/ BenchmarkTaskResult results = new BenchmarkTaskResult(res.allOps, res.measuredOps); ``` but ``` public class...
Using recent Kotlin 2.1 builds (e.g. 2.1.0-dev-6359) ```kotlin plugins { kotlin("multiplatform") id("org.jetbrains.kotlinx.benchmark") } kotlin { jvm() macosArm64() sourceSets.commonMain.dependencies { implementation("org.jetbrains.kotlinx:kotlinx-benchmark-runtime:0.4.11") } } benchmark { targets { register("jvm") register("macosArm64") } }...
[Here](https://github.com/Kotlin/kotlinx-benchmark/blob/ce7bca66a9cb3dfb8e5ad842d553f62e61e23734/plugin/main/src/kotlinx/benchmark/gradle/BenchmarkConfiguration.kt#L73) we use `findProperty` function that looks to another Gradle Projects and break the Gradle sync with enabled Project isolation feature: ``` property benchmarks_jmh_version of :benchmarks Project :benchmarks cannot dynamically...
Real-world use-case: https://github.com/sellmair/evas/blob/sellmair/evas/src/commonBenchmark/kotlin/io/sellmair/evas/benchmark/events/EmitBenchmark.kt The scenario is the following: `@Setup` sets up the target entity/system and sets up a data egress that is repeatedly invoked from the target benchmark method. For...