Skip to content
New issue

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

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

Already on GitHub? # to your account

[Perf] Windows/arm64: 1 Regression on 6/7/2023 7:43:49 PM #18850

Open
performanceautofiler bot opened this issue Jun 15, 2023 · 1 comment
Open

[Perf] Windows/arm64: 1 Regression on 6/7/2023 7:43:49 PM #18850

performanceautofiler bot opened this issue Jun 15, 2023 · 1 comment

Comments

@performanceautofiler
Copy link

performanceautofiler bot commented Jun 15, 2023

Run Information

Name Value
Architecture arm64
OS Windows 10.0.19041
Queue SurfaceWindows
Baseline 10222f94e5d89b19959117dd9e5b8576ef63f878
Compare 157996fd60f296f9ab40ed996f9d29cbbb6f7542
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SerializeToWriter - Duration of single invocation 289.75 ns 331.31 ns 1.14 0.03 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;LargeStructWithProperties&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeToWriter(Mode: SourceGen)


Description of detection logic

IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 331.31400861081846 > 303.43064865862993.
IsChangePoint: Marked as a change because one of 3/17/2023 1:30:52 PM, 4/12/2023 8:39:35 PM, 4/25/2023 1:14:10 AM, 5/19/2023 4:22:12 AM, 6/7/2023 8:31:22 AM, 6/14/2023 3:35:53 PM falls between 6/5/2023 10:43:22 AM and 6/14/2023 3:35:53 PM.
IsRegressionStdDev: Marked as regression because -100.6595119339217 (T) = (0 -329.90897789039775) / Math.Sqrt((0.6160437878148601 / (10)) + (1.5079277450087016 / (15))) is less than -2.0686576104106944 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (10) + (15) - 2, .025) and -0.1400636183734621 = (289.37769136171676 - 329.90897789039775) / 289.37769136171676 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

1 participant