Closed
Description
Run Information
Architecture | x64 |
---|---|
OS | alpine 3.15 |
Baseline | 6b8d056a665fa20d321ea1d49a93a37a83960663 |
Compare | b3c3921a888fcf162d6e270178a0e3ea9a40a022 |
Diff | Diff |
Regressions in System.Collections.Sort<Int32>
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
List - Duration of single invocation | 2.59 μs | 3.76 μs | 1.45 | 0.43 | False | |||||
Array - Duration of single invocation | 2.39 μs | 4.86 μs | 2.03 | 0.38 | False | |||||
LinqOrderByExtension - Duration of single invocation | 36.96 μs | 39.35 μs | 1.06 | 0.06 | False | |||||
LinqQuery - Duration of single invocation | 36.90 μs | 39.54 μs | 1.07 | 0.06 | False | |||||
Array_Comparison - Duration of single invocation | 20.29 μs | 22.36 μs | 1.10 | 0.06 | False |
Repro
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.Sort<Int32>*'
Payloads
Histogram
System.Collections.Sort<Int32>.List(Size: 512)
Description of detection logic
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.7597079900000003 > 2.8724378725.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/5/2022 10:15:28 AM falls between 6/26/2022 6:11:06 PM and 7/5/2022 10:15:28 AM.
IsRegressionStdDev: Marked as regression because -12.353000312651611 (T) = (0 -4040.00108875) / Math.Sqrt((7881.1649251038625 / (51)) + (101999.74419176362 / (8))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (51) + (8) - 2, .025) and -0.5322040562185509 = (2636.725227526575 - 4040.00108875) / 2636.725227526575 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.
```#### System.Collections.Sort<Int32>.Array(Size: 512)
```log
Description of detection logic
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.860769107692309 > 2.8123633970833337.
IsChangePoint: Marked as a change because one of 7/3/2022 4:26:07 AM, 7/5/2022 10:15:28 AM falls between 6/26/2022 6:11:06 PM and 7/5/2022 10:15:28 AM.
IsRegressionStdDev: Marked as regression because -6.608538501490605 (T) = (0 -4031.954485538462) / Math.Sqrt((69168.05626492103 / (54)) + (218758.58845493465 / (5))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (54) + (5) - 2, .025) and -0.5333167640368692 = (2629.5639492802884 - 4031.954485538462) / 2629.5639492802884 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.
```#### System.Collections.Sort<Int32>.LinqOrderByExtension(Size: 512)
```log
Description of detection logic
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 39.349956216666676 > 38.85571051330769.
IsChangePoint: Marked as a change because one of 5/12/2022 1:53:44 AM, 5/24/2022 3:42:52 PM, 6/23/2022 8:35:19 AM, 7/2/2022 7:35:06 PM, 7/5/2022 10:15:28 AM falls between 6/26/2022 6:11:06 PM and 7/5/2022 10:15:28 AM.
IsRegressionStdDev: Marked as regression because -32.85484823732051 (T) = (0 -39603.86021510531) / Math.Sqrt((141822.95356557955 / (51)) + (18959.126332089763 / (8))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (51) + (8) - 2, .025) and -0.06330752784784205 = (37245.91350845075 - 39603.86021510531) / 37245.91350845075 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.
```#### System.Collections.Sort<Int32>.LinqQuery(Size: 512)
```log
Description of detection logic
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 39.538354357142865 > 39.12203206275.
IsChangePoint: Marked as a change because one of 5/11/2022 3:41:15 PM, 5/24/2022 3:42:52 PM, 6/23/2022 8:25:58 PM, 7/2/2022 7:35:06 PM, 7/5/2022 10:15:28 AM falls between 6/26/2022 6:11:06 PM and 7/5/2022 10:15:28 AM.
IsRegressionStdDev: Marked as regression because -31.338449110736804 (T) = (0 -39603.11588914836) / Math.Sqrt((166084.93005790107 / (51)) + (18921.8656819812 / (8))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (51) + (8) - 2, .025) and -0.06307384250315005 = (37253.400757088995 - 39603.11588914836) / 37253.400757088995 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.
```#### System.Collections.Sort<Int32>.Array_Comparison(Size: 512)
```log
Description of detection logic
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 22.35703098461539 > 21.753388003999998.
IsChangePoint: Marked as a change because one of 5/23/2022 3:43:39 PM, 5/30/2022 12:57:05 PM, 7/2/2022 7:35:06 PM, 7/5/2022 10:15:28 AM falls between 6/26/2022 6:11:06 PM and 7/5/2022 10:15:28 AM.
IsRegressionStdDev: Marked as regression because -18.737346825567638 (T) = (0 -22215.35563908425) / Math.Sqrt((147699.2479352119 / (51)) + (7500.881236534057 / (8))) is less than -2.0024654592901125 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (51) + (8) - 2, .025) and -0.055100593057762756 = (21055.20154689937 - 22215.35563908425) / 21055.20154689937 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.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository