dotnet / perf-autofiling-issues

A landing place for auto-filed performance issues before they receive triage
MIT License
9 stars 4 forks source link

[Perf] Windows/x86: 16 Regressions on 1/31/2023 8:24:06 AM #12745

Open performanceautofiler[bot] opened 1 year ago

performanceautofiler[bot] commented 1 year ago

Run Information

Architecture x86
OS Windows 10.0.18362
Baseline b5e79f56d1ed06dbf6765b29c021726ff4195e91
Compare 7c4b59ccf2cfc74c54e6c8922ab80cda20c3a55e
Diff Diff

Regressions in PerfLabTests.LowLevelPerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SealedClassInterfaceMethod - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/PerfLabTests.LowLevelPerf.SealedClassInterfaceMethod.html>) 156.92 μs 187.10 μs 1.19 0.03 False Trace Trace

graph Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'PerfLabTests.LowLevelPerf*'
### Payloads [Baseline]() [Compare]() ### Histogram #### PerfLabTests.LowLevelPerf.SealedClassInterfaceMethod ```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 187.10347718253968 > 164.75915140625. IsChangePoint: Marked as a change because one of 12/6/2022 2:12:43 AM, 12/12/2022 5:25:39 PM, 12/20/2022 1:34:12 PM, 1/5/2023 11:35:29 PM, 1/11/2023 2:37:52 AM, 1/20/2023 8:02:54 AM, 1/30/2023 9:42:46 PM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM. IsRegressionStdDev: Marked as regression because -537.5214844719056 (T) = (0 -187236.4707000589) / Math.Sqrt((20556.023257806333 / (19)) + (83295.209549272 / (40))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (19) + (40) - 2, .025) and -0.19259000197355816 = (156999.86616541355 - 187236.4707000589) / 156999.86616541355 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. ```### Baseline Jit Disasm ```assembly ; PerfLabTests.LowLevelPerf.SealedClassInterfaceMethod() push ebp mov ebp,esp push edi push esi mov esi,ds:[6AA4188] xor eax,eax xor edi,edi cmp dword ptr ds:[0A6C6178],0 jle short M00_L01 M00_L00: mov ecx,esi cmp [ecx],ecx call dword ptr ds:[0AF65624]; PerfLabTests.SealedClass.InterfaceMethod() inc edi cmp edi,ds:[0A6C6178] jl short M00_L00 M00_L01: pop esi pop edi pop ebp ret ; Total bytes of code 47 ``` ```assembly ; PerfLabTests.SealedClass.InterfaceMethod() push ebp mov ebp,esp mov eax,[ecx+4] lea edx,[eax+1] mov [ecx+4],edx pop ebp ret ; Total bytes of code 14 ``` ### Compare Jit Disasm ```assembly ; PerfLabTests.LowLevelPerf.SealedClassInterfaceMethod() push ebp mov ebp,esp push edi push esi mov esi,ds:[76F4188] xor eax,eax xor edi,edi cmp dword ptr ds:[0B186558],0 jle short M00_L01 M00_L00: mov ecx,esi cmp [ecx],ecx call dword ptr ds:[0BA25A04]; PerfLabTests.SealedClass.InterfaceMethod() inc edi cmp edi,ds:[0B186558] jl short M00_L00 M00_L01: pop esi pop edi pop ebp ret ; Total bytes of code 47 ``` ```assembly ; PerfLabTests.SealedClass.InterfaceMethod() push ebp mov ebp,esp mov eax,[ecx+4] lea edx,[eax+1] mov [ecx+4],edx pop ebp ret ; Total bytes of code 14 ``` ### 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 x86
OS Windows 10.0.18362
Baseline b5e79f56d1ed06dbf6765b29c021726ff4195e91
Compare 7c4b59ccf2cfc74c54e6c8922ab80cda20c3a55e
Diff Diff

Regressions in System.Numerics.Tests.Perf_BitOperations

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Log2_ulong - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Numerics.Tests.Perf_BitOperations.Log2_ulong.html>) 1.16 μs 1.43 μs 1.24 0.08 False Trace Trace

graph Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_BitOperations*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Numerics.Tests.Perf_BitOperations.Log2_ulong ```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 1.4302065475104868 > 1.2153063133085618. IsChangePoint: Marked as a change because one of 12/12/2022 5:25:39 PM, 12/14/2022 5:20:21 PM, 1/5/2023 11:35:29 PM, 1/15/2023 2:31:53 AM, 1/30/2023 9:42:46 PM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM. IsRegressionStdDev: Marked as regression because -40.675828223551484 (T) = (0 -1485.9368983884358) / Math.Sqrt((3.273347687168065 / (19)) + (2593.005921857361 / (40))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (19) + (40) - 2, .025) and -0.2831876415187345 = (1158.0043715428358 - 1485.9368983884358) / 1158.0043715428358 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. ```### Baseline Jit Disasm ```assembly ; System.Numerics.Tests.Perf_BitOperations.Log2_ulong() push ebp mov ebp,esp push edi push esi push ebx xor esi,esi mov ecx,0B2D5BA0 mov edx,1B2 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax,ds:[77B4508] xor edx,edx mov ecx,[eax+4] test ecx,ecx jle short M00_L03 M00_L00: lea edi,[eax+edx*8+8] mov ebx,[edi] mov edi,[edi+4] or ebx,1 or edi,0 jne short M00_L01 or ebx,1 lzcnt ebx,ebx xor ebx,1F jmp short M00_L02 M00_L01: or edi,1 xor ebx,ebx lzcnt ebx,edi xor ebx,1F add ebx,20 M00_L02: add esi,ebx inc edx cmp ecx,edx jg short M00_L00 M00_L03: mov eax,esi pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 95 ``` ### Compare Jit Disasm ```assembly ; System.Numerics.Tests.Perf_BitOperations.Log2_ulong() push ebp mov ebp,esp push edi push esi push ebx xor esi,esi mov ecx,0ABD5F80 mov edx,1B2 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax,ds:[7124508] xor edx,edx mov ecx,[eax+4] test ecx,ecx jle short M00_L03 M00_L00: lea edi,[eax+edx*8+8] mov ebx,[edi] mov edi,[edi+4] or ebx,1 or edi,0 jne short M00_L01 or ebx,1 lzcnt ebx,ebx xor ebx,1F jmp short M00_L02 M00_L01: or edi,1 xor ebx,ebx lzcnt ebx,edi xor ebx,1F add ebx,20 M00_L02: add esi,ebx inc edx cmp ecx,edx jg short M00_L00 M00_L03: mov eax,esi pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 95 ``` ### 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 x86
OS Windows 10.0.18362
Baseline b5e79f56d1ed06dbf6765b29c021726ff4195e91
Compare 7c4b59ccf2cfc74c54e6c8922ab80cda20c3a55e
Diff Diff

Regressions in System.Memory.Span<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[IndexOfAnyFourValues - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Memory.Span(Int32).IndexOfAnyFourValues(Size%3a%20512).html>) 504.05 ns 533.08 ns 1.06 0.04 False
[IndexOfAnyFiveValues - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Memory.Span(Int32).IndexOfAnyFiveValues(Size%3a%2033).html>) 40.27 ns 52.68 ns 1.31 0.07 False
[IndexOfAnyFiveValues - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Memory.Span(Int32).IndexOfAnyFiveValues(Size%3a%20512).html>) 599.14 ns 805.56 ns 1.34 0.04 False

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.Memory.Span&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Memory.Span<Int32>.IndexOfAnyFourValues(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 533.0815731199406 > 528.2893823871124. IsChangePoint: Marked as a change because one of 12/7/2022 8:33:47 PM, 12/21/2022 9:23:17 AM, 1/3/2023 6:29:42 AM, 1/13/2023 4:37:08 PM, 1/22/2023 11:22:03 PM, 1/30/2023 9:42:46 PM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM. IsRegressionStdDev: Marked as regression because -47.04656536886206 (T) = (0 -536.2416092053636) / Math.Sqrt((8.490801100631423 / (19)) + (3.756375716442493 / (40))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (19) + (40) - 2, .025) and -0.06896804794926448 = (501.644188742688 - 536.2416092053636) / 501.644188742688 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.Memory.Span<Int32>.IndexOfAnyFiveValues(Size: 33) ```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 52.67811923212363 > 42.82132750452052. IsChangePoint: Marked as a change because one of 12/7/2022 8:33:47 PM, 12/21/2022 9:23:17 AM, 1/3/2023 6:29:42 AM, 1/13/2023 4:37:08 PM, 1/22/2023 11:22:03 PM, 1/30/2023 9:42:46 PM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM. IsRegressionStdDev: Marked as regression because -153.62241307557727 (T) = (0 -52.87391134570672) / Math.Sqrt((0.08992548195340605 / (19)) + (0.06376991755912363 / (40))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (19) + (40) - 2, .025) and -0.3005753370614263 = (40.65424726965239 - 52.87391134570672) / 40.65424726965239 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.Memory.Span<Int32>.IndexOfAnyFiveValues(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 805.5552755376343 > 630.256615449655. IsChangePoint: Marked as a change because one of 12/7/2022 8:33:47 PM, 12/21/2022 9:23:17 AM, 1/3/2023 6:29:42 AM, 1/13/2023 4:37:08 PM, 1/22/2023 11:22:03 PM, 1/30/2023 9:42:46 PM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM. IsRegressionStdDev: Marked as regression because -120.74805786291684 (T) = (0 -789.7871269239992) / Math.Sqrt((3.5924913458068755 / (19)) + (92.0963174993544 / (40))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (19) + (40) - 2, .025) and -0.31808460876276146 = (599.1930424446302 - 789.7871269239992) / 599.1930424446302 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 x86
OS Windows 10.0.18362
Baseline b5e79f56d1ed06dbf6765b29c021726ff4195e91
Compare 7c4b59ccf2cfc74c54e6c8922ab80cda20c3a55e
Diff Diff

Regressions in System.Collections.TryAddGiventSize<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Collections.TryAddGiventSize(Int32).Dictionary(Count%3a%20512).html>) 7.85 μs 8.56 μs 1.09 0.01 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.TryAddGiventSize&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.TryAddGiventSize<Int32>.Dictionary(Count: 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 8.559377392017495 > 8.235018019921887. IsChangePoint: Marked as a change because one of 12/20/2022 1:34:12 PM, 12/21/2022 9:23:17 AM, 1/3/2023 6:29:42 AM, 1/11/2023 2:37:52 AM, 1/20/2023 8:02:54 AM, 1/30/2023 9:42:46 PM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM. IsRegressionStdDev: Marked as regression because -108.11593669007533 (T) = (0 -8503.599983760207) / Math.Sqrt((357.3737951288743 / (19)) + (658.4153220039187 / (40))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (19) + (40) - 2, .025) and -0.08167385659368046 = (7861.519377512787 - 8503.599983760207) / 7861.519377512787 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 x86
OS Windows 10.0.18362
Baseline b5e79f56d1ed06dbf6765b29c021726ff4195e91
Compare 7c4b59ccf2cfc74c54e6c8922ab80cda20c3a55e
Diff Diff

Regressions in System.Collections.IterateForEach<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ConcurrentBag - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Collections.IterateForEach(Int32).ConcurrentBag(Size%3a%20512).html>) 2.12 μs 2.28 μs 1.07 0.03 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.IterateForEach&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.IterateForEach<Int32>.ConcurrentBag(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 2.275253967095015 > 2.2256239562641382. IsChangePoint: Marked as a change because one of 12/14/2022 12:26:48 AM, 12/21/2022 9:23:17 AM, 1/5/2023 11:35:29 PM, 1/13/2023 4:37:08 PM, 1/20/2023 8:02:54 AM, 1/30/2023 9:42:46 PM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM. IsRegressionStdDev: Marked as regression because -85.1460373401621 (T) = (0 -2268.590101270863) / Math.Sqrt((48.7070994799904 / (19)) + (25.38336835695999 / (40))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (19) + (40) - 2, .025) and -0.07194986295040691 = (2116.321088961059 - 2268.590101270863) / 2116.321088961059 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 x86
OS Windows 10.0.18362
Baseline b5e79f56d1ed06dbf6765b29c021726ff4195e91
Compare 7c4b59ccf2cfc74c54e6c8922ab80cda20c3a55e
Diff Diff

Regressions in System.Collections.IterateFor<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[IList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Collections.IterateFor(Int32).IList(Size%3a%20512).html>) 1.93 μs 2.09 μs 1.08 0.02 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.IterateFor&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.IterateFor<Int32>.IList(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 2.0861987942408846 > 2.0234062214966118. IsChangePoint: Marked as a change because one of 11/22/2022 2:20:42 AM, 12/6/2022 2:12:43 AM, 12/14/2022 12:26:48 AM, 1/30/2023 9:42:46 PM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM. IsRegressionStdDev: Marked as regression because -154.1372033455017 (T) = (0 -2087.9726181417436) / Math.Sqrt((12.46359930891745 / (19)) + (16.2800650537328 / (40))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (19) + (40) - 2, .025) and -0.08238067827542934 = (1929.0557010575396 - 2087.9726181417436) / 1929.0557010575396 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 x86
OS Windows 10.0.18362
Baseline b5e79f56d1ed06dbf6765b29c021726ff4195e91
Compare 7c4b59ccf2cfc74c54e6c8922ab80cda20c3a55e
Diff Diff

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[BitwiseAndBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Numerics.Tests.Perf_VectorOf(Int32).BitwiseAndBenchmark.html>) 0.00 ns 1.01 ns 3774.35 0.52 False

graph Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_VectorOf&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Numerics.Tests.Perf_VectorOf<Int32>.BitwiseAndBenchmark ```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 1.0067338452766579 > 0.0003208780545380983. IsChangePoint: Marked as a change because one of 1/3/2023 6:29:42 AM, 1/5/2023 11:35:29 PM, 1/18/2023 6:24:13 PM, 1/22/2023 11:22:03 PM, 1/30/2023 9:42:46 PM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM. IsRegressionStdDev: Marked as regression because -12.542092918712688 (T) = (0 -0.3856876811349601) / Math.Sqrt((0.005558254464895928 / (19)) + (0.02134790874896771 / (40))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (19) + (40) - 2, .025) and -14.32122536339744 = (0.025173422620384647 - 0.3856876811349601) / 0.025173422620384647 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 x86
OS Windows 10.0.18362
Baseline b5e79f56d1ed06dbf6765b29c021726ff4195e91
Compare 7c4b59ccf2cfc74c54e6c8922ab80cda20c3a55e
Diff Diff

Regressions in Benchstone.BenchI.NDhrystone

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Test - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/Benchstone.BenchI.NDhrystone.Test.html>) 380.10 ms 404.76 ms 1.06 0.02 False Trace Trace

graph Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Benchstone.BenchI.NDhrystone*'
### Payloads [Baseline]() [Compare]() ### Histogram #### Benchstone.BenchI.NDhrystone.Test ```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 404.757725 > 398.3106085. IsChangePoint: Marked as a change because one of 1/11/2023 2:37:52 AM, 1/20/2023 12:33:18 PM, 1/30/2023 9:42:46 PM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM. IsRegressionStdDev: Marked as regression because -21.311944646320192 (T) = (0 -408382979.75045776) / Math.Sqrt((25451278380344.83 / (19)) + (11081067454361.016 / (40))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (19) + (40) - 2, .025) and -0.07106718302670526 = (381286053.9676113 - 408382979.75045776) / 381286053.9676113 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. ```### Baseline Jit Disasm ```assembly ; BenchmarkDotNet.Autogenerated.Runnable_0.__ForDisassemblyDiagnoser__() push ebp mov ebp,esp push eax mov [ebp-4],ecx mov ecx,[ebp-4] cmp dword ptr [ecx+20],0B jne short M00_L00 mov ecx,[ebp-4] call dword ptr ds:[0AECF558] mov esp,ebp pop ebp ret M00_L00: xor eax,eax mov esp,ebp pop ebp ret ; Total bytes of code 35 ``` ### Compare Jit Disasm ```assembly ; BenchmarkDotNet.Autogenerated.Runnable_0.__ForDisassemblyDiagnoser__() push ebp mov ebp,esp push eax mov [ebp-4],ecx mov ecx,[ebp-4] cmp dword ptr [ecx+20],0B jne short M00_L00 mov ecx,[ebp-4] call dword ptr ds:[0A48F558] mov esp,ebp pop ebp ret M00_L00: xor eax,eax mov esp,ebp pop ebp ret ; Total bytes of code 35 ``` ### 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 x86
OS Windows 10.0.18362
Baseline b5e79f56d1ed06dbf6765b29c021726ff4195e91
Compare 7c4b59ccf2cfc74c54e6c8922ab80cda20c3a55e
Diff Diff

Regressions in PerfLabTests.DelegatePerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DelegateInvoke - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/PerfLabTests.DelegatePerf.DelegateInvoke.html>) 436.57 μs 498.92 μs 1.14 0.02 False Trace Trace

