Open
Description
Run Information
Architecture | arm64 |
---|---|
OS | Windows 10.0.19041 |
Baseline | 1b788f4dc3e3a8829488e52c032ad6a70671e070 |
Compare | 765e3dbb2d3aa2b114d8c07e44ae2ca926df16b4 |
Diff | Diff |
Regressions in System.Text.Json.Tests.Perf_Reader
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
ReadSingleSpanSequenceEmptyLoop - Duration of single invocation | 3.93 μs | 4.24 μs | 1.08 | 0.00 | False | |||||
ReadMultiSpanSequenceEmptyLoop - Duration of single invocation | 4.11 μs | 4.41 μs | 1.07 | 0.00 | False | |||||
ReadSpanEmptyLoop - Duration of single invocation | 3.90 μs | 4.22 μs | 1.08 | 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.Json.Tests.Perf_Reader*'
Payloads
Histogram
System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: DeepTree)
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.235299851950706 > 4.1509492255541565.
IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 2/16/2023 5:39:51 AM falls between 2/7/2023 3:56:56 PM and 2/16/2023 5:39:51 AM.
IsRegressionStdDev: Marked as regression because -26.856648834021872 (T) = (0 -4223.681749216879) / Math.Sqrt((1071.0070308379763 / (11)) + (148.11735022236041 / (27))) is less than -2.028094000977961 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (27) - 2, .025) and -0.06893067644137456 = (3951.314937726485 - 4223.681749216879) / 3951.314937726485 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.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: DeepTree)
```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.409509025611945 > 4.320418104742859.
IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 2/16/2023 5:39:51 AM falls between 2/7/2023 3:56:56 PM and 2/16/2023 5:39:51 AM.
IsRegressionStdDev: Marked as regression because -42.38562125143263 (T) = (0 -4395.139596883061) / Math.Sqrt((447.0442024039844 / (11)) + (92.61759420647111 / (27))) is less than -2.028094000977961 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (27) - 2, .025) and -0.06839973929773803 = (4113.759518297897 - 4395.139596883061) / 4113.759518297897 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.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: DeepTree)
```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.217620956873316 > 4.08595541098977.
IsChangePoint: Marked as a change because one of 11/22/2022 10:19:34 PM, 2/8/2023 10:48:55 AM, 2/16/2023 5:39:51 AM falls between 2/7/2023 3:56:56 PM and 2/16/2023 5:39:51 AM.
IsRegressionStdDev: Marked as regression because -74.5406065169054 (T) = (0 -4203.811674707441) / Math.Sqrt((171.47025626089263 / (11)) + (61.31999076555697 / (27))) is less than -2.028094000977961 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (11) + (27) - 2, .025) and -0.08100458786733382 = (3888.8009559709226 - 4203.811674707441) / 3888.8009559709226 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