-
-
Notifications
You must be signed in to change notification settings - Fork 980
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
Generate one executable per runtime settings #699
Comments
Great idea! |
@AndreyAkinshin done! Pseudo code:
Time to build all (more than 650) benchmarks from our Samples project: 13s. |
Awesome! I guess it's the most impressive perf improvement in BenchmarkDotNet ever! However, I should ask: do you a have a setting in Config which disables this behavior? (It can be useful for debug). |
Currently what I do is:
@AndreyAkinshin is that enough? It's just a matter of passing the right Id |
@AndreyAkinshin I will be now working on #700 so there will be a lot of build artifacts related debugging. All builds are green, it works so now I am closing this one. |
…at a time, print some output
Today we generate, build and execute new project per every benchmark.
What I want to do is: take all the benchmarks that have the same runtime settings (GC, Jit, .NET framework) and create a single executable for all of them. Then run executable per benchmark (but just tell it which benchmark to run). (In the future: run them in parallel if user wants to == optional feature)
Why: I want to run thousands of benchmarks as part of the CI and spending few seconds per benchmark for build is very expensive.
Moreover, I want to implement local coreclr toolchain which needs a lot of time to compile (I will be using dotnet restore --packages folder) so the gain will be even bigger.
The text was updated successfully, but these errors were encountered: