dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.23k stars 4.72k forks source link

Regressions in System.Tests.Perf_String and others #65717

Closed performanceautofiler[bot] closed 2 years ago

performanceautofiler[bot] commented 2 years ago

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline 79d478ae01d9a3e7548bf41a76d047158ed8a62b
Compare 4017327955f1d8ddc43980eb1848c52fbb131dfc
Diff Diff

Regressions in System.Tests.Perf_String

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Join_List - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_Windows 10.0.18362/System.Tests.Perf_String.Join_List.html>) 64.08 ns 72.98 ns 1.14 0.20 False

graph Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_String*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_String.Join_List ```log ``` ### 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 72.97761332132208 > 66.83227270928785. IsChangePoint: Marked as a change because one of 1/6/2022 9:51:48 PM, 2/1/2022 8:13:55 AM, 2/8/2022 5:20:12 PM, 2/19/2022 11:51:48 PM, 2/22/2022 12:12:47 AM falls between 2/13/2022 12:11:49 PM and 2/22/2022 12:12:47 AM. IsRegressionStdDev: Marked as regression because -43.83533190922862 (T) = (0 -71.9554874270983) / Math.Sqrt((0.3131228718602684 / (60)) + (0.22990434339387625 / (7))) is less than -1.997137908391408 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (60) + (7) - 2, .025) and -0.13488340617086775 = (63.403418391567094 - 71.9554874270983) / 63.403418391567094 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](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline 79d478ae01d9a3e7548bf41a76d047158ed8a62b
Compare 4017327955f1d8ddc43980eb1848c52fbb131dfc
Diff Diff

Regressions in System.Collections.TryGetValueTrue<Int32, Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ConcurrentDictionary - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_Windows 10.0.18362/System.Collections.TryGetValueTrue(Int32%2c%20Int32).ConcurrentDictionary(Size%3a%20512).html>) 3.39 μs 3.72 μs 1.10 0.15 False

graph Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.TryGetValueTrue&lt;Int32, Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.TryGetValueTrue<Int32, Int32>.ConcurrentDictionary(Size: 512) ```log ``` ### 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 3.716787291075371 > 3.5413629846971113. IsChangePoint: Marked as a change because one of 1/29/2022 3:20:10 AM, 2/19/2022 11:51:48 PM, 2/22/2022 12:12:47 AM falls between 2/13/2022 12:11:49 PM and 2/22/2022 12:12:47 AM. IsRegressionStdDev: Marked as regression because -30.011855234331993 (T) = (0 -3713.3290860295533) / Math.Sqrt((5700.65797803358 / (60)) + (217.70987505752703 / (7))) is less than -1.997137908391408 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (60) + (7) - 2, .025) and -0.09982311104195103 = (3376.296650569215 - 3713.3290860295533) / 3376.296650569215 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](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline 79d478ae01d9a3e7548bf41a76d047158ed8a62b
Compare 4017327955f1d8ddc43980eb1848c52fbb131dfc
Diff Diff

Regressions in System.Numerics.Tests.Perf_VectorOf<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DotBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_Windows 10.0.18362/System.Numerics.Tests.Perf_VectorOf(Byte).DotBenchmark.html>) 97.58 ns 148.75 ns 1.52 0.13 False

graph Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Numerics.Tests.Perf_VectorOf&lt;Byte&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Numerics.Tests.Perf_VectorOf<Byte>.DotBenchmark ```log ``` ### 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 148.7502153526094 > 101.16261608966454. IsChangePoint: Marked as a change because one of 2/8/2022 5:20:12 PM, 2/19/2022 11:51:48 PM, 2/22/2022 12:12:47 AM falls between 2/13/2022 12:11:49 PM and 2/22/2022 12:12:47 AM. IsRegressionStdDev: Marked as regression because -4.700591367550864 (T) = (0 -119.83606513303899) / Math.Sqrt((0.7766001912223989 / (60)) + (162.5654187896537 / (7))) is less than -1.997137908391408 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (60) + (7) - 2, .025) and -0.23317085412587393 = (97.17717924657252 - 119.83606513303899) / 97.17717924657252 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](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline 79d478ae01d9a3e7548bf41a76d047158ed8a62b
Compare 4017327955f1d8ddc43980eb1848c52fbb131dfc
Diff Diff

Regressions in System.Tests.Perf_UInt32

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[TryParse - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_Windows 10.0.18362/System.Tests.Perf_UInt32.TryParse(value%3a%20%2212345%22).html>) 15.75 ns 17.75 ns 1.13 0.06 False

graph Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_UInt32*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_UInt32.TryParse(value: "12345") ```log ``` ### 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 17.750023866199047 > 16.533656650498827. IsChangePoint: Marked as a change because one of 1/25/2022 9:10:05 PM, 1/28/2022 6:30:08 PM, 1/31/2022 1:37:35 PM, 2/1/2022 8:13:55 AM, 2/19/2022 11:51:48 PM, 2/22/2022 12:12:47 AM falls between 2/13/2022 12:11:49 PM and 2/22/2022 12:12:47 AM. IsRegressionStdDev: Marked as regression because -8.445002866065812 (T) = (0 -17.037330892704063) / Math.Sqrt((0.02614479828644375 / (60)) + (0.1608719436470951 / (7))) is less than -1.997137908391408 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (60) + (7) - 2, .025) and -0.08207797393030615 = (15.745012192440573 - 17.037330892704063) / 15.745012192440573 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](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline 79d478ae01d9a3e7548bf41a76d047158ed8a62b
Compare 4017327955f1d8ddc43980eb1848c52fbb131dfc
Diff Diff

Regressions in System.Tests.Perf_Char

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Char_ToLowerInvariant - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_Windows 10.0.18362/System.Tests.Perf_Char.Char_ToLowerInvariant(input%3a%20%22Hello%20World!%22).html>) 25.24 ns 32.55 ns 1.29 0.11 False

graph Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Char*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_Char.Char_ToLowerInvariant(input: "Hello World!") ```log ``` ### 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 32.54526634959787 > 26.50541779129425. IsChangePoint: Marked as a change because one of 1/7/2022 4:24:34 PM, 1/10/2022 3:45:28 PM, 2/2/2022 1:56:18 PM, 2/4/2022 1:40:45 AM, 2/19/2022 11:51:48 PM, 2/22/2022 12:12:47 AM falls between 2/13/2022 12:11:49 PM and 2/22/2022 12:12:47 AM. IsRegressionStdDev: Marked as regression because -97.30122383938483 (T) = (0 -32.388239397601104) / Math.Sqrt((0.023753986148680066 / (60)) + (0.03382871739777657 / (7))) is less than -1.997137908391408 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (60) + (7) - 2, .025) and -0.27751673417348316 = (25.352497177702624 - 32.388239397601104) / 25.352497177702624 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](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
dotnet-issue-labeler[bot] commented 2 years ago

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.

kunalspathak commented 2 years ago

Introduced in https://github.com/dotnet/runtime/pull/64861. @Wraith2

kunalspathak commented 2 years ago

More regressions in https://github.com/dotnet/perf-autofiling-issues/issues/3669

ghost commented 2 years ago

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.18362 Baseline | [79d478ae01d9a3e7548bf41a76d047158ed8a62b](https://github.com/dotnet/runtime/commit/79d478ae01d9a3e7548bf41a76d047158ed8a62b) Compare | [4017327955f1d8ddc43980eb1848c52fbb131dfc](https://github.com/dotnet/runtime/commit/4017327955f1d8ddc43980eb1848c52fbb131dfc) Diff | [Diff](https://github.com/dotnet/runtime/compare/79d478ae01d9a3e7548bf41a76d047158ed8a62b...4017327955f1d8ddc43980eb1848c52fbb131dfc) ### Regressions in System.Tests.Perf_String Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- [Join_List - Duration of single invocation]() | 64.08 ns | 72.98 ns | 1.14 | 0.20 | False | | | ![graph]() [Test Report]() ### Repro ```cmd git clone https://github.com/dotnet/performance.git py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_String*' ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_String.Join_List ```log ``` ### 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 72.97761332132208 > 66.83227270928785. IsChangePoint: Marked as a change because one of 1/6/2022 9:51:48 PM, 2/1/2022 8:13:55 AM, 2/8/2022 5:20:12 PM, 2/19/2022 11:51:48 PM, 2/22/2022 12:12:47 AM falls between 2/13/2022 12:11:49 PM and 2/22/2022 12:12:47 AM. IsRegressionStdDev: Marked as regression because -43.83533190922862 (T) = (0 -71.9554874270983) / Math.Sqrt((0.3131228718602684 / (60)) + (0.22990434339387625 / (7))) is less than -1.997137908391408 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (60) + (7) - 2, .025) and -0.13488340617086775 = (63.403418391567094 - 71.9554874270983) / 63.403418391567094 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](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
### Run Information Architecture | x64 -- | -- OS | Windows 10.0.18362 Baseline | [79d478ae01d9a3e7548bf41a76d047158ed8a62b](https://github.com/dotnet/runtime/commit/79d478ae01d9a3e7548bf41a76d047158ed8a62b) Compare | [4017327955f1d8ddc43980eb1848c52fbb131dfc](https://github.com/dotnet/runtime/commit/4017327955f1d8ddc43980eb1848c52fbb131dfc) Diff | [Diff](https://github.com/dotnet/runtime/compare/79d478ae01d9a3e7548bf41a76d047158ed8a62b...4017327955f1d8ddc43980eb1848c52fbb131dfc) ### Regressions in System.Collections.TryGetValueTrue<Int32, Int32> Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- [ConcurrentDictionary - Duration of single invocation]() | 3.39 μs | 3.72 μs | 1.10 | 0.15 | False | | | ![graph]() [Test Report]() ### Repro ```cmd git clone https://github.com/dotnet/performance.git py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.TryGetValueTrue<Int32, Int32>*' ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.TryGetValueTrue<Int32, Int32>.ConcurrentDictionary(Size: 512) ```log ``` ### 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 3.716787291075371 > 3.5413629846971113. IsChangePoint: Marked as a change because one of 1/29/2022 3:20:10 AM, 2/19/2022 11:51:48 PM, 2/22/2022 12:12:47 AM falls between 2/13/2022 12:11:49 PM and 2/22/2022 12:12:47 AM. IsRegressionStdDev: Marked as regression because -30.011855234331993 (T) = (0 -3713.3290860295533) / Math.Sqrt((5700.65797803358 / (60)) + (217.70987505752703 / (7))) is less than -1.997137908391408 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (60) + (7) - 2, .025) and -0.09982311104195103 = (3376.296650569215 - 3713.3290860295533) / 3376.296650569215 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](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
### Run Information Architecture | x64 -- | -- OS | Windows 10.0.18362 Baseline | [79d478ae01d9a3e7548bf41a76d047158ed8a62b](https://github.com/dotnet/runtime/commit/79d478ae01d9a3e7548bf41a76d047158ed8a62b) Compare | [4017327955f1d8ddc43980eb1848c52fbb131dfc](https://github.com/dotnet/runtime/commit/4017327955f1d8ddc43980eb1848c52fbb131dfc) Diff | [Diff](https://github.com/dotnet/runtime/compare/79d478ae01d9a3e7548bf41a76d047158ed8a62b...4017327955f1d8ddc43980eb1848c52fbb131dfc) ### Regressions in System.Numerics.Tests.Perf_VectorOf<Byte> Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- [DotBenchmark - Duration of single invocation]() | 97.58 ns | 148.75 ns | 1.52 | 0.13 | False | | | ![graph]() [Test Report]() ### Repro ```cmd git clone https://github.com/dotnet/performance.git py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Numerics.Tests.Perf_VectorOf<Byte>*' ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Numerics.Tests.Perf_VectorOf<Byte>.DotBenchmark ```log ``` ### 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 148.7502153526094 > 101.16261608966454. IsChangePoint: Marked as a change because one of 2/8/2022 5:20:12 PM, 2/19/2022 11:51:48 PM, 2/22/2022 12:12:47 AM falls between 2/13/2022 12:11:49 PM and 2/22/2022 12:12:47 AM. IsRegressionStdDev: Marked as regression because -4.700591367550864 (T) = (0 -119.83606513303899) / Math.Sqrt((0.7766001912223989 / (60)) + (162.5654187896537 / (7))) is less than -1.997137908391408 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (60) + (7) - 2, .025) and -0.23317085412587393 = (97.17717924657252 - 119.83606513303899) / 97.17717924657252 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](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
### Run Information Architecture | x64 -- | -- OS | Windows 10.0.18362 Baseline | [79d478ae01d9a3e7548bf41a76d047158ed8a62b](https://github.com/dotnet/runtime/commit/79d478ae01d9a3e7548bf41a76d047158ed8a62b) Compare | [4017327955f1d8ddc43980eb1848c52fbb131dfc](https://github.com/dotnet/runtime/commit/4017327955f1d8ddc43980eb1848c52fbb131dfc) Diff | [Diff](https://github.com/dotnet/runtime/compare/79d478ae01d9a3e7548bf41a76d047158ed8a62b...4017327955f1d8ddc43980eb1848c52fbb131dfc) ### Regressions in System.Tests.Perf_UInt32 Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- [TryParse - Duration of single invocation]() | 15.75 ns | 17.75 ns | 1.13 | 0.06 | False | | | ![graph]() [Test Report]() ### Repro ```cmd git clone https://github.com/dotnet/performance.git py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_UInt32*' ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_UInt32.TryParse(value: "12345") ```log ``` ### 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 17.750023866199047 > 16.533656650498827. IsChangePoint: Marked as a change because one of 1/25/2022 9:10:05 PM, 1/28/2022 6:30:08 PM, 1/31/2022 1:37:35 PM, 2/1/2022 8:13:55 AM, 2/19/2022 11:51:48 PM, 2/22/2022 12:12:47 AM falls between 2/13/2022 12:11:49 PM and 2/22/2022 12:12:47 AM. IsRegressionStdDev: Marked as regression because -8.445002866065812 (T) = (0 -17.037330892704063) / Math.Sqrt((0.02614479828644375 / (60)) + (0.1608719436470951 / (7))) is less than -1.997137908391408 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (60) + (7) - 2, .025) and -0.08207797393030615 = (15.745012192440573 - 17.037330892704063) / 15.745012192440573 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](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
### Run Information Architecture | x64 -- | -- OS | Windows 10.0.18362 Baseline | [79d478ae01d9a3e7548bf41a76d047158ed8a62b](https://github.com/dotnet/runtime/commit/79d478ae01d9a3e7548bf41a76d047158ed8a62b) Compare | [4017327955f1d8ddc43980eb1848c52fbb131dfc](https://github.com/dotnet/runtime/commit/4017327955f1d8ddc43980eb1848c52fbb131dfc) Diff | [Diff](https://github.com/dotnet/runtime/compare/79d478ae01d9a3e7548bf41a76d047158ed8a62b...4017327955f1d8ddc43980eb1848c52fbb131dfc) ### Regressions in System.Tests.Perf_Char Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- [Char_ToLowerInvariant - Duration of single invocation]() | 25.24 ns | 32.55 ns | 1.29 | 0.11 | False | | | ![graph]() [Test Report]() ### Repro ```cmd git clone https://github.com/dotnet/performance.git py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Char*' ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_Char.Char_ToLowerInvariant(input: "Hello World!") ```log ``` ### 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 32.54526634959787 > 26.50541779129425. IsChangePoint: Marked as a change because one of 1/7/2022 4:24:34 PM, 1/10/2022 3:45:28 PM, 2/2/2022 1:56:18 PM, 2/4/2022 1:40:45 AM, 2/19/2022 11:51:48 PM, 2/22/2022 12:12:47 AM falls between 2/13/2022 12:11:49 PM and 2/22/2022 12:12:47 AM. IsRegressionStdDev: Marked as regression because -97.30122383938483 (T) = (0 -32.388239397601104) / Math.Sqrt((0.023753986148680066 / (60)) + (0.03382871739777657 / (7))) is less than -1.997137908391408 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (60) + (7) - 2, .025) and -0.27751673417348316 = (25.352497177702624 - 32.388239397601104) / 25.352497177702624 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](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
Author: performanceautofiler[bot]
Assignees: -
Labels: `area-System.Runtime`, `untriaged`, `refs/heads/main`, `x64`, `Regression`, `RunKind=micro`, `CoreClr`, `Windows 10.0.18362`
Milestone: -
tannergooding commented 2 years ago

Closing, this looks to be unrelated and is likely just noise. The test is fairly noisy overall and has had spikes like this in the past and following builds were a bit lower.