-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Improve Benchmark Accuracy #2336
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
base: master
Are you sure you want to change the base?
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
tests/BenchmarkDotNet.IntegrationTests.ManualRunning/ExpectedBenchmarkResultsTests.cs
Outdated
Show resolved
Hide resolved
48266cd
to
4abbb1f
Compare
213549a
to
7080e63
Compare
3e4f122
to
e3e774b
Compare
Unfortunately, I no longer have an Intel CPU to test this, but I think the new results from this PR should address the issues you had in #2334 @AndreyAkinshin (results look good on my AMD 9800X3D CPU in .Net 8). |
e3e774b
to
f1a89ed
Compare
Okay, I have gotten it to pass all tests, and tested it locally against dotnet/performance. The only caveat that should be mentioned is that AsmResolver doesn't support Arm64 Platform (for now). Washi1337/AsmResolver#640 (comment) |
Overhead always returns `void`.
…thods. Count down loops instead of count up. Added IntroSmokeStringBuilder. Added more return type test cases.
Reverted loop methods back to `AggressiveOptimization`. Added `NoInlining` to `__Overhead` to match weaved benchmark method. Updated ExpectedBenchmarkResultsTests.
Update Weaver.
Run task after CoreCompile instead of AfterBuild.
Updated comments.
Don't fail silently. Remove unused property. Embed the weaver into BenchmarkDotNet.Annotations package instead of another package dependency.
@dotnet/jit-contrib any thoughts on this? |
Fixed formatting.
Fixes #1133
Fixes #2305
Fixes #1802
Fixes #2530
void
for a fair baseline for all benchmark return types.Consumer
or aNoInlining
method.MethodImplOptions.NoInlining
to benchmark methods.