Closed
Description
Run Information
Architecture | arm64 |
---|---|
OS | ubuntu 20.04 |
Baseline | a5acb8847d4bf3de3d92d00790bd0ba50da534a9 |
Compare | 03c21467c97e75103d429a0e67504e402f6da17d |
Diff | Diff |
Improvements in System.IO.Tests.Perf_FileStream
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
ReadAsync - Duration of single invocation | 60.12 ms | 43.20 ms | 0.72 | 0.65 | False | |||||
Read - Duration of single invocation | 6.38 μs | 5.22 μs | 0.82 | 0.63 | False | |||||
FlushAsync - Duration of single invocation | 5.44 ms | 2.84 ms | 0.52 | 0.82 | False | |||||
ReadAsync - Duration of single invocation | 669.78 μs | 449.36 μs | 0.67 | 0.68 | False | |||||
AppendAsync - Duration of single invocation | 2.00 ms | 1.53 ms | 0.76 | 0.71 | False | |||||
WriteAsync_NoBuffering_PreallocationSize - Duration of single invocation | 100.97 ms | 72.31 ms | 0.72 | 0.59 | False | |||||
ReadAsync - Duration of single invocation | 543.49 μs | 435.89 μs | 0.80 | 0.63 | False | |||||
WriteAsync - Duration of single invocation | 242.60 ms | 192.88 ms | 0.80 | 0.73 | False |
Repro
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.IO.Tests.Perf_FileStream*'
Payloads
Histogram
System.IO.Tests.Perf_FileStream.ReadAsync(fileSize: 104857600, userBufferSize: 4096, options: Asynchronous)
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 43.196755616666664 < 50.83754454416666.
IsChangePoint: Marked as a change because one of 8/16/2022 11:59:31 AM, 8/23/2022 6:13:58 PM, 9/1/2022 1:51:24 AM falls between 8/23/2022 7:19:33 AM and 9/1/2022 1:51:24 AM.
IsImprovementStdDev: Marked as improvement because 10.123172868625414 (T) = (0 -45844862.196242765) / Math.Sqrt((24847154795221.73 / (299)) + (6892591051949.452 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.10765336498203057 = (51375620.63571806 - 45844862.196242765) / 51375620.63571806 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.IO.Tests.Perf_FileStream.Read(fileSize: 1024, userBufferSize: 1024, options: Asynchronous)
```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.217150252399868 < 6.143806050752315.
IsChangePoint: Marked as a change because one of 6/23/2022 3:07:42 AM, 8/23/2022 11:36:32 PM, 9/1/2022 1:51:24 AM falls between 8/23/2022 7:19:33 AM and 9/1/2022 1:51:24 AM.
IsImprovementStdDev: Marked as improvement because 24.551095925294177 (T) = (0 -5070.950129430851) / Math.Sqrt((486464.2879509298 / (299)) + (21792.989935596255 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.18870323989886303 = (6250.425712039947 - 5070.950129430851) / 6250.425712039947 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.IO.Tests.Perf_FileStream.FlushAsync(fileSize: 1024, options: Asynchronous)
```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 2.83700180909091 < 3.3571706720342416.
IsChangePoint: Marked as a change because one of 8/23/2022 11:36:32 PM, 9/1/2022 1:51:24 AM falls between 8/23/2022 7:19:33 AM and 9/1/2022 1:51:24 AM.
IsImprovementStdDev: Marked as improvement because 7.099910556417677 (T) = (0 -3040167.767301358) / Math.Sqrt((677386371997.606 / (299)) + (377865038223.86865 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.2169463543574151 = (3882451.456830334 - 3040167.767301358) / 3882451.456830334 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.IO.Tests.Perf_FileStream.ReadAsync(fileSize: 1048576, userBufferSize: 4096, options: None)
```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 449.3622293981482 < 480.1767716127982.
IsChangePoint: Marked as a change because one of 8/23/2022 11:36:32 PM, 9/1/2022 1:51:24 AM falls between 8/23/2022 7:19:33 AM and 9/1/2022 1:51:24 AM.
IsImprovementStdDev: Marked as improvement because 11.426381549261132 (T) = (0 -465268.93025255116) / Math.Sqrt((2733397977.733175 / (299)) + (449056593.46384394 / (31))) is greater than 1.9672228266464409 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (31) - 2, .975) and 0.10664436187532633 = (520810.425766429 - 465268.93025255116) / 520810.425766429 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.IO.Tests.Perf_FileStream.AppendAsync(fileSize: 1048576, userBufferSize: 4096, options: DeleteOnClose, Asynchronous)
```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 1.526171091720779 < 1.905750918020833.
IsChangePoint: Marked as a change because one of 8/23/2022 11:36:32 PM, 9/1/2022 1:51:24 AM falls between 8/23/2022 7:19:33 AM and 9/1/2022 1:51:24 AM.
IsImprovementStdDev: Marked as improvement because 7.383187624672435 (T) = (0 -1346285.2626222004) / Math.Sqrt((140064461702.13016 / (299)) + (51916442230.444405 / (32))) is greater than 1.9672006833568965 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (32) - 2, .975) and 0.20048909560392464 = (1683886.054861429 - 1346285.2626222004) / 1683886.054861429 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.IO.Tests.Perf_FileStream.WriteAsync_NoBuffering_PreallocationSize(fileSize: 104857600, userBufferSize: 16384, options: Asynchronous)
```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 72.3130055 < 83.18705678910257.
IsChangePoint: Marked as a change because one of 8/10/2022 5:14:51 PM, 8/23/2022 2:09:06 PM, 9/1/2022 1:51:24 AM falls between 8/23/2022 7:19:33 AM and 9/1/2022 1:51:24 AM.
IsImprovementStdDev: Marked as improvement because 11.001864196065927 (T) = (0 -77257435.89805406) / Math.Sqrt((75085572803564.89 / (299)) + (18485561603797.008 / (34))) is greater than 1.9671567996108528 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (34) - 2, .975) and 0.11265526124188752 = (87065863.49537618 - 77257435.89805406) / 87065863.49537618 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.IO.Tests.Perf_FileStream.ReadAsync(fileSize: 1048576, userBufferSize: 4096, options: Asynchronous)
```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 435.8884905092592 < 542.7375185198985.
IsChangePoint: Marked as a change because one of 7/8/2022 4:49:43 AM, 8/24/2022 2:39:26 AM, 9/1/2022 1:51:24 AM falls between 8/23/2022 7:19:33 AM and 9/1/2022 1:51:24 AM.
IsImprovementStdDev: Marked as improvement because 10.423866239382034 (T) = (0 -469048.21580135176) / Math.Sqrt((3298917144.086027 / (299)) + (510430325.7512857 / (31))) is greater than 1.9672228266464409 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (31) - 2, .975) and 0.10437432044054433 = (523710.10178277746 - 469048.21580135176) / 523710.10178277746 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.IO.Tests.Perf_FileStream.WriteAsync(fileSize: 104857600, userBufferSize: 4096, options: None)
```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 192.87957457894737 < 202.76220421511903.
IsChangePoint: Marked as a change because one of 8/12/2022 10:15:56 PM, 8/24/2022 2:39:26 AM, 9/1/2022 1:51:24 AM falls between 8/23/2022 7:19:33 AM and 9/1/2022 1:51:24 AM.
IsImprovementStdDev: Marked as improvement because 9.916759118891438 (T) = (0 -179092155.35018745) / Math.Sqrt((1420726872776433.5 / (299)) + (270726059957892.1 / (31))) is greater than 1.9672228266464409 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (31) - 2, .975) and 0.16897673837303215 = (215507993.12111056 - 179092155.35018745) / 215507993.12111056 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment