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: 22 Improvements on 1/15/2023 6:13:25 AM #11773

Open performanceautofiler[bot] opened 1 year ago

performanceautofiler[bot] commented 1 year ago

Run Information

Architecture x86
OS Windows 10.0.18362
Baseline d0fcd6206daac01f6279adc51e40d7e1df4fed19
Compare 2eca2d319bf8d1247edf38facfdd501e0e2f0030
Diff Diff

Improvements 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_ToUpperInvariant - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Tests.Perf_Char.Char_ToUpperInvariant(input%3a%20%22Hello%20World!%22).html>) 20.09 ns 14.83 ns 0.74 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 'System.Tests.Perf_Char*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_Char.Char_ToUpperInvariant(input: "Hello World!") ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 14.829900184621494 < 19.101314642631355. IsChangePoint: Marked as a change because one of 11/20/2022 11:32:49 PM, 12/6/2022 2:12:43 AM, 12/12/2022 5:25:39 PM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 31.862750057597005 (T) = (0 -14.835398804726468) / Math.Sqrt((7.4850975954573205 / (299)) + (0.0065755476885303995 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.25568523556130635 = (19.931619676944354 - 14.835398804726468) / 19.931619676944354 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ```### Baseline Jit Disasm ```assembly ; System.Tests.Perf_Char.Char_ToUpperInvariant(System.String) push ebp mov ebp,esp push edi push esi push ebx sub esp,0C xor eax,eax mov [ebp-10],eax mov esi,edx xor edi,edi xor ebx,ebx mov eax,[esi+4] mov [ebp-18],eax test eax,eax jle short M00_L04 M00_L00: movzx edx,word ptr [esi+ebx*2+8] cmp edx,7F ja short M00_L02 lea ecx,[edx-61] cmp ecx,19 ja short M00_L01 and edx,5F M00_L01: mov ecx,edx jmp short M00_L03 M00_L02: mov ecx,ds:[6DF1388] mov [ebp-14],dx cmp [ecx],cl xor edx,edx mov [ebp-10],edx push 1 lea edx,[ebp-10] push edx push 1 push 1 lea edx,[ebp-14] call dword ptr ds:[85D5420] movzx ecx,word ptr [ebp-10] M00_L03: add edi,ecx inc ebx mov eax,[ebp-18] cmp eax,ebx jg short M00_L00 M00_L04: mov eax,edi lea esp,[ebp-0C] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 115 ``` ### Compare Jit Disasm ```assembly ; System.Tests.Perf_Char.Char_ToUpperInvariant(System.String) push ebp mov ebp,esp push edi push esi push ebx sub esp,0C xor eax,eax mov [ebp-10],eax mov esi,edx xor edi,edi xor ebx,ebx mov eax,[esi+4] mov [ebp-18],eax test eax,eax jle short M00_L04 M00_L00: movzx edx,word ptr [esi+ebx*2+8] cmp edx,7F ja short M00_L02 lea ecx,[edx-61] cmp ecx,19 ja short M00_L01 and edx,5F M00_L01: mov ecx,edx jmp short M00_L03 M00_L02: mov ecx,ds:[6C11300] mov [ebp-14],dx cmp [ecx],cl xor edx,edx mov [ebp-10],edx push 1 lea edx,[ebp-10] push edx push 1 push 1 lea edx,[ebp-14] call dword ptr ds:[84D7CF0] movzx ecx,word ptr [ebp-10] M00_L03: add edi,ecx inc ebx mov eax,[ebp-18] cmp eax,ebx jg short M00_L00 M00_L04: mov eax,edi lea esp,[ebp-0C] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 115 ``` ### 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 d0fcd6206daac01f6279adc51e40d7e1df4fed19
Compare 2eca2d319bf8d1247edf38facfdd501e0e2f0030
Diff Diff

Improvements 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
[TrailingZeroCount_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.TrailingZeroCount_ulong.html>) 943.20 ns 716.32 ns 0.76 0.02 False Trace Trace
[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.52 μs 1.16 μs 0.76 0.04 False 15080.899466926947 14120.281968047866 0.9363023736756713 Trace Trace

graph 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.TrailingZeroCount_ulong ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 716.3226037078429 < 896.0470774690718. IsChangePoint: Marked as a change because one of 11/8/2022 6:56:37 AM, 11/18/2022 7:31:41 AM, 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/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 10.74334658708808 (T) = (0 -713.4164622597604) / Math.Sqrt((10829.326620199576 / (299)) + (1.555093250493723 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.08323310368170028 = (778.1874161521464 - 713.4164622597604) / 778.1874161521464 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ```### Baseline Jit Disasm ```assembly ; System.Numerics.Tests.Perf_BitOperations.TrailingZeroCount_ulong() push ebp mov ebp,esp push edi push esi push ebx xor esi,esi mov ecx,0B6946A0 mov edx,1B2 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax,ds:[77A44FC] 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] test ebx,ebx jne short M00_L01 tzcnt edi,edi add edi,20 jmp short M00_L02 M00_L01: xor edi,edi tzcnt edi,ebx M00_L02: add esi,edi 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 79 ``` ### Compare Jit Disasm ```assembly ; System.Numerics.Tests.Perf_BitOperations.TrailingZeroCount_ulong() push ebp mov ebp,esp push edi push esi push ebx xor esi,esi mov ecx,0AAD6380 mov edx,1B2 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax,ds:[6FB4508] 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] test ebx,ebx jne short M00_L01 tzcnt edi,edi add edi,20 jmp short M00_L02 M00_L01: xor edi,edi tzcnt edi,ebx M00_L02: add esi,edi 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 79 ``` #### System.Numerics.Tests.Perf_BitOperations.Log2_ulong ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 1.1621980567434353 < 1.435550787300415. IsChangePoint: Marked as a change because one of 11/2/2022 4:14:20 AM, 11/18/2022 7:31:41 AM, 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/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 10.209036262769176 (T) = (0 -1159.7437062034296) / Math.Sqrt((23641.167133591814 / (299)) + (4.437923737699188 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.07274980381562385 = (1250.7343875210397 - 1159.7437062034296) / 1250.7343875210397 is greater than 0.05. 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,0AF046A0 mov edx,1B2 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax,ds:[72544FC] 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 mov edi,ebx or edi,1 lzcnt edi,edi xor edi,1F jmp short M00_L02 M00_L01: or edi,1 lzcnt edi,edi xor edi,1F add edi,20 M00_L02: add esi,edi 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,0A716380 mov edx,1B2 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax,ds:[6BA4508] 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 d0fcd6206daac01f6279adc51e40d7e1df4fed19
Compare 2eca2d319bf8d1247edf38facfdd501e0e2f0030
Diff Diff

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ConvertFloatToUIntBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Runtime.Intrinsics.Tests.Perf_Vector128.ConvertFloatToUIntBenchmark.html>) 18.52 ns 14.49 ns 0.78 0.11 False

graph Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Runtime.Intrinsics.Tests.Perf_Vector128*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128.ConvertFloatToUIntBenchmark ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 14.491288027404426 < 17.595390012760365. IsChangePoint: Marked as a change because one of 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 55.19538672528148 (T) = (0 -14.531909693127213) / Math.Sqrt((0.17746452492475168 / (299)) + (0.06013806587745263 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2214023553659346 = (18.664209676561626 - 14.531909693127213) / 18.664209676561626 is greater than 0.05. 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 d0fcd6206daac01f6279adc51e40d7e1df4fed19
Compare 2eca2d319bf8d1247edf38facfdd501e0e2f0030
Diff Diff

Improvements in PerfLabTests.CastingPerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ObjInt - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/PerfLabTests.CastingPerf.ObjInt.html>) 227.47 μs 155.99 μs 0.69 0.03 False Trace Trace
[ObjFooIsObj - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/PerfLabTests.CastingPerf.ObjFooIsObj.html>) 224.62 μs 156.61 μs 0.70 0.03 False Trace Trace
[ObjScalarValueType - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/PerfLabTests.CastingPerf.ObjScalarValueType.html>) 230.97 μs 155.96 μs 0.68 0.03 False Trace Trace

graph graph graph Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'PerfLabTests.CastingPerf*'
### Payloads [Baseline]() [Compare]() ### Histogram #### PerfLabTests.CastingPerf.ObjInt ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 155.99023705255144 < 216.5674747177752. IsChangePoint: Marked as a change because one of 12/3/2022 7:24:45 AM, 12/12/2022 5:25:39 PM, 1/3/2023 6:29:42 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 12.996438467992682 (T) = (0 -156156.8527458644) / Math.Sqrt((1144670122.913128 / (299)) + (81347.41918806148 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.14014490848037858 = (181608.33643479215 - 156156.8527458644) / 181608.33643479215 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ```### Baseline Jit Disasm ```assembly ; PerfLabTests.CastingPerf.ObjInt() push ebp mov ebp,esp push esi xor eax,eax mov ecx,ds:[0B224C68] test ecx,ecx jle short M00_L01 mov esi,ds:[7374130] nop nop nop nop nop nop nop nop nop nop M00_L00: mov edx,7374150 call CORINFO_HELP_ASSIGN_REF_ESI inc eax cmp eax,ecx jl short M00_L00 M00_L01: pop esi pop ebp ret ; Total bytes of code 50 ``` ### Compare Jit Disasm ```assembly ; PerfLabTests.CastingPerf.ObjInt() push ebp mov ebp,esp push esi xor eax,eax mov ecx,ds:[0ADD6948] test ecx,ecx jle short M00_L01 mov esi,ds:[7364130] nop nop nop nop nop nop nop nop nop nop M00_L00: mov edx,7364150 call CORINFO_HELP_ASSIGN_REF_ESI inc eax cmp eax,ecx jl short M00_L00 M00_L01: pop esi pop ebp ret ; Total bytes of code 50 ``` #### PerfLabTests.CastingPerf.ObjFooIsObj ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 156.61039166666666 < 215.99004181331952. IsChangePoint: Marked as a change because one of 12/3/2022 7:24:45 AM, 12/12/2022 5:25:39 PM, 1/3/2023 6:29:42 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 12.941515492730948 (T) = (0 -156209.62298069723) / Math.Sqrt((1132143403.8405864 / (299)) + (88027.16478170617 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.13894520076970412 = (181416.58709798066 - 156209.62298069723) / 181416.58709798066 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ```### Baseline Jit Disasm ```assembly ; PerfLabTests.CastingPerf.ObjFooIsObj() push ebp mov ebp,esp push esi xor eax,eax mov ecx,ds:[0AB94C68] test ecx,ecx jle short M00_L01 mov esi,ds:[6CE4138] nop nop nop nop nop nop nop nop nop nop M00_L00: mov edx,6CE4150 call CORINFO_HELP_ASSIGN_REF_ESI inc eax cmp eax,ecx jl short M00_L00 M00_L01: pop esi pop ebp ret ; Total bytes of code 50 ``` ### Compare Jit Disasm ```assembly ; PerfLabTests.CastingPerf.ObjFooIsObj() push ebp mov ebp,esp push esi xor eax,eax mov ecx,ds:[0B186948] test ecx,ecx jle short M00_L01 mov esi,ds:[76A4138] nop nop nop nop nop nop nop nop nop nop M00_L00: mov edx,76A4150 call CORINFO_HELP_ASSIGN_REF_ESI inc eax cmp eax,ecx jl short M00_L00 M00_L01: pop esi pop ebp ret ; Total bytes of code 50 ``` #### PerfLabTests.CastingPerf.ObjScalarValueType ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 155.96041031987815 < 218.56883737389884. IsChangePoint: Marked as a change because one of 12/3/2022 7:24:45 AM, 12/12/2022 5:25:39 PM, 1/3/2023 6:29:42 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 13.045046812489028 (T) = (0 -156057.22511142772) / Math.Sqrt((1147989204.2768478 / (299)) + (64807.169842254225 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.14082560426695315 = (181636.261376574 - 156057.22511142772) / 181636.261376574 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ```### Baseline Jit Disasm ```assembly ; PerfLabTests.CastingPerf.ObjScalarValueType() push ebp mov ebp,esp push esi xor eax,eax mov ecx,ds:[0B314C68] test ecx,ecx jle short M00_L01 mov esi,ds:[75F4148] nop nop nop nop nop nop nop nop nop nop M00_L00: mov edx,75F4150 call CORINFO_HELP_ASSIGN_REF_ESI inc eax cmp eax,ecx jl short M00_L00 M00_L01: pop esi pop ebp ret ; Total bytes of code 50 ``` ### Compare Jit Disasm ```assembly ; PerfLabTests.CastingPerf.ObjScalarValueType() push ebp mov ebp,esp push esi xor eax,eax mov ecx,ds:[0A616948] test ecx,ecx jle short M00_L01 mov esi,ds:[6A94148] nop nop nop nop nop nop nop nop nop nop M00_L00: mov edx,6A94150 call CORINFO_HELP_ASSIGN_REF_ESI inc eax cmp eax,ecx jl short M00_L00 M00_L01: pop esi pop ebp ret ; Total bytes of code 50 ``` ### 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 d0fcd6206daac01f6279adc51e40d7e1df4fed19
Compare 2eca2d319bf8d1247edf38facfdd501e0e2f0030
Diff Diff

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DivisionOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).DivisionOperatorBenchmark.html>) 16.53 ns 12.47 ns 0.75 0.08 False
[DivideBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).DivideBenchmark.html>) 16.55 ns 12.53 ns 0.76 0.07 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.Runtime.Intrinsics.Tests.Perf_Vector128Of&lt;UInt32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.DivisionOperatorBenchmark ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 12.467961425034083 < 15.720281857486768. IsChangePoint: Marked as a change because one of 12/1/2022 8:17:56 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 32.98141198659481 (T) = (0 -12.699811276927598) / Math.Sqrt((3.1188885093867973 / (299)) + (0.1747059364191183 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2910510363595606 = (17.913576192726637 - 12.699811276927598) / 17.913576192726637 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ```#### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.DivideBenchmark ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 12.527027010282964 < 15.719327420355278. IsChangePoint: Marked as a change because one of 12/1/2022 8:17:56 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 31.658551687729883 (T) = (0 -12.787251058782587) / Math.Sqrt((3.0611216631865883 / (299)) + (0.1915034737260605 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2860787949949622 = (17.91129184724574 - 12.787251058782587) / 17.91129184724574 is greater than 0.05. 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 d0fcd6206daac01f6279adc51e40d7e1df4fed19
Compare 2eca2d319bf8d1247edf38facfdd501e0e2f0030
Diff Diff

Improvements in System.Diagnostics.Perf_Activity

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[EnumerateActivityLinkTagsLarge - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Diagnostics.Perf_Activity.EnumerateActivityLinkTagsLarge.html>) 14.72 μs 13.57 μs 0.92 0.04 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.Diagnostics.Perf_Activity*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Diagnostics.Perf_Activity.EnumerateActivityLinkTagsLarge ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 13.571597523892267 < 13.986747724419335. IsChangePoint: Marked as a change because one of 11/18/2022 7:31:41 AM, 11/29/2022 2:55:01 PM, 12/23/2022 9:40:21 PM, 1/5/2023 3:38:13 PM, 1/13/2023 11:01:49 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 46.75731032631589 (T) = (0 -13525.133403947417) / Math.Sqrt((366091.932409993 / (299)) + (1063.946228738917 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.1113247360139393 = (15219.43273550997 - 13525.133403947417) / 15219.43273550997 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ```### Baseline Jit Disasm ```assembly ; System.Diagnostics.Perf_Activity.EnumerateActivityLinkTagsLarge() push ebp mov ebp,esp sub esp,20 vxorps xmm4,xmm4,xmm4 vmovdqu xmmword ptr [ebp-1C],xmm4 xor eax,eax mov [ebp-0C],eax mov [ebp-8],eax mov ecx,ds:[729458C] mov ecx,[ecx+4] cmp [ecx],ecx call dword ptr ds:[0B241A40]; System.Diagnostics.Activity+TagsLinkedList.System.Collections.Generic.IEnumerable>.GetEnumerator() mov ecx,eax mov [ebp-20],ecx call dword ptr ds:[31202F4] test eax,eax je short M00_L01 M00_L00: lea edx,[ebp-1C] mov ecx,[ebp-20] call dword ptr ds:[31202F8] mov ecx,[ebp-20] call dword ptr ds:[31202F4] test eax,eax jne short M00_L00 M00_L01: mov ecx,[ebp-20] call dword ptr ds:[31202FC] jmp short M00_L03 cmp dword ptr [ebp-20],0 je short M00_L02 mov ecx,[ebp-20] call dword ptr ds:[31202FC] M00_L02: pop eax jmp eax M00_L03: mov esp,ebp pop ebp ret ; Total bytes of code 113 ``` ```assembly ; System.Diagnostics.Activity+TagsLinkedList.System.Collections.Generic.IEnumerable>.GetEnumerator() push edi push esi mov esi,ecx mov ecx,offset MT_System.Diagnostics.DiagEnumerator`1[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[System.Object, System.Private.CoreLib]], System.Private.CoreLib]] call CORINFO_HELP_NEWSFAST mov ecx,[esi+4] mov esi,ds:[72952B8] lea edi,[eax+4] mov edx,edi call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX lea edx,[edi+4] call CORINFO_HELP_CHECKED_ASSIGN_REF_ESI pop esi pop edi ret ; Total bytes of code 44 ``` ### Compare Jit Disasm ```assembly ; System.Diagnostics.Perf_Activity.EnumerateActivityLinkTagsLarge() push ebp mov ebp,esp sub esp,20 vxorps xmm4,xmm4,xmm4 vmovdqu xmmword ptr [ebp-1C],xmm4 xor eax,eax mov [ebp-0C],eax mov [ebp-8],eax mov ecx,ds:[7084598] mov ecx,[ecx+4] cmp [ecx],ecx call dword ptr ds:[0B013DB0]; System.Diagnostics.Activity+TagsLinkedList.System.Collections.Generic.IEnumerable>.GetEnumerator() mov ecx,eax mov [ebp-20],ecx call dword ptr ds:[4D902F4] test eax,eax je short M00_L01 M00_L00: lea edx,[ebp-1C] mov ecx,[ebp-20] call dword ptr ds:[4D902F8] mov ecx,[ebp-20] call dword ptr ds:[4D902F4] test eax,eax jne short M00_L00 M00_L01: mov ecx,[ebp-20] call dword ptr ds:[4D902FC] jmp short M00_L03 cmp dword ptr [ebp-20],0 je short M00_L02 mov ecx,[ebp-20] call dword ptr ds:[4D902FC] M00_L02: pop eax jmp eax M00_L03: mov esp,ebp pop ebp ret ; Total bytes of code 113 ``` ```assembly ; System.Diagnostics.Activity+TagsLinkedList.System.Collections.Generic.IEnumerable>.GetEnumerator() push edi push esi mov esi,ecx mov ecx,offset MT_System.Diagnostics.DiagEnumerator`1[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[System.Object, System.Private.CoreLib]], System.Private.CoreLib]] call CORINFO_HELP_NEWSFAST mov ecx,[esi+4] mov esi,ds:[7081F64] lea edi,[eax+4] mov edx,edi call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX lea edx,[edi+4] call CORINFO_HELP_CHECKED_ASSIGN_REF_ESI pop esi pop edi ret ; Total bytes of code 44 ``` ### 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 d0fcd6206daac01f6279adc51e40d7e1df4fed19
Compare 2eca2d319bf8d1247edf38facfdd501e0e2f0030
Diff Diff

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128Int

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DivideBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Runtime.Intrinsics.Tests.Perf_Vector128Int.DivideBenchmark.html>) 17.10 ns 12.43 ns 0.73 0.11 False
[DivisionOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Runtime.Intrinsics.Tests.Perf_Vector128Int.DivisionOperatorBenchmark.html>) 16.48 ns 12.39 ns 0.75 0.06 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.Runtime.Intrinsics.Tests.Perf_Vector128Int*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128Int.DivideBenchmark ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 12.428318539278896 < 15.720782665512315. IsChangePoint: Marked as a change because one of 12/1/2022 8:17:56 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 27.539867774046353 (T) = (0 -12.930649080226834) / Math.Sqrt((3.1689358973210737 / (299)) + (0.2746609145574191 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2804426837427111 = (17.970283656463135 - 12.930649080226834) / 17.970283656463135 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ```#### System.Runtime.Intrinsics.Tests.Perf_Vector128Int.DivisionOperatorBenchmark ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 12.393640351110584 < 15.659337491881038. IsChangePoint: Marked as a change because one of 12/1/2022 8:17:56 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 13.239414064149317 (T) = (0 -12.945704929996834) / Math.Sqrt((3.1886052781602325 / (299)) + (1.565897923905593 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2775771831543466 = (17.91984503828691 - 12.945704929996834) / 17.91984503828691 is greater than 0.05. 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 d0fcd6206daac01f6279adc51e40d7e1df4fed19
Compare 2eca2d319bf8d1247edf38facfdd501e0e2f0030
Diff Diff

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[MultiplyOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt64).MultiplyOperatorBenchmark.html>) 18.09 ns 15.30 ns 0.85 0.06 False
[MultiplyBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt64).MultiplyBenchmark.html>) 18.67 ns 15.23 ns 0.82 0.07 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.Runtime.Intrinsics.Tests.Perf_Vector128Of&lt;UInt64&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.MultiplyOperatorBenchmark ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 15.300405249611343 < 17.143265371896504. IsChangePoint: Marked as a change because one of 12/1/2022 8:17:56 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 32.72564984898105 (T) = (0 -15.341628079297907) / Math.Sqrt((2.8285117586220783 / (299)) + (0.07249881884751365 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2098514871722436 = (19.4161323222565 - 15.341628079297907) / 19.4161323222565 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ```#### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.MultiplyBenchmark ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 15.231397869752909 < 17.67585068393684. IsChangePoint: Marked as a change because one of 12/1/2022 8:17:56 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 42.993308605558276 (T) = (0 -15.239971228138328) / Math.Sqrt((2.7857845068258293 / (299)) + (0.0003261096923112912 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2142697302929434 = (19.395932441065607 - 15.239971228138328) / 19.395932441065607 is greater than 0.05. 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 d0fcd6206daac01f6279adc51e40d7e1df4fed19
Compare 2eca2d319bf8d1247edf38facfdd501e0e2f0030
Diff Diff

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[MultiplyOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int64).MultiplyOperatorBenchmark.html>) 18.05 ns 15.40 ns 0.85 0.06 False
[MultiplyBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int64).MultiplyBenchmark.html>) 18.06 ns 15.24 ns 0.84 0.06 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.Runtime.Intrinsics.Tests.Perf_Vector128Of&lt;Int64&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.MultiplyOperatorBenchmark ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 15.404735205906661 < 17.440127850637495. IsChangePoint: Marked as a change because one of 12/1/2022 8:17:56 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 43.41387934366086 (T) = (0 -15.35151746691867) / Math.Sqrt((2.5115018352932545 / (299)) + (0.001837526381884119 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.20731550249811687 = (19.36649135349364 - 15.35151746691867) / 19.36649135349364 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ```#### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.MultiplyBenchmark ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 15.237138653166907 < 17.154271473443355. IsChangePoint: Marked as a change because one of 12/1/2022 8:17:56 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 42.05704017397999 (T) = (0 -15.241383173815292) / Math.Sqrt((2.959748487795877 / (299)) + (0.0003472326036385127 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.21565015824616293 = (19.43186874333392 - 15.241383173815292) / 19.43186874333392 is greater than 0.05. 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 d0fcd6206daac01f6279adc51e40d7e1df4fed19
Compare 2eca2d319bf8d1247edf38facfdd501e0e2f0030
Diff Diff

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DivideBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int32).DivideBenchmark.html>) 16.55 ns 12.48 ns 0.75 0.06 False
[DivisionOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int32).DivisionOperatorBenchmark.html>) 16.57 ns 13.32 ns 0.80 0.09 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.Runtime.Intrinsics.Tests.Perf_Vector128Of&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.DivideBenchmark ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 12.478392469326009 < 15.658072282751517. IsChangePoint: Marked as a change because one of 12/1/2022 8:17:56 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 32.546140693887985 (T) = (0 -12.733672965631298) / Math.Sqrt((3.062759407016146 / (299)) + (0.18193407212943324 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2894605849406041 = (17.921135261112653 - 12.733672965631298) / 17.921135261112653 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ```#### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.DivisionOperatorBenchmark ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 13.31984908743749 < 15.736963629541124. IsChangePoint: Marked as a change because one of 12/1/2022 8:17:56 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 31.38086433738325 (T) = (0 -12.797632817729566) / Math.Sqrt((3.0337126204385614 / (299)) + (0.20316170170194103 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2874892639098839 = (17.96131927492944 - 12.797632817729566) / 17.96131927492944 is greater than 0.05. 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 d0fcd6206daac01f6279adc51e40d7e1df4fed19
Compare 2eca2d319bf8d1247edf38facfdd501e0e2f0030
Diff Diff

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DivisionOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt16).DivisionOperatorBenchmark.html>) 31.70 ns 26.82 ns 0.85 0.01 False
[DivideBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt16).DivideBenchmark.html>) 31.56 ns 26.73 ns 0.85 0.01 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.Runtime.Intrinsics.Tests.Perf_Vector128Of&lt;UInt16&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.DivisionOperatorBenchmark ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 26.824562901816716 < 30.0469253652707. IsChangePoint: Marked as a change because one of 12/1/2022 8:17:56 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 37.96943192215347 (T) = (0 -26.813566421463843) / Math.Sqrt((9.056106108582798 / (299)) + (0.027626672490713947 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.20359123652416813 = (33.66809564530556 - 26.813566421463843) / 33.66809564530556 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ```#### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.DivideBenchmark ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 26.733650060273508 < 30.096707842231496. IsChangePoint: Marked as a change because one of 12/1/2022 8:17:56 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 37.12957296409914 (T) = (0 -26.39084683254343) / Math.Sqrt((9.424557653308405 / (299)) + (0.07821505680105392 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2153140522093469 = (33.632368346660215 - 26.39084683254343) / 33.632368346660215 is greater than 0.05. 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 d0fcd6206daac01f6279adc51e40d7e1df4fed19
Compare 2eca2d319bf8d1247edf38facfdd501e0e2f0030
Diff Diff

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DivideBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).DivideBenchmark.html>) 31.61 ns 26.71 ns 0.84 0.02 False
[DivisionOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x86_Windows 10.0.18362/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).DivisionOperatorBenchmark.html>) 31.61 ns 26.20 ns 0.83 0.01 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.Runtime.Intrinsics.Tests.Perf_Vector128Of&lt;Int16&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.DivideBenchmark ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 26.70899348693346 < 30.02656635628611. IsChangePoint: Marked as a change because one of 12/1/2022 8:17:56 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 35.98766297836814 (T) = (0 -26.420583921036396) / Math.Sqrt((9.378035171997828 / (299)) + (0.10244514717466925 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.21389004214334054 = (33.6092726685113 - 26.420583921036396) / 33.6092726685113 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ```#### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.DivisionOperatorBenchmark ```log ``` ### Description of detection logic ```IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed:Marked as improvement because 26.200500174168333 < 29.870082296938715. IsChangePoint: Marked as a change because one of 12/1/2022 8:17:56 AM, 1/15/2023 2:31:53 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM. IsImprovementStdDev: Marked as improvement because 35.76992803672473 (T) = (0 -26.581648822323455) / Math.Sqrt((9.26026055149104 / (299)) + (0.09572768435708844 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2098422638443145 = (33.64093978456733 - 26.581648822323455) / 33.64093978456733 is greater than 0.05. 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)