Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiplatform benchmarks baseline #4350

Merged
merged 7 commits into from
Feb 18, 2025
Merged

Conversation

qwwdfsad
Copy link
Collaborator

@qwwdfsad qwwdfsad commented Feb 12, 2025

I needed this for Kotlin/kotlinx-atomicfu#499 and decided to tidy it up a bit and make it usable.

Adding @fzhinkin to verify the sourcesets setup

@qwwdfsad qwwdfsad changed the title Fix basic compilation of benchmarks Multiplatform benchmark baseline Feb 12, 2025
@qwwdfsad qwwdfsad changed the title Multiplatform benchmark baseline Multiplatform benchmarks baseline Feb 12, 2025
@qwwdfsad qwwdfsad marked this pull request as ready for review February 12, 2025 13:05
@dkhalanskyjb
Copy link
Collaborator

I see that the jvmBenchmark/README.md was renamed, but no new README.md was introduced to replace it. How does one run SharedFlowBaseline?

"--add-exports", "java.base/sun.security.action=ALL-UNNAMED",
"--add-exports", "java.base/jdk.internal.util=ALL-UNNAMED") // in the model checking mode
"--add-exports", "java.base/jdk.internal.util=ALL-UNNAMED"
) // in the model checking mode
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pro tip: use Difftastic when reviewing such changes! In a structural diff, the trivial formatting edits don't show up at all.

@dkhalanskyjb dkhalanskyjb self-requested a review February 12, 2025 13:37
@dkhalanskyjb dkhalanskyjb self-requested a review February 12, 2025 15:55
./gradlew :kotlinx-coroutines-core:macosArm64BenchmarkBenchmark

// Figure out what to use
./gradlew :kotlinx-coroutines-core:tasks | grep -i bench
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
./gradlew :kotlinx-coroutines-core:tasks | grep -i bench
./gradlew :kotlinx-coroutines-core:tasks | grep -i "BenchmarkBenchmark "

Seems much more reliable.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I explicitly opted into mine version -- shorter, more robust (also, will showcase non-launcing tasks, for example macosArm64BenchmarkBinaries to copy around)

@@ -4,6 +4,7 @@ group=org.jetbrains.kotlinx
kotlin_version=2.1.0
# DO NOT rename this property without adapting kotlinx.train build chain:
atomicfu_version=0.26.1
benchmarks_version=0.4.13
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be worth plugging benchmarks_jmh_version=1.37 here, otherwise benchmarks will use pretty ancient version of JMH (1.21).

@qwwdfsad qwwdfsad merged commit d3f1f23 into develop Feb 18, 2025
1 check failed
@qwwdfsad qwwdfsad deleted the syncrhonized-object-baseline-bench branch February 18, 2025 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants