-
Notifications
You must be signed in to change notification settings - Fork 4
Description
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 |
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span<Int32>*'Payloads
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 |
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsKeyFalse<Int32, Int32>*'Payloads
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 |
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'SciMark2.kernel*'Payloads
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 |
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
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
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 |
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
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
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 |
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests*'Payloads
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




















