-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
Run Information
Architecture | x64 |
---|---|
OS | ubuntu 18.04 |
Baseline | bfa4812aec806f09f1e2927939ba98118e5e5bf7 |
Compare | 2aebbf75167b3aa21cae23e6fd702688dd724663 |
Diff | Diff |
Improvements in System.IO.Tests.StreamReaderReadLineTests
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
ReadLineAsync - Duration of single invocation | 29.47 μs | 6.87 μs | 0.23 | 0.03 | False | |||||
ReadLine - Duration of single invocation | 15.26 μs | 5.12 μs | 0.34 | 0.12 | False | |||||
ReadLineAsync - Duration of single invocation | 35.49 μs | 16.32 μs | 0.46 | 0.02 | False | |||||
ReadLine - Duration of single invocation | 15.33 μs | 4.63 μs | 0.30 | 0.11 | False | |||||
ReadLine - Duration of single invocation | 14.70 μs | 4.63 μs | 0.32 | 0.04 | False | |||||
ReadLineAsync - Duration of single invocation | 29.40 μs | 6.99 μs | 0.24 | 0.02 | False | |||||
ReadLineAsync - Duration of single invocation | 31.07 μs | 6.44 μs | 0.21 | 0.03 | False | |||||
ReadLineAsync - Duration of single invocation | 60.51 μs | 44.92 μs | 0.74 | 0.06 | False |
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.IO.Tests.StreamReaderReadLineTests*'
Related Issues
Regressions
Improvements
Payloads
Histogram
Edge Detector Info
System.IO.Tests.StreamReaderReadLineTests.ReadLineAsync(LineLengthRange: [ 129, 1024])
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 6.874550958423327 < 27.918365875973983.
IsChangePoint: Marked as a change because one of 11/7/2022 4:10:19 PM, 11/14/2022 7:25:10 PM falls between 11/5/2022 10:22:58 PM and 11/14/2022 7:25:10 PM.
IsImprovementStdDev: Marked as improvement because 227.88651801629885 (T) = (0 -6699.912147240191) / Math.Sqrt((2260895.8030900867 / (299)) + (8050.2893158167735 / (37))) is greater than 1.9670919629190173 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (37) - 2, .975) and 0.7499969527332269 = (26799.321930227732 - 6699.912147240191) / 26799.321930227732 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.IO.Tests.StreamReaderReadLineTests.ReadLine(LineLengthRange: [1025, 2048])
```log
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 5.124730586509474 < 14.616434894168668.
IsChangePoint: Marked as a change because one of 11/7/2022 4:10:19 PM, 11/14/2022 7:25:10 PM falls between 11/5/2022 10:22:58 PM and 11/14/2022 7:25:10 PM.
IsImprovementStdDev: Marked as improvement because 249.2849466429594 (T) = (0 -5070.112921859403) / Math.Sqrt((538842.66295189 / (299)) + (3804.402003852631 / (37))) is greater than 1.9670919629190173 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (37) - 2, .975) and 0.6821324981460792 = (15950.397232458905 - 5070.112921859403) / 15950.397232458905 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.IO.Tests.StreamReaderReadLineTests.ReadLineAsync(LineLengthRange: [ 33, 128])
```log
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 16.320545269684356 < 33.68712119453194.
IsChangePoint: Marked as a change because one of 11/7/2022 4:10:19 PM, 11/14/2022 7:25:10 PM falls between 11/5/2022 10:22:58 PM and 11/14/2022 7:25:10 PM.
IsImprovementStdDev: Marked as improvement because 187.16368667963812 (T) = (0 -16479.910084107487) / Math.Sqrt((2139572.30188433 / (299)) + (35326.84562351337 / (37))) is greater than 1.9670919629190173 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (37) - 2, .975) and 0.5056362787246094 = (33335.59760734784 - 16479.910084107487) / 33335.59760734784 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.IO.Tests.StreamReaderReadLineTests.ReadLine(LineLengthRange: [ 0, 1024])
```log
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 4.6296370806196965 < 14.80713849102035.
IsChangePoint: Marked as a change because one of 11/7/2022 4:10:19 PM, 11/14/2022 7:25:10 PM falls between 11/5/2022 10:22:58 PM and 11/14/2022 7:25:10 PM.
IsImprovementStdDev: Marked as improvement because 292.5307827540999 (T) = (0 -4581.981166649603) / Math.Sqrt((449303.3952347499 / (299)) + (1838.2163624397913 / (37))) is greater than 1.9670919629190173 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (37) - 2, .975) and 0.7155413911673281 = (16107.725427796344 - 4581.981166649603) / 16107.725427796344 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.IO.Tests.StreamReaderReadLineTests.ReadLine(LineLengthRange: [ 129, 1024])
```log
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 4.630271551268499 < 13.986587560041645.
IsChangePoint: Marked as a change because one of 11/7/2022 4:10:19 PM, 11/14/2022 7:25:10 PM falls between 11/5/2022 10:22:58 PM and 11/14/2022 7:25:10 PM.
IsImprovementStdDev: Marked as improvement because 308.3718920354879 (T) = (0 -4663.899092846423) / Math.Sqrt((326353.36504627287 / (299)) + (2406.3038708271465 / (37))) is greater than 1.9670919629190173 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (37) - 2, .975) and 0.6921700101351221 = (15150.892526402782 - 4663.899092846423) / 15150.892526402782 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.IO.Tests.StreamReaderReadLineTests.ReadLineAsync(LineLengthRange: [ 0, 1024])
```log
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 6.992651506496417 < 27.739922165990237.
IsChangePoint: Marked as a change because one of 11/7/2022 4:10:19 PM, 11/14/2022 7:25:10 PM falls between 11/5/2022 10:22:58 PM and 11/14/2022 7:25:10 PM.
IsImprovementStdDev: Marked as improvement because 229.89613184765537 (T) = (0 -6941.985284833437) / Math.Sqrt((2113234.3696128586 / (299)) + (10896.040922287733 / (36))) is greater than 1.9671134448822736 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (36) - 2, .975) and 0.7397932359533165 = (26678.727243185655 - 6941.985284833437) / 26678.727243185655 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.IO.Tests.StreamReaderReadLineTests.ReadLineAsync(LineLengthRange: [1025, 2048])
```log
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 6.443018510677468 < 29.597438100376028.
IsChangePoint: Marked as a change because one of 11/7/2022 4:10:19 PM, 11/14/2022 7:25:10 PM falls between 11/5/2022 10:22:58 PM and 11/14/2022 7:25:10 PM.
IsImprovementStdDev: Marked as improvement because 221.64269337870857 (T) = (0 -6353.6607010606185) / Math.Sqrt((2886041.7883618395 / (299)) + (6699.820560590223 / (37))) is greater than 1.9670919629190173 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (37) - 2, .975) and 0.7757466743136491 = (28332.51494315444 - 6353.6607010606185) / 28332.51494315444 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.IO.Tests.StreamReaderReadLineTests.ReadLineAsync(LineLengthRange: [ 9, 32])
```log
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 44.919691933606735 < 57.38740449674722.
IsChangePoint: Marked as a change because one of 11/7/2022 4:10:19 PM, 11/14/2022 7:25:10 PM falls between 11/5/2022 10:22:58 PM and 11/14/2022 7:25:10 PM.
IsImprovementStdDev: Marked as improvement because 71.24219508728125 (T) = (0 -45121.93543981621) / Math.Sqrt((3020148.9385007257 / (299)) + (780872.8028733424 / (36))) is greater than 1.9671134448822736 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (36) - 2, .975) and 0.21967564462042644 = (57824.58938868764 - 45121.93543981621) / 57824.58938868764 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Architecture | x64 |
---|---|
OS | ubuntu 18.04 |
Baseline | bfa4812aec806f09f1e2927939ba98118e5e5bf7 |
Compare | 2aebbf75167b3aa21cae23e6fd702688dd724663 |
Diff | Diff |
Improvements in System.IO.Tests.Perf_File
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
ReadAllLines - Duration of single invocation | 12.07 μs | 9.15 μs | 0.76 | 0.06 | False | |||||
ReadAllLinesAsync - Duration of single invocation | 30.77 μs | 25.40 μs | 0.83 | 0.01 | False |
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.IO.Tests.Perf_File*'
Related Issues
Regressions
- [Perf] Alpine/x64: 22 Regressions on 11/7/2022 8:57:30 PM
- [Perf] Linux/x64: 22 Regressions on 11/7/2022 8:57:30 PM
Improvements
Payloads
Histogram
Edge Detector Info
System.IO.Tests.Perf_File.ReadAllLines
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 9.145109336989346 < 11.337753674601991.
IsChangePoint: Marked as a change because one of 11/7/2022 4:10:19 PM, 11/14/2022 7:25:10 PM falls between 11/5/2022 10:22:58 PM and 11/14/2022 7:25:10 PM.
IsImprovementStdDev: Marked as improvement because 115.81995816434161 (T) = (0 -8801.799444437323) / Math.Sqrt((98324.08821924812 / (299)) + (19639.93416485217 / (38))) is greater than 1.967070609662329 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (38) - 2, .975) and 0.2767576832932891 = (12169.917662611862 - 8801.799444437323) / 12169.917662611862 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.IO.Tests.Perf_File.ReadAllLinesAsync
```log
Description of detection logic
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 25.404320002679533 < 28.972147481506823.
IsChangePoint: Marked as a change because one of 11/7/2022 4:10:19 PM, 11/14/2022 7:25:10 PM falls between 11/5/2022 10:22:58 PM and 11/14/2022 7:25:10 PM.
IsImprovementStdDev: Marked as improvement because 90.83668393695568 (T) = (0 -25397.072948058787) / Math.Sqrt((402758.29323083314 / (299)) + (52958.55060550778 / (38))) is greater than 1.967070609662329 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (38) - 2, .975) and 0.15771241563556115 = (30152.495916489785 - 25397.072948058787) / 30152.495916489785 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository