-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Run Information
| Name | Value |
|---|---|
| Architecture | arm64 |
| OS | ubuntu 20.04 |
| Queue | AmpereUbuntu |
| Baseline | f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5 |
| Compare | 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1 |
| Diff | Diff |
| Configs | CompilationMode:tiered, RunKind:micro |
Regressions in System.Collections.Tests.Add_Remove_SteadyState<String>
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| ConcurrentBag - Duration of single invocation | 79.90 ns | 90.47 ns | 1.13 | 0.06 | 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Add_Remove_SteadyState<String>*'Payloads
Histogram
System.Collections.Tests.Add_Remove_SteadyState<String>.ConcurrentBag(Count: 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 90.46554783586085 > 84.97328723084023.
IsChangePoint: Marked as a change because one of 1/27/2023 7:12:54 PM, 5/19/2023 4:22:12 AM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -19.029521345217425 (T) = (0 -90.48945678888965) / Math.Sqrt((1.4182160551202923 / (25)) + (0.8999400046079388 / (5))) is less than -2.048407141790485 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (25) + (5) - 2, .025) and -0.11397795967977681 = (81.23092203269594 - 90.48945678888965) / 81.23092203269594 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 | ubuntu 20.04 |
| Queue | AmpereUbuntu |
| 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 | 182.15 ms | 645.95 ms | 3.55 | 0.00 | True | |||||
| Base64DecodeInPlace - Duration of single invocation | 269.27 ms | 725.71 ms | 2.70 | 0.01 | 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
python3 .\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 645.9501115333333 > 191.39418975000004.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -170.87042942551446 (T) = (0 -653592998.7217948) / Math.Sqrt((206171887648.97693 / (26)) + (30401174045761.69 / (4))) is less than -2.048407141790485 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (4) - 2, .025) and -2.585635052559619 = (182280959.757805 - 653592998.7217948) / 182280959.757805 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 725.7125417333333 > 282.7668850575.
IsChangePoint: Marked as a change because one of 5/8/2023 3:52:55 PM, 5/19/2023 4:22:12 AM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -27.949964398386104 (T) = (0 -672059333.72) / Math.Sqrt((903885439336241.4 / (25)) + (902306100161829 / (5))) is less than -2.048407141790485 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (25) + (5) - 2, .025) and -1.5779574861175665 = (260694498.39226368 - 672059333.72) / 260694498.39226368 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 | ubuntu 20.04 |
| Queue | AmpereUbuntu |
| Baseline | f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5 |
| Compare | 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1 |
| Diff | Diff |
| Configs | CompilationMode:tiered, RunKind:micro |
Regressions in System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| SerializeToString - Duration of single invocation | 15.23 μs | 19.18 μs | 1.26 | 0.02 | True | |||||
| SerializeToWriter - Duration of single invocation | 13.97 μs | 19.55 μs | 1.40 | 0.02 | True | |||||
| SerializeToStream - Duration of single invocation | 13.94 μs | 17.65 μs | 1.27 | 0.01 | True | |||||
| SerializeObjectProperty - Duration of single invocation | 15.75 μs | 21.62 μs | 1.37 | 0.01 | True | |||||
| SerializeToUtf8Bytes - Duration of single invocation | 14.17 μs | 19.97 μs | 1.41 | 0.01 | 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>*'Payloads
Histogram
System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeToString(Mode: SourceGen)
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 19.182116247989406 > 16.35012113368461.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -10.288253789664939 (T) = (0 -20167.754973446357) / Math.Sqrt((29272.14317245055 / (26)) + (1065543.1161711735 / (5))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (5) - 2, .025) and -0.30910243186054775 = (15405.788334517989 - 20167.754973446357) / 15405.788334517989 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.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeToWriter(Mode: SourceGen)
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 19.550577936903277 > 14.664143649060113.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -10.648577985677177 (T) = (0 -18641.599955140082) / Math.Sqrt((24067.176740149705 / (26)) + (1014469.8829393277 / (5))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (5) - 2, .025) and -0.34750583207858793 = (13834.151594271456 - 18641.599955140082) / 13834.151594271456 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.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeToStream(Mode: SourceGen)
Description of detection logic
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 17.652556220676267 > 14.98315909585101.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -10.126345492804079 (T) = (0 -19129.937528193204) / Math.Sqrt((32370.772868785312 / (26)) + (979754.04738514 / (4))) is less than -2.048407141790485 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (4) - 2, .025) and -0.3561983552615267 = (14105.560188873864 - 19129.937528193204) / 14105.560188873864 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.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeObjectProperty(Mode: SourceGen)
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 21.619742243070366 > 16.591321344607675.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -9.259115697601949 (T) = (0 -20773.97346530679) / Math.Sqrt((12666.09491182147 / (26)) + (1425060.9225477402 / (5))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (5) - 2, .025) and -0.312596145630949 = (15826.629945893215 - 20773.97346530679) / 15826.629945893215 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.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeToUtf8Bytes(Mode: SourceGen)
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 19.966344183683585 > 15.199500151539606.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -15.709036649443991 (T) = (0 -19749.780948836276) / Math.Sqrt((17553.14582078505 / (26)) + (582665.3036566754 / (5))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (5) - 2, .025) and -0.3742146768989775 = (14371.68535661633 - 19749.780948836276) / 14371.68535661633 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 | ubuntu 20.04 |
| Queue | AmpereUbuntu |
| Baseline | f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5 |
| Compare | 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1 |
| Diff | Diff |
| Configs | CompilationMode:tiered, RunKind:micro |
Regressions in System.Text.Tests.Perf_StringBuilder
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| Append_Char_Capacity - Duration of single invocation | 323.12 ns | 377.16 ns | 1.17 | 0.51 | 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Tests.Perf_StringBuilder*'Payloads
Histogram
System.Text.Tests.Perf_StringBuilder.Append_Char_Capacity(length: 100)
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 377.1578520097442 > 348.72499334203553.
IsChangePoint: Marked as a change because one of 4/18/2023 2:18:01 AM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -6.442945800389173 (T) = (0 -382.7906409897976) / Math.Sqrt((740.6136607779591 / (26)) + (366.9244097039511 / (5))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (5) - 2, .025) and -0.2046474481140624 = (317.76155055910846 - 382.7906409897976) / 317.76155055910846 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 | ubuntu 20.04 |
| Queue | AmpereUbuntu |
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|
| StartsWith - Duration of single invocation | 3.53 ns | 4.56 ns | 1.29 | 0.48 | False | |||||
| LastIndexOfValue - Duration of single invocation | 55.79 ns | 64.46 ns | 1.16 | 0.03 | False | |||||
| SequenceEqual - Duration of single invocation | 1.37 ns | 3.47 ns | 2.53 | 0.56 | False | |||||
| IndexOfAnyFourValues - Duration of single invocation | 861.66 ns | 948.89 ns | 1.10 | 0.00 | True | |||||
| IndexOfAnyFiveValues - Duration of single invocation | 64.03 ns | 68.58 ns | 1.07 | 0.01 | False | |||||
| IndexOfAnyFiveValues - Duration of single invocation | 1.03 μs | 1.12 μs | 1.08 | 0.00 | True | |||||
| IndexOfValue - Duration of single invocation | 52.18 ns | 64.97 ns | 1.25 | 0.01 | 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span<Int32>*'Payloads
Histogram
System.Memory.Span<Int32>.StartsWith(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 4.560887375744832 > 3.696201551774157.
IsChangePoint: Marked as a change because one of 4/6/2023 11:23:56 PM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -4.221468763482039 (T) = (0 -4.727017244687372) / Math.Sqrt((0.17558406019561365 / (26)) + (0.3746428883932072 / (5))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (5) - 2, .025) and -0.342704191840651 = (3.5205202109388836 - 4.727017244687372) / 3.5205202109388836 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>.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 64.45690272237432 > 58.34778767313174.
IsChangePoint: Marked as a change because one of 2/14/2023 2:39:38 AM, 3/3/2023 4:19:26 AM, 5/19/2023 4:22:12 AM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -22.089992817473583 (T) = (0 -63.91089495771416) / Math.Sqrt((0.39630033407011594 / (26)) + (0.6108208216581809 / (5))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (5) - 2, .025) and -0.14694968398192343 = (55.72249232052749 - 63.91089495771416) / 55.72249232052749 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.4688714184131357 > 1.4348340198124276.
IsChangePoint: Marked as a change because one of 3/3/2023 4:19:26 AM, 4/25/2023 1:02:54 PM, 5/18/2023 7:10:13 PM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -11.224152543003614 (T) = (0 -3.5649032166653662) / Math.Sqrt((0.6060901686250769 / (25)) + (0.048713908669272984 / (6))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (25) + (6) - 2, .025) and -1.306302321467106 = (1.5457224248023251 - 3.5649032166653662) / 1.5457224248023251 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: 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 948.8857794450217 > 904.6581311384815.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -1158.290814224712 (T) = (0 -949.0181532475524) / Math.Sqrt((0.06118775353511352 / (26)) + (0.016681584892678306 / (5))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (5) - 2, .025) and -0.1013986094383778 = (861.6482217382435 - 949.0181532475524) / 861.6482217382435 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>.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 68.57934430628251 > 66.98125715459136.
IsChangePoint: Marked as a change because one of 2/8/2023 4:01:29 AM, 2/14/2023 11:21:41 AM, 5/19/2023 4:22:12 AM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -13.76534525126649 (T) = (0 -69.28631949982945) / Math.Sqrt((0.4405145198886962 / (26)) + (0.7864656132386577 / (5))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (5) - 2, .025) and -0.0904285943310866 = (63.540446261254274 - 69.28631949982945) / 63.540446261254274 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.1187119536247336 > 1.083975938770228.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -316.50353227529615 (T) = (0 -1119.7073761972974) / Math.Sqrt((0.03903761461072299 / (26)) + (0.37242483337122834 / (5))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (5) - 2, .025) and -0.08450313196188441 = (1032.461173414712 - 1119.7073761972974) / 1032.461173414712 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 64.97404488739951 > 54.69344915358595.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -78.50913488796279 (T) = (0 -64.84435470257395) / Math.Sqrt((0.49125397020755984 / (26)) + (0.05060190531016373 / (5))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (5) - 2, .025) and -0.2598150742204143 = (51.47132783968335 - 64.84435470257395) / 51.47132783968335 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 | ubuntu 20.04 |
| Queue | AmpereUbuntu |
| Baseline | f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5 |
| Compare | 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1 |
| Diff | Diff |
| Configs | CompilationMode:tiered, RunKind:micro |
Regressions in System.Tests.Perf_Uri
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| EscapeDataString - Duration of single invocation | 15.09 μs | 17.07 μs | 1.13 | 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Uri*'Payloads
Histogram
System.Tests.Perf_Uri.EscapeDataString(input: "a{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{üa{ü")
Description of detection logic
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 17.065680325081612 > 15.875317894125358.
IsChangePoint: Marked as a change because one of 2/17/2023 12:28:21 PM, 5/19/2023 4:22:12 AM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -75.06177221448189 (T) = (0 -17069.119088234394) / Math.Sqrt((16400.84094224484 / (26)) + (300.3084509642567 / (5))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (5) - 2, .025) and -0.13069168395963107 = (15096.174607439503 - 17069.119088234394) / 15096.174607439503 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 | ubuntu 20.04 |
| Queue | AmpereUbuntu |
| Baseline | f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5 |
| Compare | 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1 |
| Diff | Diff |
| Configs | CompilationMode:tiered, RunKind:micro |
Regressions in IfStatements.IfStatements
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| AndOr - Duration of single invocation | 75.31 μs | 87.31 μs | 1.16 | 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'IfStatements.IfStatements*'Payloads
Histogram
IfStatements.IfStatements.AndOr
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 87.30532204376163 > 78.5326006242524.
IsChangePoint: Marked as a change because one of 3/9/2023 9:18:02 PM, 5/3/2023 7:05:50 AM, 5/19/2023 4:22:12 AM, 5/21/2023 3:58:09 AM falls between 5/12/2023 10:43:40 AM and 5/21/2023 3:58:09 AM.
IsRegressionStdDev: Marked as regression because -206.52786532069106 (T) = (0 -87327.34567670923) / Math.Sqrt((86691.61091687759 / (26)) + (641.4820160698725 / (5))) is less than -2.0452296421282288 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (5) - 2, .025) and -0.16166230816120516 = (75174.46771165336 - 87327.34567670923) / 75174.46771165336 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

















