-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
Run Information
| Name | Value |
|---|---|
| Architecture | x64 |
| OS | ubuntu 18.04 |
| Queue | TigerUbuntu |
| Baseline | 7bd46666716a0c7311b0e28594238fe4fa2d3b60 |
| Compare | fd3eff25dbfc51b50ed8b4a47488181123206ccf |
| Diff | Diff |
| Configs | AOT:true, CompilationMode:wasm, RunKind:micro |
Regressions in System.Collections.Sort<BigStruct>
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| LinqQuery - Duration of single invocation | 1.38 ms | 1.72 ms | 1.24 | 0.07 | False | |||||
| Array_ComparerStruct - Duration of single invocation | 348.25 μs | 442.30 μs | 1.27 | 0.05 | False | |||||
| Array - Duration of single invocation | 173.44 μs | 376.96 μs | 2.17 | 0.07 | False | |||||
| Array_ComparerClass - Duration of single invocation | 352.20 μs | 440.60 μs | 1.25 | 0.05 | False | |||||
| List - Duration of single invocation | 179.89 μs | 363.54 μs | 2.02 | 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.Sort<BigStruct>*'Payloads
Histogram
System.Collections.Sort<BigStruct>.LinqQuery(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.71860798008 > 1.4389666334860003.
IsChangePoint: Marked as a change because one of 3/10/2023 8:06:53 PM, 5/7/2023 1:22:31 AM, 5/8/2023 3:52:55 PM falls between 4/29/2023 8:32:21 PM and 5/8/2023 3:52:55 PM.
IsRegressionStdDev: Marked as regression because -8.446439756939993 (T) = (0 -1636411.52332) / Math.Sqrt((633160404.1716464 / (39)) + (3521776249.5451565 / (4))) is less than -2.019540970439573 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (39) + (4) - 2, .025) and -0.1828173114929803 = (1383486.2809494073 - 1636411.52332) / 1383486.2809494073 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.Collections.Sort<BigStruct>.Array_ComparerStruct(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 442.30223076923085 > 358.592850035.
IsChangePoint: Marked as a change because one of 3/10/2023 8:23:08 AM, 3/22/2023 10:50:22 PM, 3/23/2023 11:51:53 PM, 5/7/2023 1:22:31 AM, 5/8/2023 3:52:55 PM falls between 4/29/2023 8:32:21 PM and 5/8/2023 3:52:55 PM.
IsRegressionStdDev: Marked as regression because -88.8058337396646 (T) = (0 -442655.30840611726) / Math.Sqrt((23987886.15826229 / (39)) + (2440087.5623152074 / (4))) is less than -2.019540970439573 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (39) + (4) - 2, .025) and -0.2854381741240359 = (344361.41489867104 - 442655.30840611726) / 344361.41489867104 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.Collections.Sort<BigStruct>.Array(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 376.96469229230775 > 178.8567813225.
IsChangePoint: Marked as a change because one of 3/9/2023 8:37:21 PM, 3/22/2023 10:50:22 PM, 3/23/2023 11:51:53 PM, 5/7/2023 1:22:31 AM, 5/8/2023 3:52:55 PM falls between 4/29/2023 8:32:21 PM and 5/8/2023 3:52:55 PM.
IsRegressionStdDev: Marked as regression because -55.293226270702405 (T) = (0 -367853.75879093405) / Math.Sqrt((4251513.536633528 / (39)) + (49778531.106877215 / (4))) is less than -2.019540970439573 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (39) + (4) - 2, .025) and -1.139385672003102 = (171943.63952457128 - 367853.75879093405) / 171943.63952457128 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.Collections.Sort<BigStruct>.Array_ComparerClass(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 440.5960153384615 > 355.53327077800003.
IsChangePoint: Marked as a change because one of 2/22/2023 4:57:34 AM, 3/22/2023 10:50:22 PM, 3/23/2023 11:51:53 PM, 5/7/2023 1:22:31 AM, 5/8/2023 3:52:55 PM falls between 4/29/2023 8:32:21 PM and 5/8/2023 3:52:55 PM.
IsRegressionStdDev: Marked as regression because -47.503105461807266 (T) = (0 -439300.1445041392) / Math.Sqrt((21007421.3353868 / (39)) + (14649320.84700661 / (4))) is less than -2.019540970439573 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (39) + (4) - 2, .025) and -0.28474238688311715 = (341936.36715755507 - 439300.1445041392) / 341936.36715755507 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.Collections.Sort<BigStruct>.List(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 363.5399857 > 180.8692274775.
IsChangePoint: Marked as a change because one of 3/9/2023 8:37:21 PM, 3/22/2023 10:50:22 PM, 3/23/2023 11:51:53 PM, 5/7/2023 1:22:31 AM, 5/8/2023 3:52:55 PM falls between 4/29/2023 8:32:21 PM and 5/8/2023 3:52:55 PM.
IsRegressionStdDev: Marked as regression because -255.7512656946853 (T) = (0 -362816.4500068681) / Math.Sqrt((5035757.9351531705 / (39)) + (1707834.2258695203 / (4))) is less than -2.019540970439573 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (39) + (4) - 2, .025) and -1.108164171042441 = (172100.662268377 - 362816.4500068681) / 172100.662268377 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 | x64 |
| OS | ubuntu 18.04 |
| Queue | TigerUbuntu |
| Baseline | 7bd46666716a0c7311b0e28594238fe4fa2d3b60 |
| Compare | fd3eff25dbfc51b50ed8b4a47488181123206ccf |
| Diff | Diff |
| Configs | AOT:true, CompilationMode:wasm, RunKind:micro |
Regressions in System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| DeserializeFromString - Duration of single invocation | 8.13 μs | 9.31 μs | 1.14 | 0.14 | False | |||||
| DeserializeFromUtf8Bytes - Duration of single invocation | 7.52 μs | 8.74 μs | 1.16 | 0.18 | 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.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>*'Payloads
Histogram
System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromString(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 9.312747724339772 > 8.883982758180547.
IsChangePoint: Marked as a change because one of 3/22/2023 10:50:22 PM, 3/23/2023 11:51:53 PM, 5/7/2023 1:22:31 AM, 5/8/2023 3:52:55 PM falls between 4/29/2023 8:32:21 PM and 5/8/2023 3:52:55 PM.
IsRegressionStdDev: Marked as regression because -18.053116680646443 (T) = (0 -9230.47029452371) / Math.Sqrt((61529.09253078943 / (39)) + (5029.271096548371 / (4))) is less than -2.019540970439573 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (39) + (4) - 2, .025) and -0.11624175125549507 = (8269.239422501192 - 9230.47029452371) / 8269.239422501192 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.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromUtf8Bytes(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 8.743849344649764 > 8.164955687867518.
IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 3/10/2023 8:06:53 PM, 3/22/2023 10:50:22 PM, 3/23/2023 11:51:53 PM, 5/7/2023 1:22:31 AM, 5/8/2023 3:52:55 PM falls between 4/29/2023 8:32:21 PM and 5/8/2023 3:52:55 PM.
IsRegressionStdDev: Marked as regression because -16.609198490264887 (T) = (0 -8745.964300842425) / Math.Sqrt((70564.51642755573 / (38)) + (7885.569145077108 / (4))) is less than -2.0210753903043583 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (38) + (4) - 2, .025) and -0.13314764077089547 = (7718.291938455988 - 8745.964300842425) / 7718.291938455988 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 | x64 |
| OS | ubuntu 18.04 |
| Queue | TigerUbuntu |
| Baseline | 7bd46666716a0c7311b0e28594238fe4fa2d3b60 |
| Compare | fd3eff25dbfc51b50ed8b4a47488181123206ccf |
| Diff | Diff |
| Configs | AOT:true, CompilationMode:wasm, RunKind:micro |
Regressions in System.Collections.Sort<IntStruct>
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| Array_ComparerStruct - Duration of single invocation | 313.28 μs | 403.58 μs | 1.29 | 0.05 | False | |||||
| Array_ComparerClass - Duration of single invocation | 305.94 μs | 394.73 μs | 1.29 | 0.08 | 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.Sort<IntStruct>*'Payloads
Histogram
System.Collections.Sort<IntStruct>.Array_ComparerStruct(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 403.5797714428571 > 329.0812678696154.
IsChangePoint: Marked as a change because one of 2/22/2023 4:57:34 AM, 3/22/2023 10:50:22 PM, 3/23/2023 11:51:53 PM, 5/7/2023 1:22:31 AM, 5/8/2023 3:52:55 PM falls between 4/29/2023 8:32:21 PM and 5/8/2023 3:52:55 PM.
IsRegressionStdDev: Marked as regression because -37.042624430129884 (T) = (0 -401870.80672225275) / Math.Sqrt((16746854.178412413 / (39)) + (21502481.3686449 / (4))) is less than -2.019540970439573 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (39) + (4) - 2, .025) and -0.28548595098507284 = (312621.7026442783 - 401870.80672225275) / 312621.7026442783 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.Collections.Sort<IntStruct>.Array_ComparerClass(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 394.7254285428571 > 324.8351723313462.
IsChangePoint: Marked as a change because one of 2/24/2023 12:21:41 AM, 3/22/2023 10:50:22 PM, 3/23/2023 11:51:53 PM, 5/7/2023 1:22:31 AM, 5/8/2023 3:52:55 PM falls between 4/29/2023 8:32:21 PM and 5/8/2023 3:52:55 PM.
IsRegressionStdDev: Marked as regression because -66.13702302385146 (T) = (0 -395602.0831750091) / Math.Sqrt((42983967.49887257 / (39)) + (2170767.5092683625 / (4))) is less than -2.019540970439573 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (39) + (4) - 2, .025) and -0.27293143538120507 = (310780.3548401946 - 395602.0831750091) / 310780.3548401946 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








