Skip to content
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

Regressions in System.Globalization.Tests.StringEquality #78969

Closed
performanceautofiler bot opened this issue Nov 29, 2022 · 5 comments
Closed

Regressions in System.Globalization.Tests.StringEquality #78969

performanceautofiler bot opened this issue Nov 29, 2022 · 5 comments
Labels
area-System.Runtime tenet-performance Performance related issue tenet-performance-benchmarks Issue from performance benchmark

Comments

@performanceautofiler
Copy link

Run Information

Architecture x64
OS Windows 10.0.19042
Baseline 3d4f51254ab9993276c743c8f0fbe6879179daa6
Compare 0fffb89ff019bff325cea3ca90a91eec174d5968
Diff Diff

Regressions in System.Collections.Tests.Perf_PriorityQueue<String, String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
K_Max_Elements - Duration of single invocation 58.41 μs 63.59 μs 1.09 0.04 False
HeapSort - Duration of single invocation 63.03 μs 72.20 μs 1.15 0.11 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Perf_PriorityQueue&lt;String, String&gt;*'

Payloads

Baseline
Compare

Histogram

System.Collections.Tests.Perf_PriorityQueue<String, String>.K_Max_Elements(Size: 1000)


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 63.58686394557823 > 62.12203429027113.
IsChangePoint: Marked as a change because one of 9/20/2022 8:04:40 PM, 9/21/2022 6:35:49 PM, 11/23/2022 1:02:40 AM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsRegressionStdDev: Marked as regression because -17.711876311465183 (T) = (0 -64624.80436840222) / Math.Sqrt((95680.24359293013 / (29)) + (2810955.8765513985 / (26))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (26) - 2, .025) and -0.10069305108656186 = (58712.83034321612 - 64624.80436840222) / 58712.83034321612 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.Tests.Perf_PriorityQueue&lt;String, String&gt;.HeapSort(Size: 100)

```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 72.201269470405 > 67.16306226589721.
IsChangePoint: Marked as a change because one of 11/23/2022 8:02:34 PM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsRegressionStdDev: Marked as regression because -20.345656656383223 (T) = (0 -74784.68681155195) / Math.Sqrt((7339805.493745774 / (34)) + (1536849.5002789167 / (21))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (34) + (21) - 2, .025) and -0.17132946355153308 = (63845.98794672236 - 74784.68681155195) / 63845.98794672236 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 Windows 10.0.19042
Baseline 3d4f51254ab9993276c743c8f0fbe6879179daa6
Compare 0fffb89ff019bff325cea3ca90a91eec174d5968
Diff Diff

Regressions in System.Globalization.Tests.StringEquality

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Compare_DifferentFirstChar - Duration of single invocation 33.13 ns 37.86 ns 1.14 0.05 False
Compare_DifferentFirstChar - Duration of single invocation 32.88 ns 38.10 ns 1.16 0.08 False
Compare_DifferentFirstChar - Duration of single invocation 33.23 ns 37.17 ns 1.12 0.05 False
Compare_DifferentFirstChar - Duration of single invocation 33.65 ns 38.22 ns 1.14 0.06 False
Compare_DifferentFirstChar - Duration of single invocation 33.20 ns 37.23 ns 1.12 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 net8.0 --filter 'System.Globalization.Tests.StringEquality*'

Payloads

Baseline
Compare

Histogram

System.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count: 1024, Options: (, IgnoreCase))


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 37.8584949071652 > 34.97571490373839.
IsChangePoint: Marked as a change because one of 11/23/2022 1:02:40 AM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsRegressionStdDev: Marked as regression because -27.269473528930085 (T) = (0 -38.64649903940892) / Math.Sqrt((0.41797870915955 / (29)) + (0.5424499986847175 / (26))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (26) - 2, .025) and -0.152775698874813 = (33.52473432353798 - 38.64649903940892) / 33.52473432353798 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.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count: 1024, Options: (, None))

```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 38.09898339361369 > 35.100283509370506.
IsChangePoint: Marked as a change because one of 11/23/2022 1:02:40 AM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsRegressionStdDev: Marked as regression because -24.927632036083807 (T) = (0 -38.68858499427391) / Math.Sqrt((0.11770608514497174 / (29)) + (1.0901507353848574 / (26))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (26) - 2, .025) and -0.16032390703929236 = (33.34291809344215 - 38.68858499427391) / 33.34291809344215 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.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count: 1024, Options: (en-US, IgnoreCase))

```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 37.17047645024039 > 35.02558860921308.
IsChangePoint: Marked as a change because one of 11/23/2022 1:02:40 AM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsRegressionStdDev: Marked as regression because -18.499396642599837 (T) = (0 -38.666867712380274) / Math.Sqrt((1.4749727824972996 / (29)) + (0.5420657342995892 / (26))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (26) - 2, .025) and -0.14694330969311828 = (33.712972023635736 - 38.666867712380274) / 33.712972023635736 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.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count: 1024, Options: (en-US, None))

```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 38.21829594411945 > 35.13947386363983.
IsChangePoint: Marked as a change because one of 11/23/2022 1:02:40 AM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsRegressionStdDev: Marked as regression because -8.893792615228541 (T) = (0 -38.50317530612185) / Math.Sqrt((7.3531706000622545 / (29)) + (0.21092618159303606 / (26))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (26) - 2, .025) and -0.13399153345519002 = (33.953670878657675 - 38.50317530612185) / 33.953670878657675 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.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count: 1024, Options: (en-US, IgnoreNonSpace))

```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 37.2346418787326 > 34.92081070922761.
IsChangePoint: Marked as a change because one of 11/23/2022 1:02:40 AM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsRegressionStdDev: Marked as regression because -31.66390955514602 (T) = (0 -38.68657502278238) / Math.Sqrt((0.2316868275523915 / (29)) + (0.5126877121426684 / (26))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (26) - 2, .025) and -0.15772979251571778 = (33.41589313229767 - 38.68657502278238) / 33.41589313229767 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 Windows 10.0.19042
Baseline 3d4f51254ab9993276c743c8f0fbe6879179daa6
Compare 0fffb89ff019bff325cea3ca90a91eec174d5968
Diff Diff

Regressions in System.Collections.ContainsKeyTrue<String, String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SortedDictionary - Duration of single invocation 240.20 μs 279.74 μs 1.16 0.10 False

graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Collections.ContainsKeyTrue<String, String>.SortedDictionary(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 279.7371428571429 > 252.19968101689977.
IsChangePoint: Marked as a change because one of 10/5/2022 3:28:28 PM, 10/13/2022 2:25:23 AM, 11/23/2022 1:02:40 AM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsRegressionStdDev: Marked as regression because -14.297590313345529 (T) = (0 -274365.783328879) / Math.Sqrt((62705002.633843504 / (29)) + (28659715.454394083 / (26))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (26) - 2, .025) and -0.10394172680626437 = (248532.8497570494 - 274365.783328879) / 248532.8497570494 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

@performanceautofiler performanceautofiler bot added CoreClr untriaged New issue has not been triaged by the area owner labels Nov 29, 2022
@EgorBo EgorBo changed the title [Perf] Windows/x64: 8 Regressions on 11/23/2022 5:21:28 AM Regressions in System.Globalization.Tests.StringEquality Nov 29, 2022
@EgorBo EgorBo removed refs/heads/main untriaged New issue has not been triaged by the area owner labels Nov 29, 2022
@EgorBo EgorBo transferred this issue from dotnet/perf-autofiling-issues Nov 29, 2022
@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@ghost ghost added the untriaged New issue has not been triaged by the area owner label Nov 29, 2022
@EgorBo
Copy link
Member

EgorBo commented Nov 29, 2022

@MihaZupan can you take a look, the commit range is 563297d...722745e

@EgorBo EgorBo added tenet-performance Performance related issue tenet-performance-benchmarks Issue from performance benchmark labels Nov 29, 2022
@MihaZupan
Copy link
Member

String equality shouldn't be affected by my changes @EgorBo. The only change that went in in that area was #78678, which only affects ReplaceLineEndings.

@ghost
Copy link

ghost commented Nov 30, 2022

Tagging subscribers to this area: @dotnet/area-system-runtime
See info in area-owners.md if you want to be subscribed.

Issue Details

Run Information

Architecture x64
OS Windows 10.0.19042
Baseline 3d4f51254ab9993276c743c8f0fbe6879179daa6
Compare 0fffb89ff019bff325cea3ca90a91eec174d5968
Diff Diff

Regressions in System.Collections.Tests.Perf_PriorityQueue<String, String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
K_Max_Elements - Duration of single invocation 58.41 μs 63.59 μs 1.09 0.04 False
HeapSort - Duration of single invocation 63.03 μs 72.20 μs 1.15 0.11 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Perf_PriorityQueue&lt;String, String&gt;*'

Payloads

Baseline
Compare

Histogram

System.Collections.Tests.Perf_PriorityQueue<String, String>.K_Max_Elements(Size: 1000)


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 63.58686394557823 > 62.12203429027113.
IsChangePoint: Marked as a change because one of 9/20/2022 8:04:40 PM, 9/21/2022 6:35:49 PM, 11/23/2022 1:02:40 AM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsRegressionStdDev: Marked as regression because -17.711876311465183 (T) = (0 -64624.80436840222) / Math.Sqrt((95680.24359293013 / (29)) + (2810955.8765513985 / (26))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (26) - 2, .025) and -0.10069305108656186 = (58712.83034321612 - 64624.80436840222) / 58712.83034321612 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.Tests.Perf_PriorityQueue&lt;String, String&gt;.HeapSort(Size: 100)

```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 72.201269470405 > 67.16306226589721.
IsChangePoint: Marked as a change because one of 11/23/2022 8:02:34 PM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsRegressionStdDev: Marked as regression because -20.345656656383223 (T) = (0 -74784.68681155195) / Math.Sqrt((7339805.493745774 / (34)) + (1536849.5002789167 / (21))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (34) + (21) - 2, .025) and -0.17132946355153308 = (63845.98794672236 - 74784.68681155195) / 63845.98794672236 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 Windows 10.0.19042
Baseline 3d4f51254ab9993276c743c8f0fbe6879179daa6
Compare 0fffb89ff019bff325cea3ca90a91eec174d5968
Diff Diff

Regressions in System.Globalization.Tests.StringEquality

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Compare_DifferentFirstChar - Duration of single invocation 33.13 ns 37.86 ns 1.14 0.05 False
Compare_DifferentFirstChar - Duration of single invocation 32.88 ns 38.10 ns 1.16 0.08 False
Compare_DifferentFirstChar - Duration of single invocation 33.23 ns 37.17 ns 1.12 0.05 False
Compare_DifferentFirstChar - Duration of single invocation 33.65 ns 38.22 ns 1.14 0.06 False
Compare_DifferentFirstChar - Duration of single invocation 33.20 ns 37.23 ns 1.12 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 net8.0 --filter 'System.Globalization.Tests.StringEquality*'

Payloads

Baseline
Compare

Histogram

System.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count: 1024, Options: (, IgnoreCase))


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 37.8584949071652 > 34.97571490373839.
IsChangePoint: Marked as a change because one of 11/23/2022 1:02:40 AM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsRegressionStdDev: Marked as regression because -27.269473528930085 (T) = (0 -38.64649903940892) / Math.Sqrt((0.41797870915955 / (29)) + (0.5424499986847175 / (26))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (26) - 2, .025) and -0.152775698874813 = (33.52473432353798 - 38.64649903940892) / 33.52473432353798 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.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count: 1024, Options: (, None))

```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 38.09898339361369 > 35.100283509370506.
IsChangePoint: Marked as a change because one of 11/23/2022 1:02:40 AM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsRegressionStdDev: Marked as regression because -24.927632036083807 (T) = (0 -38.68858499427391) / Math.Sqrt((0.11770608514497174 / (29)) + (1.0901507353848574 / (26))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (26) - 2, .025) and -0.16032390703929236 = (33.34291809344215 - 38.68858499427391) / 33.34291809344215 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.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count: 1024, Options: (en-US, IgnoreCase))

```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 37.17047645024039 > 35.02558860921308.
IsChangePoint: Marked as a change because one of 11/23/2022 1:02:40 AM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsRegressionStdDev: Marked as regression because -18.499396642599837 (T) = (0 -38.666867712380274) / Math.Sqrt((1.4749727824972996 / (29)) + (0.5420657342995892 / (26))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (26) - 2, .025) and -0.14694330969311828 = (33.712972023635736 - 38.666867712380274) / 33.712972023635736 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.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count: 1024, Options: (en-US, None))

```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 38.21829594411945 > 35.13947386363983.
IsChangePoint: Marked as a change because one of 11/23/2022 1:02:40 AM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsRegressionStdDev: Marked as regression because -8.893792615228541 (T) = (0 -38.50317530612185) / Math.Sqrt((7.3531706000622545 / (29)) + (0.21092618159303606 / (26))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (26) - 2, .025) and -0.13399153345519002 = (33.953670878657675 - 38.50317530612185) / 33.953670878657675 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.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count: 1024, Options: (en-US, IgnoreNonSpace))

```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 37.2346418787326 > 34.92081070922761.
IsChangePoint: Marked as a change because one of 11/23/2022 1:02:40 AM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsRegressionStdDev: Marked as regression because -31.66390955514602 (T) = (0 -38.68657502278238) / Math.Sqrt((0.2316868275523915 / (29)) + (0.5126877121426684 / (26))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (26) - 2, .025) and -0.15772979251571778 = (33.41589313229767 - 38.68657502278238) / 33.41589313229767 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 Windows 10.0.19042
Baseline 3d4f51254ab9993276c743c8f0fbe6879179daa6
Compare 0fffb89ff019bff325cea3ca90a91eec174d5968
Diff Diff

Regressions in System.Collections.ContainsKeyTrue<String, String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SortedDictionary - Duration of single invocation 240.20 μs 279.74 μs 1.16 0.10 False

graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Collections.ContainsKeyTrue<String, String>.SortedDictionary(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 279.7371428571429 > 252.19968101689977.
IsChangePoint: Marked as a change because one of 10/5/2022 3:28:28 PM, 10/13/2022 2:25:23 AM, 11/23/2022 1:02:40 AM, 11/29/2022 1:43:29 AM falls between 11/20/2022 12:28:28 PM and 11/29/2022 1:43:29 AM.
IsRegressionStdDev: Marked as regression because -14.297590313345529 (T) = (0 -274365.783328879) / Math.Sqrt((62705002.633843504 / (29)) + (28659715.454394083 / (26))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (26) - 2, .025) and -0.10394172680626437 = (248532.8497570494 - 274365.783328879) / 248532.8497570494 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

Author: performanceautofiler[bot]
Assignees: -
Labels:

area-System.Runtime, tenet-performance, tenet-performance-benchmarks, untriaged

Milestone: -

@dakersnar
Copy link
Contributor

All regressions are resolved.

@ghost ghost removed the untriaged New issue has not been triaged by the area owner label Feb 17, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Mar 20, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Runtime tenet-performance Performance related issue tenet-performance-benchmarks Issue from performance benchmark
Projects
None yet
Development

No branches or pull requests

5 participants