Closed
Description
Run Information
Architecture | x64 |
---|---|
OS | ubuntu 18.04 |
Baseline | 2eca2d319bf8d1247edf38facfdd501e0e2f0030 |
Compare | 51a8dd5323721b363e61069575511f783e7ea6d3 |
Diff | Diff |
Regressions in MicroBenchmarks.Serializers.Json_ToStream<CollectionsOfPrimitives>
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
SystemTextJson_Reflection_ - Duration of single invocation | 2.18 ms | 2.52 ms | 1.16 | 0.02 | False | |||||
SystemTextJson_SourceGen_ - Duration of single invocation | 2.30 ms | 2.62 ms | 1.14 | 0.02 | False |
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToStream<CollectionsOfPrimitives>*'
Payloads
Histogram
MicroBenchmarks.Serializers.Json_ToStream<CollectionsOfPrimitives>.SystemTextJson_Reflection_
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 2.523136554112554 > 2.2811432688132594.
IsChangePoint: Marked as a change because one of 12/3/2022 2:55:34 AM, 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -30.515269836987443 (T) = (0 -2503734.258843636) / Math.Sqrt((909067361.7575506 / (46)) + (894140897.2584221 / (9))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (46) + (9) - 2, .025) and -0.15342448435714337 = (2170696.2985436213 - 2503734.258843636) / 2170696.2985436213 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.
```#### MicroBenchmarks.Serializers.Json_ToStream<CollectionsOfPrimitives>.SystemTextJson_SourceGen_
```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 2.6201835186170213 > 2.413639889179864.
IsChangePoint: Marked as a change because one of 12/3/2022 2:55:34 AM, 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -30.330328773247228 (T) = (0 -2647235.154946631) / Math.Sqrt((678985290.0401511 / (45)) + (992600892.4841977 / (9))) is less than -2.0066468050606243 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (45) + (9) - 2, .025) and -0.1471711573938167 = (2307620.0424710046 - 2647235.154946631) / 2307620.0424710046 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
Architecture | x64 |
---|---|
OS | ubuntu 18.04 |
Baseline | 2eca2d319bf8d1247edf38facfdd501e0e2f0030 |
Compare | 51a8dd5323721b363e61069575511f783e7ea6d3 |
Diff | Diff |
Regressions in System.Text.Json.Serialization.Tests.WriteJson<Int32>
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
SerializeToWriter - Duration of single invocation | 761.49 ns | 904.63 ns | 1.19 | 0.11 | False | |||||
SerializeToUtf8Bytes - Duration of single invocation | 1.52 μs | 1.71 μs | 1.13 | 0.04 | False | |||||
SerializeToStream - Duration of single invocation | 3.58 μs | 4.05 μs | 1.13 | 0.05 | False | |||||
SerializeToWriter - Duration of single invocation | 746.43 ns | 901.64 ns | 1.21 | 0.07 | False | |||||
SerializeToUtf8Bytes - Duration of single invocation | 1.53 μs | 1.73 μs | 1.13 | 0.05 | False | |||||
SerializeToString - Duration of single invocation | 1.97 μs | 2.16 μs | 1.10 | 0.09 | False | |||||
SerializeToString - Duration of single invocation | 1.95 μs | 2.14 μs | 1.10 | 0.16 | False | |||||
SerializeToStream - Duration of single invocation | 3.71 μs | 4.12 μs | 1.11 | 0.06 | False |
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson<Int32>*'
Payloads
Histogram
System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeToWriter(Mode: Reflection)
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 904.6283684899622 > 799.1313875921929.
IsChangePoint: Marked as a change because one of 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -26.71345796111925 (T) = (0 -922.3618495811716) / Math.Sqrt((296.078777259918 / (45)) + (283.11852946053534 / (9))) is less than -2.0066468050606243 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (45) + (9) - 2, .025) and -0.2174649006190831 = (757.6085759122492 - 922.3618495811716) / 757.6085759122492 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.Serialization.Tests.WriteJson<Int32>.SerializeToUtf8Bytes(Mode: SourceGen)
```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 1.7077130188748806 > 1.6000431347516704.
IsChangePoint: Marked as a change because one of 12/2/2022 5:21:30 AM, 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -17.383016966852708 (T) = (0 -1735.759778517023) / Math.Sqrt((433.3908823195409 / (45)) + (1031.2585608739446 / (9))) is less than -2.0066468050606243 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (45) + (9) - 2, .025) and -0.12563820330219513 = (1542.0228039746366 - 1735.759778517023) / 1542.0228039746366 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.Serialization.Tests.WriteJson<Int32>.SerializeToStream(Mode: Reflection)
```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.047583846070811 > 3.8027521880381108.
IsChangePoint: Marked as a change because one of 12/2/2022 5:21:30 AM, 12/9/2022 1:52:32 PM, 1/3/2023 9:28:36 AM, 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -18.289820978090763 (T) = (0 -4066.564054636928) / Math.Sqrt((4581.172773041748 / (45)) + (2772.91955395299 / (9))) is less than -2.0066468050606243 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (45) + (9) - 2, .025) and -0.10018170023325208 = (3696.265856607837 - 4066.564054636928) / 3696.265856607837 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.Serialization.Tests.WriteJson<Int32>.SerializeToWriter(Mode: SourceGen)
```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 901.644088226202 > 790.6399957692029.
IsChangePoint: Marked as a change because one of 12/5/2022 3:49:45 AM, 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -29.523458884005198 (T) = (0 -909.9484798025373) / Math.Sqrt((277.98081775741554 / (45)) + (205.08906179291955 / (9))) is less than -2.0066468050606243 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (45) + (9) - 2, .025) and -0.2115592654293387 = (751.0556897768266 - 909.9484798025373) / 751.0556897768266 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.Serialization.Tests.WriteJson<Int32>.SerializeToUtf8Bytes(Mode: Reflection)
```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 1.727803892383734 > 1.6401029190619494.
IsChangePoint: Marked as a change because one of 12/2/2022 5:21:30 AM, 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -18.85265802053377 (T) = (0 -1741.110210098418) / Math.Sqrt((471.6123992707908 / (46)) + (854.4298494554378 / (9))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (46) + (9) - 2, .025) and -0.12492690716860036 = (1547.7540798457105 - 1741.110210098418) / 1547.7540798457105 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.Serialization.Tests.WriteJson<Int32>.SerializeToString(Mode: SourceGen)
```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 2.163096228198349 > 2.0637061939233643.
IsChangePoint: Marked as a change because one of 12/6/2022 11:39:16 PM, 12/21/2022 9:23:17 AM, 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -14.7715971177912 (T) = (0 -2210.5679536493803) / Math.Sqrt((1684.5663837095658 / (45)) + (2181.395484177099 / (9))) is less than -2.0066468050606243 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (45) + (9) - 2, .025) and -0.12584482256140547 = (1963.4748140690697 - 2210.5679536493803) / 1963.4748140690697 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.Serialization.Tests.WriteJson<Int32>.SerializeToString(Mode: Reflection)
```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 2.1411251669891285 > 2.0529732293576983.
IsChangePoint: Marked as a change because one of 12/7/2022 5:17:51 AM, 12/21/2022 9:23:17 AM, 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -8.678687942680812 (T) = (0 -2255.1371662730594) / Math.Sqrt((2696.433355016894 / (45)) + (10190.376109433575 / (9))) is less than -2.0066468050606243 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (45) + (9) - 2, .025) and -0.15324018155057692 = (1955.4791814840673 - 2255.1371662730594) / 1955.4791814840673 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.Serialization.Tests.WriteJson<Int32>.SerializeToStream(Mode: SourceGen)
```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.124724010527719 > 3.9339749129236328.
IsChangePoint: Marked as a change because one of 12/2/2022 5:21:30 AM, 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -16.05950642622807 (T) = (0 -4090.1466313631736) / Math.Sqrt((5269.790543566284 / (45)) + (3837.0657959364285 / (9))) is less than -2.0066468050606243 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (45) + (9) - 2, .025) and -0.10075398191454123 = (3715.768190317315 - 4090.1466313631736) / 3715.768190317315 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
Run Information
Architecture | x64 |
---|---|
OS | ubuntu 18.04 |
Baseline | 2eca2d319bf8d1247edf38facfdd501e0e2f0030 |
Compare | 51a8dd5323721b363e61069575511f783e7ea6d3 |
Diff | Diff |
Regressions in System.Buffers.Text.Tests.Utf8FormatterTests
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Text.Tests.Utf8FormatterTests*'
Payloads
Histogram
System.Buffers.Text.Tests.Utf8FormatterTests.FormatterInt32(value: 12345)
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 300.13901881145637 > 194.7914285371582.
IsChangePoint: Marked as a change because one of 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -40.48842766286809 (T) = (0 -307.4718197978181) / Math.Sqrt((39.903786195577105 / (46)) + (69.91039086074301 / (9))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (46) + (9) - 2, .025) and -0.6312104330795012 = (188.4930439154644 - 307.4718197978181) / 188.4930439154644 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.Buffers.Text.Tests.Utf8FormatterTests.FormatterUInt64(value: 18446744073709551615)
```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 516.5956022962062 > 420.3175200870668.
IsChangePoint: Marked as a change because one of 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -61.66807506610332 (T) = (0 -519.8806140422433) / Math.Sqrt((65.1059319510828 / (45)) + (24.520810424622468 / (9))) is less than -2.0066468050606243 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (45) + (9) - 2, .025) and -0.3197260166796533 = (393.93071552096086 - 519.8806140422433) / 393.93071552096086 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.Buffers.Text.Tests.Utf8FormatterTests.FormatterInt64(value: -9223372036854775808)
```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 510.6847658628154 > 410.32092302939157.
IsChangePoint: Marked as a change because one of 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -31.773602071511142 (T) = (0 -516.7538869053703) / Math.Sqrt((87.23188313461907 / (45)) + (124.82641808853224 / (9))) is less than -2.0066468050606243 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (45) + (9) - 2, .025) and -0.32357102830368173 = (390.4239937675681 - 516.7538869053703) / 390.4239937675681 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.Buffers.Text.Tests.Utf8FormatterTests.FormatterUInt32(value: 4294967295)
```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 369.80869211214525 > 258.1820279257068.
IsChangePoint: Marked as a change because one of 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -116.98620731925972 (T) = (0 -370.129247601111) / Math.Sqrt((25.954123882517194 / (45)) + (4.972245481149466 / (9))) is less than -2.0066468050606243 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (45) + (9) - 2, .025) and -0.5057314952151186 = (245.81357883347715 - 370.129247601111) / 245.81357883347715 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.Buffers.Text.Tests.Utf8FormatterTests.FormatterInt32(value: -2147483648)
```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 384.42462798009274 > 266.16864113642805.
IsChangePoint: Marked as a change because one of 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -53.82529540048504 (T) = (0 -379.80582932086736) / Math.Sqrt((47.587291618283004 / (46)) + (39.76225777796431 / (9))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (46) + (9) - 2, .025) and -0.4945913056815261 = (254.12019183911806 - 379.80582932086736) / 254.12019183911806 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.Buffers.Text.Tests.Utf8FormatterTests.FormatterUInt64(value: 12345)
```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 296.927506557866 > 185.8136244761951.
IsChangePoint: Marked as a change because one of 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -91.1376452271774 (T) = (0 -296.5013934423432) / Math.Sqrt((19.08915275883294 / (45)) + (11.081941569615156 / (9))) is less than -2.0066468050606243 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (45) + (9) - 2, .025) and -0.6542426110924704 = (179.23694593172894 - 296.5013934423432) / 179.23694593172894 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.Buffers.Text.Tests.Utf8FormatterTests.FormatterDouble(value: -1.7976931348623157E+308)
```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 5.37655200204385 > 4.618404497391284.
IsChangePoint: Marked as a change because one of 1/13/2023 11:01:49 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -54.3996412180294 (T) = (0 -5340.073718937481) / Math.Sqrt((4805.341098799737 / (33)) + (3288.0413604983505 / (21))) is less than -2.0066468050606243 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (21) - 2, .025) and -0.2151964918319457 = (4394.411730803434 - 5340.073718937481) / 4394.411730803434 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.Buffers.Text.Tests.Utf8FormatterTests.FormatterInt64(value: 12345)
```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 315.38768709622394 > 196.183557471691.
IsChangePoint: Marked as a change because one of 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -38.86982677179527 (T) = (0 -308.80741495069327) / Math.Sqrt((42.0873248369263 / (45)) + (78.2747519676946 / (9))) is less than -2.0066468050606243 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (45) + (9) - 2, .025) and -0.6411071555662473 = (188.1701715231035 - 308.80741495069327) / 188.1701715231035 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.Buffers.Text.Tests.Utf8FormatterTests.FormatterUInt32(value: 12345)
```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 299.75396409218683 > 185.04903017807413.
IsChangePoint: Marked as a change because one of 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -55.194206203185416 (T) = (0 -299.67452871168723) / Math.Sqrt((48.14657078031565 / (45)) + (32.682639544346266 / (9))) is less than -2.0066468050606243 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (45) + (9) - 2, .025) and -0.6648637191625266 = (179.99943494620206 - 299.67452871168723) / 179.99943494620206 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.Buffers.Text.Tests.Utf8FormatterTests.FormatterDouble(value: 12345)
```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 2.737689129840612 > 2.010693632158721.
IsChangePoint: Marked as a change because one of 1/13/2023 11:01:49 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -50.002018350868624 (T) = (0 -2812.4491114188136) / Math.Sqrt((2530.7506385221222 / (34)) + (5177.321215022543 / (21))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (34) + (21) - 2, .025) and -0.4673950793530791 = (1916.6270563335402 - 2812.4491114188136) / 1916.6270563335402 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.Buffers.Text.Tests.Utf8FormatterTests.FormatterInt32(value: 2147483647)
```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 375.26682118615867 > 265.9169163345484.
IsChangePoint: Marked as a change because one of 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -47.5829885468184 (T) = (0 -376.9539560931971) / Math.Sqrt((30.196427476896226 / (46)) + (54.58905293436107 / (9))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (46) + (9) - 2, .025) and -0.486485548932253 = (253.58736676852612 - 376.9539560931971) / 253.58736676852612 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.Buffers.Text.Tests.Utf8FormatterTests.FormatterDouble(value: 1.7976931348623157E+308)
```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 5.319388384010933 > 4.659275727182896.
IsChangePoint: Marked as a change because one of 1/13/2023 11:01:49 AM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -49.901765447853755 (T) = (0 -5422.643626239114) / Math.Sqrt((4128.980930322688 / (33)) + (5170.574670329586 / (21))) is less than -2.0066468050606243 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (33) + (21) - 2, .025) and -0.21555882202161833 = (4461.029386649192 - 5422.643626239114) / 4461.029386649192 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.Buffers.Text.Tests.Utf8FormatterTests.FormatterInt64(value: 9223372036854775807)
```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 511.1195649504225 > 412.53430027242376.
IsChangePoint: Marked as a change because one of 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -53.25681305858769 (T) = (0 -511.63961729551716) / Math.Sqrt((58.68112916225676 / (46)) + (36.70191363781019 / (9))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (46) + (9) - 2, .025) and -0.31725314425977713 = (388.41404138991834 - 511.63961729551716) / 388.41404138991834 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
Run Information
Architecture | x64 |
---|---|
OS | ubuntu 18.04 |
Baseline | 2eca2d319bf8d1247edf38facfdd501e0e2f0030 |
Compare | 51a8dd5323721b363e61069575511f783e7ea6d3 |
Diff | Diff |
Regressions in System.Tests.Perf_UInt32
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
TryFormat - Duration of single invocation | 156.13 ns | 270.53 ns | 1.73 | 0.18 | False | |||||
TryFormat - Duration of single invocation | 106.01 ns | 224.48 ns | 2.12 | 0.16 | False | |||||
TryFormat - Duration of single invocation | 191.06 ns | 322.33 ns | 1.69 | 0.14 | False |
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_UInt32*'
Payloads
Histogram
System.Tests.Perf_UInt32.TryFormat(value: 12345)
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 270.53045834868584 > 159.02652491455487.
IsChangePoint: Marked as a change because one of 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -45.79337044720575 (T) = (0 -276.83593573928505) / Math.Sqrt((28.397496778494396 / (46)) + (60.3705553666342 / (9))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (46) + (9) - 2, .025) and -0.8106172495149493 = (152.8958899587681 - 276.83593573928505) / 152.8958899587681 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.Tests.Perf_UInt32.TryFormat(value: 0)
```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 224.48334518154377 > 110.71290930979134.
IsChangePoint: Marked as a change because one of 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -65.49575749793803 (T) = (0 -223.44149183179252) / Math.Sqrt((9.276896955258492 / (45)) + (27.547924828388993 / (9))) is less than -2.0066468050606243 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (45) + (9) - 2, .025) and -1.126832967729632 = (105.05831685988653 - 223.44149183179252) / 105.05831685988653 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.Tests.Perf_UInt32.TryFormat(value: 4294967295)
```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 322.3290129919583 > 203.17042631592605.
IsChangePoint: Marked as a change because one of 1/15/2023 4:08:29 PM, 1/17/2023 6:49:05 AM falls between 1/8/2023 8:00:22 AM and 1/17/2023 6:49:05 AM.
IsRegressionStdDev: Marked as regression because -68.38966542476774 (T) = (0 -323.0334086112086) / Math.Sqrt((21.214177385233114 / (46)) + (27.04150233293193 / (9))) is less than -2.005745995316835 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (46) + (9) - 2, .025) and -0.6505304953215757 = (195.71489865037086 - 323.0334086112086) / 195.71489865037086 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