-
Couldn't load subscription status.
- Fork 4
Closed
Description
Run Information
| Name | Value |
|---|---|
| Architecture | x64 |
| OS | ubuntu 18.04 |
| Queue | TigerUbuntu |
| Baseline | 2f49fcff6df15a200ef01eea16b3ce7930f75c5c |
| Compare | 558345d16cf76525d0c7fdbafbfd3a2457142b39 |
| Diff | Diff |
| Configs | CompilationMode:tiered, RunKind:micro |
Improvements in MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| DataContractJsonSerializer_ - Duration of single invocation | 3.79 μs | 2.98 μs | 0.79 | 0.04 | True | |||||
| SystemTextJson_Reflection_ - Duration of single invocation | 394.33 ns | 317.24 ns | 0.80 | 0.04 | True | |||||
| JsonNet_ - Duration of single invocation | 1.02 μs | 806.94 ns | 0.79 | 0.07 | False | |||||
| SystemTextJson_SourceGen_ - Duration of single invocation | 385.04 ns | 305.24 ns | 0.79 | 0.01 | True |
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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>*'Payloads
Histogram
MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>.DataContractJsonSerializer_
Description of detection logic
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.
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.9787899491665684 < 3.5495740675783396.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 5/22/2023 9:02:11 PM falls between 5/14/2023 5:56:01 AM and 5/22/2023 9:02:11 PM.
IsImprovementStdDev: Marked as improvement because 106.50995621489449 (T) = (0 -2957.624069334463) / Math.Sqrt((3406.332937197301 / (299)) + (580.7153984770687 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20313330989625597 = (3711.5669484809437 - 2957.624069334463) / 3711.5669484809437 is greater than 0.05.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.
JIT Disasms
MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>.SystemTextJson_Reflection_
Description of detection logic
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.
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 317.2393789804026 < 378.4037923704425.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 5/22/2023 9:02:11 PM falls between 5/14/2023 5:56:01 AM and 5/22/2023 9:02:11 PM.
IsImprovementStdDev: Marked as improvement because 65.14137733331097 (T) = (0 -317.45390983296875) / Math.Sqrt((49.200084506646675 / (299)) + (16.074988191395242 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.19035487255232703 = (392.0901875043837 - 317.45390983296875) / 392.0901875043837 is greater than 0.05.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.
JIT Disasms
MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>.JsonNet_
Description of detection logic
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.
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 806.9378012883874 < 0.9678633168184491.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 5/22/2023 9:02:11 PM falls between 5/14/2023 5:56:01 AM and 5/22/2023 9:02:11 PM.
IsImprovementStdDev: Marked as improvement because 64.69613895128664 (T) = (0 -816.7509586446932) / Math.Sqrt((1560.867878275663 / (299)) + (77.38414070793257 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.20615084593826222 = (1028.8490634093116 - 816.7509586446932) / 1028.8490634093116 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
JIT Disasms
MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>.SystemTextJson_SourceGen_
Description of detection logic
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.
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 305.23868455652655 < 361.1096260173129.
IsChangePoint: Marked as a change because one of 5/19/2023 10:30:38 AM, 5/22/2023 9:02:11 PM falls between 5/14/2023 5:56:01 AM and 5/22/2023 9:02:11 PM.
IsImprovementStdDev: Marked as improvement because 77.43071085166474 (T) = (0 -304.1150152676523) / Math.Sqrt((37.43006400320829 / (299)) + (10.959664380958467 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.19524724837473587 = (377.89869578385054 - 304.1150152676523) / 377.89869578385054 is greater than 0.05.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository



