Skip to content

[Perf] Windows/arm64: 67 Regressions on 5/19/2023 1:23:34 PM #17979

@performanceautofiler

Description

@performanceautofiler

Run Information

Name Value
Architecture arm64
OS Windows 10.0.19041
Queue SurfaceWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
LastIndexOfValue - Duration of single invocation 50.07 ns 58.70 ns 1.17 0.04 False
IndexOfAnyFiveValues - Duration of single invocation 59.49 ns 64.44 ns 1.08 0.00 False
IndexOfAnyFourValues - Duration of single invocation 50.41 ns 54.39 ns 1.08 0.01 False
SequenceEqual - Duration of single invocation 0.84 ns 3.89 ns 4.61 0.55 False
Reverse - Duration of single invocation 6.42 ns 7.43 ns 1.16 0.15 False
IndexOfAnyFiveValues - Duration of single invocation 986.15 ns 1.07 μs 1.08 0.00 True
IndexOfValue - Duration of single invocation 47.33 ns 58.74 ns 1.24 0.02 True
IndexOfAnyFourValues - Duration of single invocation 822.73 ns 904.56 ns 1.10 0.00 True

graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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>.LastIndexOfValue(Size: 512)


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 58.70341617878848 > 53.764992099655956.
IsChangePoint: Marked as a change because one of 3/10/2023 4:14:40 PM, 4/27/2023 10:53:57 PM, 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -25.111482579197983 (T) = (0 -58.97124009169859) / Math.Sqrt((1.0236023409114445 / (24)) + (0.4239917479472923 / (7))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (24) + (7) - 2, .025) and -0.15849218806510929 = (50.903442163206286 - 58.97124009169859) / 50.903442163206286 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.

JIT Disasms

System.Memory.Span<Int32>.IndexOfAnyFiveValues(Size: 33)


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 64.43580216791939 > 62.77254518572174.
IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/27/2023 10:53:57 PM, 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -17.28121384228389 (T) = (0 -64.58900788439637) / Math.Sqrt((0.37901722816321876 / (23)) + (0.4052517215020918 / (7))) is less than -2.048407141790485 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (23) + (7) - 2, .025) and -0.07870911698195904 = (59.876204685379136 - 64.58900788439637) / 59.876204685379136 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.

JIT Disasms

System.Memory.Span<Int32>.IndexOfAnyFourValues(Size: 33)


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 54.387677519755066 > 53.013630971570656.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -11.867160629325754 (T) = (0 -54.75898909356126) / Math.Sqrt((0.2953862958922418 / (23)) + (0.6421367947440692 / (7))) is less than -2.048407141790485 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (23) + (7) - 2, .025) and -0.07536408197997965 = (50.921348416936176 - 54.75898909356126) / 50.921348416936176 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.

JIT Disasms

System.Memory.Span<Int32>.SequenceEqual(Size: 4)


Description of detection logic

IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 3.893001048314672 > 0.9379330364909716.
IsChangePoint: Marked as a change because one of 3/16/2023 2:30:29 AM, 4/3/2023 6:15:03 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -10.92695163221313 (T) = (0 -3.741492359739773) / Math.Sqrt((1.0871671031834842 / (23)) + (0.057381193338359865 / (7))) is less than -2.048407141790485 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (23) + (7) - 2, .025) and -2.2031277617666465 = (1.1680746564027775 - 3.741492359739773) / 1.1680746564027775 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.

JIT Disasms

System.Memory.Span<Int32>.Reverse(Size: 33)


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 7.42560939511113 > 6.7286850302413095.
IsChangePoint: Marked as a change because one of 3/16/2023 2:30:29 AM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -33.31946332610212 (T) = (0 -7.295167208060534) / Math.Sqrt((0.0008582278097421199 / (23)) + (0.004725269408152923 / (7))) is less than -2.048407141790485 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (23) + (7) - 2, .025) and -0.13882485684964246 = (6.405872829507185 - 7.295167208060534) / 6.405872829507185 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.

JIT Disasms

System.Memory.Span<Int32>.IndexOfAnyFiveValues(Size: 512)


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.067763525477926 > 1035.4369779370272.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -281.64334774641264 (T) = (0 -1068.2497372415028) / Math.Sqrt((0.231343396562095 / (24)) + (0.5241856723146104 / (7))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (24) + (7) - 2, .025) and -0.08301334218593145 = (986.3680304116751 - 1068.2497372415028) / 986.3680304116751 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

JIT Disasms

System.Memory.Span<Int32>.IndexOfValue(Size: 512)


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 58.73890493316219 > 49.901279920015305.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -58.759388601180355 (T) = (0 -59.00172302772573) / Math.Sqrt((0.3674887810338357 / (24)) + (0.14759924477518735 / (7))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (24) + (7) - 2, .025) and -0.23456495333056207 = (47.79150976913215 - 59.00172302772573) / 47.79150976913215 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

JIT Disasms

System.Memory.Span<Int32>.IndexOfAnyFourValues(Size: 512)


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 904.5609320000896 > 864.333704268986.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -207.38335854763548 (T) = (0 -905.4039037118825) / Math.Sqrt((0.2764315746505407 / (24)) + (1.0219366407220338 / (7))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (24) + (7) - 2, .025) and -0.09999412854422537 = (823.0988513639877 - 905.4039037118825) / 823.0988513639877 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture arm64
OS Windows 10.0.19041
Queue SurfaceWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ConcurrentDictionary - Duration of single invocation 5.37 μs 6.42 μs 1.20 0.13 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Collections.ContainsKeyFalse<Int32, Int32>.ConcurrentDictionary(Size: 512)


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.419033235970967 > 5.628617247652244.
IsChangePoint: Marked as a change because one of 2/4/2023 11:37:33 AM, 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -191.90449838095418 (T) = (0 -6430.688969886294) / Math.Sqrt((471.60419276955696 / (23)) + (71.70458217907691 / (7))) is less than -2.048407141790485 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (23) + (7) - 2, .025) and -0.19828863460263996 = (5366.5609304712725 - 6430.688969886294) / 5366.5609304712725 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.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture arm64
OS Windows 10.0.19041
Queue SurfaceWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in SciMark2.kernel

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
benchFFT - Duration of single invocation 884.76 ms 933.15 ms 1.05 0.00 True

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'SciMark2.kernel*'

Payloads

Baseline
Compare

Histogram

SciMark2.kernel.benchFFT


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 933.1548642857143 > 927.6536963076924.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -58.96985250446073 (T) = (0 -934749198.3568811) / Math.Sqrt((1237619268377.919 / (24)) + (4940750892666.918 / (7))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (24) + (7) - 2, .025) and -0.05809221884545547 = (883428855.9241453 - 934749198.3568811) / 883428855.9241453 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture arm64
OS Windows 10.0.19041
Queue SurfaceWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.Json.Tests.Perf_Get

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
GetSByte - Duration of single invocation 838.28 ns 1.22 μs 1.45 0.00 True
GetUInt32 - Duration of single invocation 702.31 ns 1.09 μs 1.56 0.00 True
GetInt64 - Duration of single invocation 748.01 ns 828.97 ns 1.11 0.00 False
GetInt16 - Duration of single invocation 766.96 ns 1.14 μs 1.49 0.00 True
GetByte - Duration of single invocation 724.73 ns 1.14 μs 1.57 0.00 True
GetString - Duration of single invocation 4.27 μs 4.63 μs 1.08 0.01 False
GetInt32 - Duration of single invocation 744.44 ns 1.16 μs 1.56 0.00 True
GetUInt16 - Duration of single invocation 710.94 ns 1.14 μs 1.61 0.00 True

graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Get*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Get.GetSByte


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.2173379281619188 > 879.9384587876832.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -160.32202269854673 (T) = (0 -1218.7609535641275) / Math.Sqrt((1.930783874634652 / (24)) + (39.05975486754824 / (7))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (24) + (7) - 2, .025) and -0.45553448705831656 = (837.3288056041075 - 1218.7609535641275) / 837.3288056041075 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

JIT Disasms

System.Text.Json.Tests.Perf_Get.GetUInt32


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.09369428270254 > 735.9512298978833.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -264.51882842985316 (T) = (0 -1094.905732864796) / Math.Sqrt((33.770294913354235 / (24)) + (5.751601397490178 / (7))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (24) + (7) - 2, .025) and -0.5641390977154587 = (700.0053476471415 - 1094.905732864796) / 700.0053476471415 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

JIT Disasms

System.Text.Json.Tests.Perf_Get.GetInt64


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 828.9723437611502 > 784.5882529105157.
IsChangePoint: Marked as a change because one of 4/8/2023 3:10:58 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -27.821459334192383 (T) = (0 -832.0797410834273) / Math.Sqrt((125.92106662388869 / (24)) + (19.836665873465037 / (7))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (24) + (7) - 2, .025) and -0.1050287520501589 = (752.9937474836473 - 832.0797410834273) / 752.9937474836473 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.

JIT Disasms

System.Text.Json.Tests.Perf_Get.GetInt16


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.1406549330857543 > 805.4346625319096.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -200.47800731504 (T) = (0 -1135.0508386051986) / Math.Sqrt((10.14371116674724 / (24)) + (20.5504328715573 / (7))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (24) + (7) - 2, .025) and -0.4785961380462622 = (767.6544050121719 - 1135.0508386051986) / 767.6544050121719 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

JIT Disasms

System.Text.Json.Tests.Perf_Get.GetByte


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.1404930016845871 > 761.6131081147432.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -108.25136409132388 (T) = (0 -1145.4045935278914) / Math.Sqrt((12.50412067418251 / (24)) + (101.51849562015103 / (7))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (24) + (7) - 2, .025) and -0.5780867593383844 = (725.8185183735426 - 1145.4045935278914) / 725.8185183735426 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

JIT Disasms

System.Text.Json.Tests.Perf_Get.GetString


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.626269367077105 > 4.492189848930547.
IsChangePoint: Marked as a change because one of 4/25/2023 1:14:10 AM, 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -18.681008560811538 (T) = (0 -4566.631421233087) / Math.Sqrt((695.4023428699057 / (23)) + (1310.4431463696762 / (7))) is less than -2.048407141790485 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (23) + (7) - 2, .025) and -0.0641942349361158 = (4291.1634655747075 - 4566.631421233087) / 4291.1634655747075 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.

JIT Disasms

System.Text.Json.Tests.Perf_Get.GetInt32


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.163199661312285 > 786.5865933503006.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -195.6212928204447 (T) = (0 -1164.3313608351161) / Math.Sqrt((13.369467959697067 / (24)) + (27.561622119224836 / (7))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (24) + (7) - 2, .025) and -0.5532441779364133 = (749.6125704987394 - 1164.3313608351161) / 749.6125704987394 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

JIT Disasms

System.Text.Json.Tests.Perf_Get.GetUInt16


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.1429512570792821 > 747.5807776978033.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -151.0073420833399 (T) = (0 -1140.668012110222) / Math.Sqrt((15.518252792090466 / (24)) + (51.674588370346584 / (7))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (24) + (7) - 2, .025) and -0.6002864641708825 = (712.7898895909293 - 1140.668012110222) / 712.7898895909293 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture arm64
OS Windows 10.0.19041
Queue SurfaceWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Count - Duration of single invocation 1.52 ms 1.60 ms 1.05 0.00 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock*'

Payloads

Baseline
Compare

Histogram

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes|Watson|Irene|Adler|John|Baker", Options: NonBacktracking)


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.5972517161410016 > 1.5921907774390245.
IsChangePoint: Marked as a change because one of 1/30/2023 10:02:08 AM, 3/16/2023 8:14:39 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -58.29447022145679 (T) = (0 -1599943.1516688876) / Math.Sqrt((6000229.547535621 / (24)) + (12325152.313154645 / (7))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (24) + (7) - 2, .025) and -0.054480346654302216 = (1517281.148714864 - 1599943.1516688876) / 1517281.148714864 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.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture arm64
OS Windows 10.0.19041
Queue SurfaceWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Base64EncodeInPlace - Duration of single invocation 172.75 ms 326.35 ms 1.89 0.01 True
Base64DecodeInPlace - Duration of single invocation 274.12 ms 344.93 ms 1.26 0.01 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests*'

Payloads

Baseline
Compare

Histogram

System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests.Base64EncodeInPlace(NumberOfBytes: 200000000)


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 326.35125 > 181.40921125.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -44.03925059445645 (T) = (0 -332427564.3470721) / Math.Sqrt((22518783200.297703 / (24)) + (92016505063923.64 / (7))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (24) + (7) - 2, .025) and -0.9243084586195295 = (172751703.53174603 - 332427564.3470721) / 172751703.53174603 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

JIT Disasms

System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests.Base64DecodeInPlace(NumberOfBytes: 200000000)


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 344.93111153846155 > 276.7041795.
IsChangePoint: Marked as a change because one of 5/9/2023 7:27:03 AM, 5/19/2023 4:22:12 AM, 5/22/2023 2:06:57 AM falls between 5/13/2023 2:36:22 AM and 5/22/2023 2:06:57 AM.
IsRegressionStdDev: Marked as regression because -14.45849477783686 (T) = (0 -344713942.3914181) / Math.Sqrt((885576749578061.5 / (23)) + (128588857871.89008 / (7))) is less than -2.048407141790485 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (23) + (7) - 2, .025) and -0.35194633436949374 = (254976054.61697716 - 344713942.3914181) / 254976054.61697716 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.

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions