Skip to content

[Perf] Changes at 5/30/2022 5:18:40 PM #5827

@performanceautofiler

Description

@performanceautofiler

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 9380113a892ec86d147e6e7506a10eda407a82be
Compare 842b6a87aaa6b6f25555541f541d5ee202d3972a
Diff Diff

Regressions in System.Collections.IterateForEach<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ImmutableArray - Duration of single invocation 229.12 ns 452.00 ns 1.97 0.03 False
Stack - Duration of single invocation 2.74 μs 3.08 μs 1.12 0.20 False

graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Collections.IterateForEach<String>.ImmutableArray(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 451.9982475663532 > 240.74614508879233.
IsChangePoint: Marked as a change because one of 4/14/2022 8:50:18 PM, 5/9/2022 11:56:12 AM, 5/11/2022 9:09:01 PM, 5/15/2022 3:27:46 PM, 5/20/2022 10:18:01 PM, 5/25/2022 1:42:32 AM, 5/30/2022 12:57:05 PM, 6/7/2022 5:42:36 AM falls between 5/29/2022 5:15:01 PM and 6/7/2022 5:42:36 AM.
IsRegressionStdDev: Marked as regression because -3009.768771163633 (T) = (0 -452.6979120112704) / Math.Sqrt((0.02061200391070411 / (21)) + (0.2265628302909664 / (50))) is less than -1.9949454151066512 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (21) + (50) - 2, .025) and -0.9748779853667106 = (229.2282942873607 - 452.6979120112704) / 229.2282942873607 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.IterateForEach&lt;String&gt;.Stack(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 3.0757771444029123 > 2.8879317276289393.
IsChangePoint: Marked as a change because one of 3/31/2022 1:45:25 PM, 4/12/2022 9:40:49 PM, 5/16/2022 6:32:29 PM, 5/20/2022 10:18:01 PM, 5/25/2022 1:42:32 AM, 5/31/2022 6:06:22 PM, 6/7/2022 5:42:36 AM falls between 5/29/2022 5:15:01 PM and 6/7/2022 5:42:36 AM.
IsRegressionStdDev: Marked as regression because -6.377876806270831 (T) = (0 -2967.469659762922) / Math.Sqrt((6679.014643925172 / (29)) + (21084.99741027219 / (42))) is less than -1.9949454151066512 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (42) - 2, .025) and -0.061754517436012214 = (2794.873589922597 - 2967.469659762922) / 2794.873589922597 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

### Run Information
Architecture x64
OS ubuntu 18.04
Baseline 9380113a892ec86d147e6e7506a10eda407a82be
Compare 842b6a87aaa6b6f25555541f541d5ee202d3972a
Diff Diff

Regressions in System.Tests.Perf_UInt64

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryParse - Duration of single invocation 11.97 ns 14.14 ns 1.18 0.04 True
TryParseHex - Duration of single invocation 9.70 ns 11.06 ns 1.14 0.04 False
ParseSpan - Duration of single invocation 22.70 ns 34.44 ns 1.52 0.27 True
Parse - Duration of single invocation 22.66 ns 34.23 ns 1.51 0.35 True
Parse - Duration of single invocation 12.86 ns 14.74 ns 1.15 0.04 True
ParseSpan - Duration of single invocation 12.78 ns 14.85 ns 1.16 0.05 True
TryParse - Duration of single invocation 22.34 ns 33.66 ns 1.51 0.27 True

graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_UInt64*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_UInt64.TryParse(value: "12345")


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 14.141559047439536 > 12.79135240760389.
IsChangePoint: Marked as a change because one of 5/30/2022 12:57:05 PM, 6/7/2022 5:42:36 AM falls between 5/29/2022 5:15:01 PM and 6/7/2022 5:42:36 AM.
IsRegressionStdDev: Marked as regression because -24.219337079805307 (T) = (0 -14.732820908100296) / Math.Sqrt((0.16494815038032046 / (21)) + (0.1262017435809868 / (50))) is less than -1.9949454151066512 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (21) + (50) - 2, .025) and -0.20116402685383858 = (12.265452992868418 - 14.732820908100296) / 12.265452992868418 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 as regression because Edge Detector said so.

```#### System.Tests.Perf_UInt64.TryParseHex(value: "3039")

```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 11.063711435923777 > 10.176292142479369.
IsChangePoint: Marked as a change because one of 4/16/2022 5:36:25 PM, 5/9/2022 11:56:12 AM, 5/30/2022 12:57:05 PM, 6/7/2022 5:42:36 AM falls between 5/29/2022 5:15:01 PM and 6/7/2022 5:42:36 AM.
IsRegressionStdDev: Marked as regression because -14.396837591121233 (T) = (0 -10.405427742219045) / Math.Sqrt((0.0009402620566444272 / (21)) + (0.12579744981683594 / (50))) is less than -1.9949454151066512 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (21) + (50) - 2, .025) and -0.07528567736144401 = (9.67689606705455 - 10.405427742219045) / 9.67689606705455 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.Tests.Perf_UInt64.ParseSpan(value: "18446744073709551615")

```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 34.43762123382775 > 24.02482006836433.
IsChangePoint: Marked as a change because one of 5/30/2022 12:57:05 PM, 6/7/2022 5:42:36 AM falls between 5/29/2022 5:15:01 PM and 6/7/2022 5:42:36 AM.
IsRegressionStdDev: Marked as regression because -53.60924372473732 (T) = (0 -33.88521128239848) / Math.Sqrt((0.7764226902546602 / (21)) + (0.07206541606923733 / (50))) is less than -1.9949454151066512 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (21) + (50) - 2, .025) and -0.4494426052590085 = (23.378098007780967 - 33.88521128239848) / 23.378098007780967 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 as regression because Edge Detector said so.

```#### System.Tests.Perf_UInt64.Parse(value: "18446744073709551615")

```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 34.22618767988242 > 23.875704506054507.
IsChangePoint: Marked as a change because one of 5/30/2022 12:57:05 PM, 6/7/2022 5:42:36 AM falls between 5/29/2022 5:15:01 PM and 6/7/2022 5:42:36 AM.
IsRegressionStdDev: Marked as regression because -48.24862611748931 (T) = (0 -33.99051872224949) / Math.Sqrt((0.9997228558276161 / (21)) + (0.08050454139188147 / (50))) is less than -1.9949454151066512 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (21) + (50) - 2, .025) and -0.45965235312859964 = (23.286722108449084 - 33.99051872224949) / 23.286722108449084 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 as regression because Edge Detector said so.

```#### System.Tests.Perf_UInt64.Parse(value: "12345")

```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 14.742023200143848 > 13.294468762202744.
IsChangePoint: Marked as a change because one of 5/30/2022 12:57:05 PM, 6/7/2022 5:42:36 AM falls between 5/29/2022 5:15:01 PM and 6/7/2022 5:42:36 AM.
IsRegressionStdDev: Marked as regression because -42.48675507847031 (T) = (0 -15.227382980668743) / Math.Sqrt((0.04752650472289395 / (21)) + (0.07425023380658381 / (50))) is less than -1.9949454151066512 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (21) + (50) - 2, .025) and -0.20601036052224786 = (12.626245577255832 - 15.227382980668743) / 12.626245577255832 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 as regression because Edge Detector said so.

```#### System.Tests.Perf_UInt64.ParseSpan(value: "12345")

```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 14.852945198965129 > 13.380387611448395.
IsChangePoint: Marked as a change because one of 5/30/2022 12:57:05 PM, 6/7/2022 5:42:36 AM falls between 5/29/2022 5:15:01 PM and 6/7/2022 5:42:36 AM.
IsRegressionStdDev: Marked as regression because -33.738227129509056 (T) = (0 -15.20863776717837) / Math.Sqrt((0.026869695500874057 / (21)) + (0.23035414257145073 / (50))) is less than -1.9949454151066512 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (21) + (50) - 2, .025) and -0.2051121462590929 = (12.620101634847012 - 15.20863776717837) / 12.620101634847012 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 as regression because Edge Detector said so.

```#### System.Tests.Perf_UInt64.TryParse(value: "18446744073709551615")

```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 33.66116725084081 > 24.240154807499263.
IsChangePoint: Marked as a change because one of 5/30/2022 12:57:05 PM, 6/7/2022 5:42:36 AM falls between 5/29/2022 5:15:01 PM and 6/7/2022 5:42:36 AM.
IsRegressionStdDev: Marked as regression because -24.67108215592975 (T) = (0 -33.6659203288438) / Math.Sqrt((3.6057752982523255 / (21)) + (0.06355934069284853 / (50))) is less than -1.9949454151066512 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (21) + (50) - 2, .025) and -0.438397417016648 = (23.40515905449109 - 33.6659203288438) / 23.40515905449109 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 as 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