-
Notifications
You must be signed in to change notification settings - Fork 3
Closed
Description
Run Information
| Architecture | arm64 |
|---|---|
| OS | Windows 10.0.19041 |
| Baseline | 1b788f4dc3e3a8829488e52c032ad6a70671e070 |
| Compare | 765e3dbb2d3aa2b114d8c07e44ae2ca926df16b4 |
| Diff | Diff |
Improvements in System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| DeserializeFromUtf8Bytes - Duration of single invocation | 23.94 μs | 22.03 μs | 0.92 | 0.14 | False | |||||
| DeserializeFromStream - Duration of single invocation | 27.25 μs | 24.17 μs | 0.89 | 0.12 | False | |||||
| DeserializeFromReader - Duration of single invocation | 33.13 μs | 28.26 μs | 0.85 | 0.06 | False | |||||
| DeserializeFromReader - Duration of single invocation | 32.37 μs | 28.26 μs | 0.87 | 0.02 | 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.Serialization.Tests.ReadJson<Dictionary<String, String>>*'Details
Payloads
Histogram
System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromUtf8Bytes(Mode: Reflection)
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 22.03469680851064 < 22.645177404192864.
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.
IsImprovementStdDev: Marked as improvement because 15.697911845680563 (T) = (0 -22421.478670788438) / Math.Sqrt((328802.8404813961 / (254)) + (317671.6131281216 / (27))) is greater than 1.9685031265482282 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (254) + (27) - 2, .975) and 0.07408373091771066 = (24215.449516845852 - 22421.478670788438) / 24215.449516845852 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromStream(Mode: Reflection)
```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 24.174234930448222 < 24.566554033879473.
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.
IsImprovementStdDev: Marked as improvement because 30.083766090128915 (T) = (0 -24222.036160498057) / Math.Sqrt((450350.0727800887 / (255)) + (101203.83726382107 / (27))) is greater than 1.9684724997369398 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (255) + (27) - 2, .975) and 0.08444143344179514 = (26456.020450504067 - 24222.036160498057) / 26456.020450504067 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromReader(Mode: Reflection)
```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 28.257519984528106 < 31.110331380928148.
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.
IsImprovementStdDev: Marked as improvement because 70.4341578327399 (T) = (0 -28479.549240663513) / Math.Sqrt((399699.1572745696 / (255)) + (87026.17391124369 / (27))) is greater than 1.9684724997369398 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (255) + (27) - 2, .975) and 0.14615853838919554 = (33354.61033589978 - 28479.549240663513) / 33354.61033589978 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromReader(Mode: SourceGen)
```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 28.258410660660665 < 31.068791120719776.
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.
IsImprovementStdDev: Marked as improvement because 61.11913244516793 (T) = (0 -28518.63656416319) / Math.Sqrt((276792.5483976142 / (255)) + (134200.6630681941 / (27))) is greater than 1.9684724997369398 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (255) + (27) - 2, .975) and 0.1429382052343784 = (33274.88955678173 - 28518.63656416319) / 33274.88955678173 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
)_1.png)
)_2.png)
)_3.png)
)_4.png)