graph Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'PerfLabTests.DelegatePerf*'
### Payloads [Baseline]() [Compare]() ### Histogram #### PerfLabTests.DelegatePerf.DelegateInvoke ```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 498.92390625 > 458.39792426215286. IsChangePoint: Marked as a change because one of 12/6/2022 2:12:43 AM, 12/14/2022 5:20:21 PM, 12/20/2022 1:34:12 PM, 1/5/2023 11:35:29 PM, 1/30/2023 9:42:46 PM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM. IsRegressionStdDev: Marked as regression because -132.67958644824972 (T) = (0 -499868.9940905447) / Math.Sqrt((1056590.7592513205 / (19)) + (6693127.959923082 / (40))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (19) + (40) - 2, .025) and -0.14328272576445336 = (437222.5546890061 - 499868.9940905447) / 437222.5546890061 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. ```### Baseline Jit Disasm ```assembly ; PerfLabTests.DelegatePerf.DelegateInvoke() push ebp mov ebp,esp push edi push esi push ebx sub esp,10 mov esi,[ecx+4] mov edi,[ecx+8] xor ebx,ebx xor eax,eax mov [ebp-1C],eax xor edx,edx mov [ebp-18],edx mov ecx,0AD45BA0 mov edx,7D call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE cmp dword ptr ds:[0AD4616C],0 mov edx,[ebp-1C] jle short M00_L01 M00_L00: push 0 push 64 push 0 push 64 mov ecx,[esi+4] mov edx,edi call dword ptr [esi+0C] mov ebx,eax mov eax,[ebp-18] inc eax cmp eax,ds:[0AD4616C] mov [ebp-18],eax jl short M00_L00 M00_L01: mov eax,ebx lea esp,[ebp-0C] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 97 ``` ### Compare Jit Disasm ```assembly ; PerfLabTests.DelegatePerf.DelegateInvoke() push ebp mov ebp,esp push edi push esi push ebx sub esp,10 mov esi,[ecx+4] mov edi,[ecx+8] xor ebx,ebx xor eax,eax mov [ebp-1C],eax xor edx,edx mov [ebp-18],edx mov ecx,0B035F80 mov edx,7D call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE cmp dword ptr ds:[0B03654C],0 mov edx,[ebp-1C] jle short M00_L01 M00_L00: push 0 push 64 push 0 push 64 mov ecx,[esi+4] mov edx,edi call dword ptr [esi+0C] mov ebx,eax mov eax,[ebp-18] inc eax cmp eax,ds:[0B03654C] mov [ebp-18],eax jl short M00_L00 M00_L01: mov eax,ebx lea esp,[ebp-0C] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 97 ``` ### 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 x86
OS Windows 10.0.18362
Baseline b5e79f56d1ed06dbf6765b29c021726ff4195e91
Compare 7c4b59ccf2cfc74c54e6c8922ab80cda20c3a55e
Diff Diff

Regressions in System.Collections.IterateForNonGeneric<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ArrayList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Collections.IterateForNonGeneric(Int32).ArrayList(Size%3a%20512).html>) 1.60 μs 1.77 μs 1.10 0.06 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.IterateForNonGeneric&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.IterateForNonGeneric<Int32>.ArrayList(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 1.7669188725450709 > 1.6819525419133872. IsChangePoint: Marked as a change because one of 12/6/2022 2:12:43 AM, 12/14/2022 12:26:48 AM, 12/20/2022 1:34:12 PM, 1/3/2023 6:29:42 AM, 1/13/2023 4:37:08 PM, 1/30/2023 9:42:46 PM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM. IsRegressionStdDev: Marked as regression because -26.366360256265743 (T) = (0 -1761.2262012227025) / Math.Sqrt((687.0584391596698 / (19)) + (230.20108308201407 / (40))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (19) + (40) - 2, .025) and -0.10732476881296582 = (1590.5236212775303 - 1761.2262012227025) / 1590.5236212775303 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 x86
OS Windows 10.0.18362
Baseline b5e79f56d1ed06dbf6765b29c021726ff4195e91
Compare 7c4b59ccf2cfc74c54e6c8922ab80cda20c3a55e
Diff Diff

Regressions in System.Collections.AddGivenSize<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Collections.AddGivenSize(Int32).Dictionary(Size%3a%20512).html>) 7.88 μs 8.53 μs 1.08 0.01 False
[HashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Collections.AddGivenSize(Int32).HashSet(Size%3a%20512).html>) 6.05 μs 6.68 μs 1.10 0.02 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.AddGivenSize&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.AddGivenSize<Int32>.Dictionary(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 8.52661898274296 > 8.252279765040505. IsChangePoint: Marked as a change because one of 12/20/2022 1:34:12 PM, 12/21/2022 9:23:17 AM, 1/3/2023 6:29:42 AM, 1/11/2023 2:37:52 AM, 1/20/2023 8:02:54 AM, 1/30/2023 9:42:46 PM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM. IsRegressionStdDev: Marked as regression because -96.50594480038856 (T) = (0 -8504.944677476387) / Math.Sqrt((552.8261341998915 / (19)) + (637.2133645166293 / (40))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (19) + (40) - 2, .025) and -0.0824158112602474 = (7857.372914364724 - 8504.944677476387) / 7857.372914364724 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.AddGivenSize<Int32>.HashSet(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 6.679339585982761 > 6.352431969513517. IsChangePoint: Marked as a change because one of 1/11/2023 2:37:52 AM, 1/18/2023 8:37:25 PM, 1/20/2023 8:02:54 AM, 1/30/2023 9:42:46 PM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM. IsRegressionStdDev: Marked as regression because -125.76794504541166 (T) = (0 -6623.2893375490985) / Math.Sqrt((259.25814869093625 / (19)) + (267.1527659808987 / (40))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (19) + (40) - 2, .025) and -0.09361964071915017 = (6056.300646899235 - 6623.2893375490985) / 6056.300646899235 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)
performanceautofiler[bot] commented 1 year ago

Run Information

Architecture x86
OS Windows 10.0.18362
Baseline b5e79f56d1ed06dbf6765b29c021726ff4195e91
Compare 7c4b59ccf2cfc74c54e6c8922ab80cda20c3a55e
Diff Diff

Regressions in System.Collections.ContainsTrue<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[LinkedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Collections.ContainsTrue(String).LinkedList(Size%3a%20512).html>) 771.00 μs 813.75 μs 1.06 0.15 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.ContainsTrue&lt;String&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.ContainsTrue<String>.LinkedList(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 813.7504111842104 > 809.1560312500001. IsChangePoint: Marked as a change because one of 12/1/2022 7:29:59 PM, 12/14/2022 12:26:48 AM, 1/12/2023 10:41:19 PM, 1/20/2023 8:02:54 AM, 1/30/2023 9:42:46 PM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM. IsRegressionStdDev: Marked as regression because -31.694767227471765 (T) = (0 -814741.6003824666) / Math.Sqrt((2095078.543134592 / (19)) + (71493019.9143266 / (40))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (19) + (40) - 2, .025) and -0.05662249993323995 = (771081.0629472153 - 814741.6003824666) / 771081.0629472153 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 x86
OS Windows 10.0.18362
Baseline b5e79f56d1ed06dbf6765b29c021726ff4195e91
Compare 7c4b59ccf2cfc74c54e6c8922ab80cda20c3a55e
Diff Diff

Regressions in System.Collections.CtorFromCollection<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ImmutableStack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Collections.CtorFromCollection(Int32).ImmutableStack(Size%3a%20512).html>) 3.91 μs 4.35 μs 1.11 0.03 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.CtorFromCollection&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.CtorFromCollection<Int32>.ImmutableStack(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 4.349388455827766 > 4.110979922143453. IsChangePoint: Marked as a change because one of 11/22/2022 2:20:42 AM, 12/12/2022 5:25:39 PM, 12/14/2022 12:26:48 AM, 1/18/2023 8:37:25 PM, 1/20/2023 8:02:54 AM, 1/30/2023 9:42:46 PM, 2/7/2023 8:22:47 AM falls between 1/29/2023 5:12:48 PM and 2/7/2023 8:22:47 AM. IsRegressionStdDev: Marked as regression because -51.40181813879028 (T) = (0 -4389.254238523975) / Math.Sqrt((1236.6538888929288 / (19)) + (450.0323831965539 / (40))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (19) + (40) - 2, .025) and -0.11398189009845598 = (3940.1486483196272 - 4389.254238523975) / 3940.1486483196272 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)