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

Run zinc benchmarks in parallel #1323

Merged
merged 2 commits into from
Jan 2, 2024
Merged

Conversation

Friendseeker
Copy link
Member

@Friendseeker Friendseeker commented Jan 1, 2024

Issue

With #1321, CI runs are taking twice as long. It would be better if we catch performance regression without longer CI wait time.

Solution

This PR introduces a new flag -Dbenchmark.pattern that accepts a regex pattern to selectively run benchmarks with name that matches the pattern. For example:

sbt "-Dbenchmark.pattern=.*Scalac.*" runBenchmarks

would run Scalac benchmarks only.

Then in CI, run Scalac benchmarks and Shapeless benchmarks in parallel.

Closes #1322

@Friendseeker Friendseeker changed the title Selective run zinc benchmark Selectively run zinc benchmark Jan 1, 2024
@Friendseeker Friendseeker changed the title Selectively run zinc benchmark Run zinc benchmarks in parallel Jan 1, 2024
Filter pattern in GlobalBenchmarkSetup

Test that -Dbenchmark.pattern works in CI

Pass pattern to GlobalBenchmarkSetup

Run benchmarks in parallel

Renaming job names
@Friendseeker Friendseeker marked this pull request as ready for review January 1, 2024 03:14
@eed3si9n eed3si9n merged commit e5c9bfb into sbt:develop Jan 2, 2024
8 checks passed
@Friendseeker Friendseeker deleted the benchmark-pattern branch January 2, 2024 19:51
@Friendseeker Friendseeker mentioned this pull request Jan 5, 2024
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.

Run zinc benchmarks in separate CI jobs
2 participants