Skip to content

[Perf] Changes at 7/2/2022 10:25:38 PM #6615

Closed
@performanceautofiler

Description

@performanceautofiler

Run Information

Architecture x64
OS alpine 3.15
Baseline 6b8d056a665fa20d321ea1d49a93a37a83960663
Compare b3c3921a888fcf162d6e270178a0e3ea9a40a022
Diff Diff

Regressions in System.Collections.Sort<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
List - Duration of single invocation 2.59 μs 3.76 μs 1.45 0.43 False
Array - Duration of single invocation 2.39 μs 4.86 μs 2.03 0.38 False
LinqOrderByExtension - Duration of single invocation 36.96 μs 39.35 μs 1.06 0.06 False
LinqQuery - Duration of single invocation 36.90 μs 39.54 μs 1.07 0.06 False
Array_Comparison - Duration of single invocation 20.29 μs 22.36 μs 1.10 0.06 False

graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.Sort&lt;Int32&gt;*'

Payloads

Baseline
Compare

Histogram

System.Collections.Sort<Int32>.List(Size: 512)


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 3.7597079900000003 > 2.8724378725.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/5/2022 10:15:28 AM falls between 6/26/2022 6:11:06 PM and 7/5/2022 10:15:28 AM.
IsRegressionStdDev: Marked as regression because -12.353000312651611 (T) = (0 -4040.00108875) / Math.Sqrt((7881.1649251038625 / (51)) + (101999.74419176362 / (8))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (51) + (8) - 2, .025) and -0.5322040562185509 = (2636.725227526575 - 4040.00108875) / 2636.725227526575 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.Collections.Sort&lt;Int32&gt;.Array(Size: 512)

```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 4.860769107692309 > 2.8123633970833337.
IsChangePoint: Marked as a change because one of 7/3/2022 4:26:07 AM, 7/5/2022 10:15:28 AM falls between 6/26/2022 6:11:06 PM and 7/5/2022 10:15:28 AM.
IsRegressionStdDev: Marked as regression because -6.608538501490605 (T) = (0 -4031.954485538462) / Math.Sqrt((69168.05626492103 / (54)) + (218758.58845493465 / (5))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (54) + (5) - 2, .025) and -0.5333167640368692 = (2629.5639492802884 - 4031.954485538462) / 2629.5639492802884 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.Collections.Sort&lt;Int32&gt;.LinqOrderByExtension(Size: 512)

```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 39.349956216666676 > 38.85571051330769.
IsChangePoint: Marked as a change because one of 5/12/2022 1:53:44 AM, 5/24/2022 3:42:52 PM, 6/23/2022 8:35:19 AM, 7/2/2022 7:35:06 PM, 7/5/2022 10:15:28 AM falls between 6/26/2022 6:11:06 PM and 7/5/2022 10:15:28 AM.
IsRegressionStdDev: Marked as regression because -32.85484823732051 (T) = (0 -39603.86021510531) / Math.Sqrt((141822.95356557955 / (51)) + (18959.126332089763 / (8))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (51) + (8) - 2, .025) and -0.06330752784784205 = (37245.91350845075 - 39603.86021510531) / 37245.91350845075 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.Collections.Sort&lt;Int32&gt;.LinqQuery(Size: 512)

```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 39.538354357142865 > 39.12203206275.
IsChangePoint: Marked as a change because one of 5/11/2022 3:41:15 PM, 5/24/2022 3:42:52 PM, 6/23/2022 8:25:58 PM, 7/2/2022 7:35:06 PM, 7/5/2022 10:15:28 AM falls between 6/26/2022 6:11:06 PM and 7/5/2022 10:15:28 AM.
IsRegressionStdDev: Marked as regression because -31.338449110736804 (T) = (0 -39603.11588914836) / Math.Sqrt((166084.93005790107 / (51)) + (18921.8656819812 / (8))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (51) + (8) - 2, .025) and -0.06307384250315005 = (37253.400757088995 - 39603.11588914836) / 37253.400757088995 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.Collections.Sort&lt;Int32&gt;.Array_Comparison(Size: 512)

```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 22.35703098461539 > 21.753388003999998.
IsChangePoint: Marked as a change because one of 5/23/2022 3:43:39 PM, 5/30/2022 12:57:05 PM, 7/2/2022 7:35:06 PM, 7/5/2022 10:15:28 AM falls between 6/26/2022 6:11:06 PM and 7/5/2022 10:15:28 AM.
IsRegressionStdDev: Marked as regression because -18.737346825567638 (T) = (0 -22215.35563908425) / Math.Sqrt((147699.2479352119 / (51)) + (7500.881236534057 / (8))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (51) + (8) - 2, .025) and -0.055100593057762756 = (21055.20154689937 - 22215.35563908425) / 21055.20154689937 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

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions