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

Support setting up different toolchains for different benchmark configurations #187

Open
fzhinkin opened this issue Feb 6, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@fzhinkin
Copy link
Contributor

fzhinkin commented Feb 6, 2024

(Spin-off from the #176)

When working on performance improvements, sometimes there's a need to validate performance with different runtime versions.
It would be nice to support per-configuration runtime version selection.
Something like:

configurations {
    create("jdk17") {
        mode = "avgt"
        outputTimeUnit = "ns"
        include("MyPreciousBenchmark")
        jvmToolchain {
            languageVersion.set(JavaLanguageVersion.of(17))
        }
    }
    create("jdk21") {
        mode = "avgt"
        outputTimeUnit = "ns"
        include("MyPreciousBenchmark")
        jvmToolchain {
            languageVersion.set(JavaLanguageVersion.of(21))
        }
    }
    create("nodeJs21") {
        mode = "avgt"
        outputTimeUnit = "ns"
        include("MyPreciousBenchmark")
        nodeJsVersion = "21.0.0"
    }
}

However, there are a few obvious issues:

  • configurations are not bound to a particular target, so the example above looks weird;
  • it's unclear how to handle scenarios where a user specified a lower JDK version then a project use (i.e. that JDK won't be able to load compiled classes).

Not suggesting a particular solution, filled the issue to ensure the idea won't be lost.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant