Skip to content

[Perf] Linux/x64: 2 Regressions on 3/21/2023 7:06:30 PM #14534

Open
@performanceautofiler

Description

@performanceautofiler

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline c1acb35ce2b90f241ccdf3ead79544516c673e5f
Compare 5a99f1defea16d6725a7d8d3be82f52e1671973a
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Regressions in System.Linq.Tests.Perf_Enumerable

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Where - Duration of single invocation 22.45 μs 25.17 μs 1.12 0.14 False
WhereSelect - Duration of single invocation 25.21 μs 27.03 μs 1.07 0.09 False

graph
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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Linq.Tests.Perf_Enumerable*'

Payloads

Baseline
Compare

Histogram

System.Linq.Tests.Perf_Enumerable.Where(input: IEnumerable)


Description of detection logic

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 25.166461521620143 > 23.0847629759359.
IsChangePoint: Marked as a change because one of 3/10/2023 8:06:53 PM, 3/21/2023 4:52:34 PM, 3/27/2023 3:21:55 PM falls between 3/18/2023 7:37:20 PM and 3/27/2023 3:21:55 PM.
IsRegressionStdDev: Marked as regression because -16.32190746559229 (T) = (0 -25274.49533558129) / Math.Sqrt((385782.3349108681 / (29)) + (566100.2267068804 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.12827382372454604 = (22401.029611896538 - 25274.49533558129) / 22401.029611896538 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.

```#### System.Linq.Tests.Perf_Enumerable.WhereSelect(input: IEnumerable)

```log

Description of detection logic

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 27.02850032051282 > 26.321914993031495.
IsChangePoint: Marked as a change because one of 1/23/2023 10:43:32 PM, 3/10/2023 8:06:53 PM, 3/21/2023 7:06:30 PM, 3/27/2023 3:21:55 PM falls between 3/18/2023 7:37:20 PM and 3/27/2023 3:21:55 PM.
IsRegressionStdDev: Marked as regression because -13.662921556453544 (T) = (0 -27917.846538973) / Math.Sqrt((580937.908150486 / (30)) + (277564.96424129757 / (31))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (30) + (31) - 2, .025) and -0.08974723244575952 = (25618.64412935095 - 27917.846538973) / 25618.64412935095 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.

Docs

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions