Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Perf] Alpine/x64: 141 Improvements on 2/8/2023 12:20:29 PM #12941

Closed
performanceautofiler bot opened this issue Feb 14, 2023 · 8 comments
Closed

[Perf] Alpine/x64: 141 Improvements on 2/8/2023 12:20:29 PM #12941

performanceautofiler bot opened this issue Feb 14, 2023 · 8 comments

Comments

@performanceautofiler
Copy link

performanceautofiler bot commented Feb 14, 2023

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in MicroBenchmarks.Serializers.Json_FromString<LoginViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SystemTextJson_SourceGen_ - Duration of single invocation 374.33 ns 348.63 ns 0.93 0.03 False
SystemTextJson_Reflection_ - Duration of single invocation 392.81 ns 365.03 ns 0.93 0.02 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromString&lt;LoginViewModel&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Json_FromString<LoginViewModel>.SystemTextJson_SourceGen_


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 348.6259090963769 < 358.21413922758387.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 25.58318232340527 (T) = (0 -355.30204703561054) / Math.Sqrt((44.24542231258682 / (168)) + (28.10390905342588 / (27))) is greater than 1.9723316757956526 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (168) + (27) - 2, .975) and 0.07598316034679269 = (384.51901717392826 - 355.30204703561054) / 384.51901717392826 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### MicroBenchmarks.Serializers.Json_FromString&lt;LoginViewModel&gt;.SystemTextJson_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 365.03073202737886 < 372.83354183149976.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 30.177223607362624 (T) = (0 -365.44137653194565) / Math.Sqrt((69.54438055424983 / (168)) + (16.864940719312745 / (27))) is greater than 1.9723316757956526 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (168) + (27) - 2, .975) and 0.0776230027750509 = (396.19524080870144 - 365.44137653194565) / 396.19524080870144 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

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in MicroBenchmarks.Serializers.Json_FromString<IndexViewModel>

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 22.80 μs 19.72 μs 0.86 0.04 False
SystemTextJson_SourceGen_ - Duration of single invocation 22.66 μs 19.51 μs 0.86 0.03 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromString&lt;IndexViewModel&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Json_FromString<IndexViewModel>.SystemTextJson_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 19.717504977233094 < 21.66630915712838.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 68.9177905055364 (T) = (0 -19597.47555852928) / Math.Sqrt((166703.36987795995 / (168)) + (42501.045083850266 / (27))) is greater than 1.9723316757956526 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (168) + (27) - 2, .975) and 0.1512137483842285 = (23088.823035508667 - 19597.47555852928) / 23088.823035508667 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### MicroBenchmarks.Serializers.Json_FromString&lt;IndexViewModel&gt;.SystemTextJson_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 19.512092180263625 < 21.674953693131833.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 46.86796498914315 (T) = (0 -19721.773689165773) / Math.Sqrt((515939.83963861916 / (168)) + (59100.40366658905 / (27))) is greater than 1.9723316757956526 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (168) + (27) - 2, .975) and 0.1470154860759534 = (23120.904737693614 - 19721.773689165773) / 23120.904737693614 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

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in System.Text.Json.Document.Tests.Perf_DocumentParse

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Parse - Duration of single invocation 758.11 μs 553.21 μs 0.73 0.00 False
Parse - Duration of single invocation 917.65 μs 720.52 μs 0.79 0.01 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Document.Tests.Perf_DocumentParse*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: False, TestCase: Json400KB)


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 553.2110297413793 < 725.1852583794882.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 176.48762853429696 (T) = (0 -558431.0307248328) / Math.Sqrt((55610972.43277549 / (200)) + (26066191.86690575 / (27))) is greater than 1.9705633902925863 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (200) + (27) - 2, .975) and 0.2605854947360274 = (755234.0760822262 - 558431.0307248328) / 755234.0760822262 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: False, TestCase: Json400KB)

```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 720.5185658546656 < 872.2159032454738.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 124.33519692726078 (T) = (0 -717038.4774803857) / Math.Sqrt((76182137.46975906 / (171)) + (54886497.283444196 / (27))) is greater than 1.9721412216619414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (171) + (27) - 2, .975) and 0.21444227977881886 = (912776.3104135706 - 717038.4774803857) / 912776.3104135706 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Feb 14, 2023

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in System.Text.Json.Tests.Perf_Segment

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ReadSingleSegmentSequenceByN - Duration of single invocation 5.48 μs 5.15 μs 0.94 0.01 False
ReadMultiSegmentSequence - Duration of single invocation 758.17 μs 547.83 μs 0.72 0.00 False
ReadSingleSegmentSequenceByN - Duration of single invocation 71.65 μs 51.67 μs 0.72 0.00 False
ReadSingleSegmentSequenceByN - Duration of single invocation 739.49 μs 512.36 μs 0.69 0.00 False
ReadMultiSegmentSequence - Duration of single invocation 5.74 μs 5.22 μs 0.91 0.00 False
ReadMultiSegmentSequenceUsingSpan - Duration of single invocation 70.23 μs 50.94 μs 0.73 0.00 False
ReadSingleSegmentSequence - Duration of single invocation 720.72 μs 514.14 μs 0.71 0.00 False
ReadMultiSegmentSequenceUsingSpan - Duration of single invocation 748.30 μs 535.27 μs 0.72 0.01 False
ReadSingleSegmentSequenceByN - Duration of single invocation 5.47 μs 5.09 μs 0.93 0.01 False
ReadMultiSegmentSequence - Duration of single invocation 72.17 μs 53.71 μs 0.74 0.02 False
ReadSingleSegmentSequence - Duration of single invocation 5.42 μs 5.01 μs 0.92 0.01 False
ReadSingleSegmentSequenceByN - Duration of single invocation 748.99 μs 525.50 μs 0.70 0.01 False
ReadMultiSegmentSequence - Duration of single invocation 739.98 μs 540.23 μs 0.73 0.00 False
ReadMultiSegmentSequenceUsingSpan - Duration of single invocation 5.80 μs 5.13 μs 0.88 0.01 False
ReadMultiSegmentSequenceUsingSpan - Duration of single invocation 5.65 μs 5.22 μs 0.92 0.01 False
ReadSingleSegmentSequenceByN - Duration of single invocation 69.84 μs 51.20 μs 0.73 0.00 False
ReadMultiSegmentSequence - Duration of single invocation 73.17 μs 53.53 μs 0.73 0.01 False
ReadMultiSegmentSequenceUsingSpan - Duration of single invocation 71.13 μs 52.63 μs 0.74 0.00 False
ReadMultiSegmentSequence - Duration of single invocation 5.40 μs 5.03 μs 0.93 0.01 False
ReadMultiSegmentSequenceUsingSpan - Duration of single invocation 751.13 μs 526.50 μs 0.70 0.01 False
ReadSingleSegmentSequence - Duration of single invocation 68.25 μs 51.56 μs 0.76 0.01 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Segment*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes: 4096, TestCase: Json4KB)


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.1537457967836255 < 5.217139135535123.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 68.64129391783841 (T) = (0 -5139.230325761973) / Math.Sqrt((4576.58710819361 / (180)) + (284.9271040195998 / (27))) is greater than 1.9716034992643237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (180) + (27) - 2, .975) and 0.07417172482025865 = (5550.954171025115 - 5139.230325761973) / 5550.954171025115 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize: 4096, TestCase: Json400KB)

```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 547.8287497126438 < 723.6703983391792.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 189.23376377325144 (T) = (0 -533170.5369853115) / Math.Sqrt((73831552.72177884 / (198)) + (31120230.126731277 / (27))) is greater than 1.9706589608356722 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (198) + (27) - 2, .975) and 0.30476665110755974 = (766894.3640788994 - 533170.5369853115) / 766894.3640788994 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes: 4096, TestCase: Json40KB)

```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 51.67130878712873 < 66.90849005278828.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 192.42515911910496 (T) = (0 -51671.04055800083) / Math.Sqrt((650434.9638172889 / (203)) + (176627.20234922512 / (27))) is greater than 1.9704231946743616 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (203) + (27) - 2, .975) and 0.26881433734457644 = (70667.46955943962 - 51671.04055800083) / 70667.46955943962 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes: 8192, TestCase: Json400KB)

```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 512.3573228494624 < 701.7454345495129.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 155.09500399740713 (T) = (0 -521501.5438339774) / Math.Sqrt((79027937.65582682 / (200)) + (39295206.19592865 / (27))) is greater than 1.9705633902925863 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (200) + (27) - 2, .975) and 0.2880360445123816 = (732483.0699846387 - 521501.5438339774) / 732483.0699846387 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize: 4096, TestCase: Json4KB)

```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.218469443819141 < 5.470964481526315.
IsChangePoint: Marked as a change because one of 1/21/2023 1:51:00 AM, 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 54.27708850811329 (T) = (0 -5289.987419335631) / Math.Sqrt((14137.47882279722 / (207)) + (1727.3652422863563 / (27))) is greater than 1.9702419362013859 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (207) + (27) - 2, .975) and 0.10554916103262924 = (5914.229367197908 - 5289.987419335631) / 5914.229367197908 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 8192, TestCase: Json40KB)

```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 50.93505251764386 < 66.59460576994539.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 132.99000537581824 (T) = (0 -51773.256196963135) / Math.Sqrt((513683.3566269947 / (299)) + (470328.81618844275 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.2621835697866768 = (70170.917963963 - 51773.256196963135) / 70170.917963963 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequence(TestCase: Json400KB)

```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 514.1416708333334 < 679.8238413151041.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 255.0543626210736 (T) = (0 -506496.0957442293) / Math.Sqrt((62488685.48183069 / (179)) + (9625617.591800453 / (26))) is greater than 1.971718848463318 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (179) + (26) - 2, .975) and 0.29927178606779176 = (722813.9036988028 - 506496.0957442293) / 722813.9036988028 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 4096, TestCase: Json400KB)

```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 535.2731043055554 < 710.9135936142727.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 181.02258135039574 (T) = (0 -534342.6567305835) / Math.Sqrt((55350412.26117368 / (299)) + (31750004.537244603 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.28327190538860403 = (745530.5027777649 - 534342.6567305835) / 745530.5027777649 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes: 8192, TestCase: Json4KB)

```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.0878521220772175 < 5.209373992277384.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 69.77467160489309 (T) = (0 -5077.149502672126) / Math.Sqrt((6429.171242228244 / (207)) + (263.8125379265644 / (27))) is greater than 1.9702419362013859 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (207) + (27) - 2, .975) and 0.08072550974922225 = (5522.9961850535865 - 5077.149502672126) / 5522.9961850535865 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize: 4096, TestCase: Json40KB)

```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 53.710706029579065 < 68.58311714125814.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 112.64211921598717 (T) = (0 -53463.34678847314) / Math.Sqrt((779331.8928414254 / (200)) + (729163.3684148106 / (27))) is greater than 1.9705633902925863 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (200) + (27) - 2, .975) and 0.27027332153565187 = (73264.89268692014 - 53463.34678847314) / 73264.89268692014 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequence(TestCase: Json4KB)

```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.005334538390284 < 5.159181803572985.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 35.542085390807856 (T) = (0 -4991.015099262863) / Math.Sqrt((4234.8129167771185 / (171)) + (4748.897109812816 / (27))) is greater than 1.9721412216619414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (171) + (27) - 2, .975) and 0.09162976460289403 = (5494.472303004265 - 4991.015099262863) / 5494.472303004265 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes: 4096, TestCase: Json400KB)

```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 525.4966544444444 < 704.3333553172349.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 148.10743767216275 (T) = (0 -520778.6939991388) / Math.Sqrt((53745880.816701695 / (204)) + (49577410.19857218 / (26))) is greater than 1.9704231946743616 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (204) + (26) - 2, .975) and 0.29526297935074386 = (738968.83339456 - 520778.6939991388) / 738968.83339456 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize: 8192, TestCase: Json400KB)

```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 540.232640749337 < 717.6739443198913.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 264.71440738356307 (T) = (0 -533127.1886996502) / Math.Sqrt((72941853.1254528 / (173)) + (8770926.740523813 / (27))) is greater than 1.9720174778361754 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (173) + (27) - 2, .975) and 0.3002089998916658 = (761837.7324331367 - 533127.1886996502) / 761837.7324331367 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 8192, TestCase: Json4KB)

```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.1292825699693285 < 5.393493402532627.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 27.320412184870516 (T) = (0 -5273.7236910371175) / Math.Sqrt((6842.538160850821 / (299)) + (3918.0118482197972 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.06292104262122106 = (5627.832798411045 - 5273.7236910371175) / 5627.832798411045 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 4096, TestCase: Json4KB)

```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.218542958720675 < 5.463503725051787.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 51.33585392401902 (T) = (0 -5216.401859298614) / Math.Sqrt((6832.725558745247 / (266)) + (1857.7867371571201 / (27))) is greater than 1.9681495542477299 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (266) + (27) - 2, .975) and 0.08731198817606377 = (5715.427168670748 - 5216.401859298614) / 5715.427168670748 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes: 8192, TestCase: Json40KB)

```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 51.1955456352459 < 67.24010973927123.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 203.2432716680916 (T) = (0 -51291.45846606341) / Math.Sqrt((621595.7180471176 / (207)) + (155242.91513923754 / (27))) is greater than 1.9702419362013859 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (207) + (27) - 2, .975) and 0.27045369325272195 = (70305.96686144457 - 51291.45846606341) / 70305.96686144457 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize: 8192, TestCase: Json40KB)

```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 53.53091982507288 < 68.71639753016808.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 215.7427110345944 (T) = (0 -53245.448410539946) / Math.Sqrt((988660.7769598222 / (199)) + (86785.03954436841 / (27))) is greater than 1.9706109611022053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (199) + (27) - 2, .975) and 0.26821254982826714 = (72760.81107710241 - 53245.448410539946) / 72760.81107710241 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 4096, TestCase: Json40KB)

```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 52.630317821067834 < 67.7775974942295.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 137.71538396006056 (T) = (0 -52187.54014579845) / Math.Sqrt((465958.96025395184 / (299)) + (489361.22841741174 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.27019022864020825 = (71508.41519778763 - 52187.54014579845) / 71508.41519778763 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize: 8192, TestCase: Json4KB)

```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.0327650381597335 < 5.230376807111117.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 52.78791571421203 (T) = (0 -5019.755335183222) / Math.Sqrt((6761.912064502155 / (205)) + (1392.03054514632 / (27))) is greater than 1.9703317732749426 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (205) + (27) - 2, .975) and 0.08816635193942583 = (5505.121845262014 - 5019.755335183222) / 5505.121845262014 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 8192, TestCase: Json400KB)

```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 526.5014340277778 < 703.246000513913.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 236.24575912589455 (T) = (0 -527101.4818921712) / Math.Sqrt((61243128.38628523 / (299)) + (15714114.620218672 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.28447085470217565 = (736659.6949349645 - 527101.4818921712) / 736659.6949349645 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequence(TestCase: Json40KB)

```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 51.562175138495995 < 65.76316088507285.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 175.7358335126205 (T) = (0 -50938.65232729653) / Math.Sqrt((668461.8192623326 / (178)) + (201732.96420607713 / (27))) is greater than 1.971718848463318 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (178) + (27) - 2, .975) and 0.26769336346686795 = (69559.18434448312 - 50938.65232729653) / 69559.18434448312 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Feb 14, 2023

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in System.Text.Json.Document.Tests.Perf_EnumerateObject

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Parse - Duration of single invocation 697.46 μs 526.66 μs 0.76 0.00 False
Parse - Duration of single invocation 19.01 μs 17.60 μs 0.93 0.04 False
Parse - Duration of single invocation 16.53 μs 12.14 μs 0.73 0.04 False

graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Document.Tests.Perf_EnumerateObject*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Document.Tests.Perf_EnumerateObject.Parse(TestCase: ObjectProperties)


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 526.66100375 < 662.0745731971153.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 230.84868509053535 (T) = (0 -521859.31411611795) / Math.Sqrt((47400842.390390694 / (299)) + (11181959.427091189 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.25079974516213926 = (696555.1743292678 - 521859.31411611795) / 696555.1743292678 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateObject.Parse(TestCase: NumericProperties)

```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 17.60161380325112 < 18.060106752107963.
IsChangePoint: Marked as a change because one of 11/28/2022 4:21:11 AM, 11/28/2022 10:23:06 PM, 1/21/2023 1:51:00 AM, 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 21.05536738256781 (T) = (0 -17758.273719679164) / Math.Sqrt((283571.266509127 / (299)) + (46291.52913074463 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.05765655850463059 = (18844.80003543 - 17758.273719679164) / 18844.80003543 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateObject.Parse(TestCase: StringProperties)

```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 12.138111516955265 < 15.82704102947211.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 129.68527180307188 (T) = (0 -12085.303316906688) / Math.Sqrt((55406.63773681026 / (299)) + (27779.723960853815 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.2753422229349467 = (16677.256077832415 - 12085.303316906688) / 16677.256077832415 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

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in System.Text.Json.Reader.Tests.Perf_Base64

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ReadBase64EncodedByteArray_HeavyEscaping - Duration of single invocation 87.83 ns 71.16 ns 0.81 0.25 False
ReadBase64EncodedByteArray_NoEscaping - Duration of single invocation 75.46 ns 69.24 ns 0.92 0.23 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Reader.Tests.Perf_Base64*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Reader.Tests.Perf_Base64.ReadBase64EncodedByteArray_HeavyEscaping(NumberOfBytes: 100)


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 71.1621106671593 < 79.10123081341598.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 29.501419346494824 (T) = (0 -69.73774154006664) / Math.Sqrt((29.64803088123475 / (203)) + (2.705675148246375 / (27))) is greater than 1.9704231946743616 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (203) + (27) - 2, .975) and 0.173504952613076 = (84.37768836068885 - 69.73774154006664) / 84.37768836068885 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Reader.Tests.Perf_Base64.ReadBase64EncodedByteArray_NoEscaping(NumberOfBytes: 100)

```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 69.2360256308043 < 72.0750565482757.
IsChangePoint: Marked as a change because one of 1/21/2023 8:50:04 PM, 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 24.011252010663682 (T) = (0 -69.58332184746587) / Math.Sqrt((35.09015502060482 / (180)) + (3.306435515750659 / (27))) is greater than 1.9716034992643237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (180) + (27) - 2, .975) and 0.16276609358799465 = (83.11096972370312 - 69.58332184746587) / 83.11096972370312 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

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in MicroBenchmarks.Serializers.Json_FromString<MyEventsListerViewModel>

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 260.90 μs 229.85 μs 0.88 0.03 False
SystemTextJson_SourceGen_ - Duration of single invocation 271.87 μs 227.84 μs 0.84 0.02 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromString&lt;MyEventsListerViewModel&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Json_FromString<MyEventsListerViewModel>.SystemTextJson_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 229.85439973958336 < 253.12640304621877.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 68.7071047811045 (T) = (0 -227851.15340781852) / Math.Sqrt((23802035.66901325 / (168)) + (5288063.644465159 / (27))) is greater than 1.9723316757956526 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (168) + (27) - 2, .975) and 0.14907353881417168 = (267768.32523258385 - 227851.15340781852) / 267768.32523258385 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### MicroBenchmarks.Serializers.Json_FromString&lt;MyEventsListerViewModel&gt;.SystemTextJson_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 227.84014525103524 < 254.08893490728022.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 72.09421020226407 (T) = (0 -226037.45376725617) / Math.Sqrt((22168678.617783133 / (299)) + (7442124.327079152 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.1607001980690935 = (269316.7009538556 - 226037.45376725617) / 269316.7009538556 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

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.ReadJson<ImmutableSortedDictionary<String, String>>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
DeserializeFromReader - Duration of single invocation 69.25 μs 63.21 μs 0.91 0.09 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;ImmutableSortedDictionary&lt;String, String&gt;&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.ReadJson<ImmutableSortedDictionary<String, String>>.DeserializeFromReader(Mode: SourceGen)


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 63.212932999711995 < 65.8047045917957.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 16.509199219476667 (T) = (0 -63942.59983811324) / Math.Sqrt((2812104.4092007778 / (262)) + (3698928.245672674 / (27))) is greater than 1.9682641128217124 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (262) + (27) - 2, .975) and 0.09027755866408418 = (70288.03174758924 - 63942.59983811324) / 70288.03174758924 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

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in MicroBenchmarks.Serializers.Json_FromString<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 224.47 μs 204.45 μs 0.91 0.02 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromString&lt;CollectionsOfPrimitives&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Json_FromString<CollectionsOfPrimitives>.SystemTextJson_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 204.44776406926405 < 209.82888475913572.
IsChangePoint: Marked as a change because one of 12/21/2022 9:23:17 AM, 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 29.806172417272016 (T) = (0 -204799.61457536448) / Math.Sqrt((10929093.320711419 / (299)) + (8619428.536901139 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.07987670118849079 = (222578.44664937505 - 204799.61457536448) / 222578.44664937505 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Feb 14, 2023

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.ReadJson<Hashtable>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
DeserializeFromString - Duration of single invocation 32.17 μs 29.40 μs 0.91 0.00 False
DeserializeFromString - Duration of single invocation 32.14 μs 29.48 μs 0.92 0.00 False
DeserializeFromUtf8Bytes - Duration of single invocation 31.42 μs 29.03 μs 0.92 0.01 False
DeserializeFromReader - Duration of single invocation 38.09 μs 32.59 μs 0.86 0.00 False
DeserializeFromStream - Duration of single invocation 32.65 μs 29.61 μs 0.91 0.01 False
DeserializeFromReader - Duration of single invocation 37.78 μs 32.21 μs 0.85 0.00 False
DeserializeFromUtf8Bytes - Duration of single invocation 31.70 μs 29.37 μs 0.93 0.00 False
DeserializeFromStream - Duration of single invocation 32.66 μs 29.57 μs 0.91 0.00 False

graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;Hashtable&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.ReadJson<Hashtable>.DeserializeFromString(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 29.400455081775696 < 30.571335918684728.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 57.06762450756162 (T) = (0 -29239.248392117184) / Math.Sqrt((137366.5712220273 / (203)) + (67031.78043397747 / (27))) is greater than 1.9704231946743616 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (203) + (27) - 2, .975) and 0.09885866954656121 = (32446.90638859556 - 29239.248392117184) / 32446.90638859556 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;Hashtable&gt;.DeserializeFromString(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 29.480847892220773 < 30.66406029663771.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 53.31192700985831 (T) = (0 -29260.87676553291) / Math.Sqrt((126361.87801378842 / (199)) + (81139.90895702706 / (27))) is greater than 1.9706109611022053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (199) + (27) - 2, .975) and 0.09903846437693477 = (32477.387334074567 - 29260.87676553291) / 32477.387334074567 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;Hashtable&gt;.DeserializeFromUtf8Bytes(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 29.029854886004216 < 30.36239244068717.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 47.592637304316604 (T) = (0 -28872.217687125638) / Math.Sqrt((146358.4961666607 / (203)) + (99893.63611874603 / (27))) is greater than 1.9704231946743616 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (203) + (27) - 2, .975) and 0.09877364937559024 = (32036.58844098564 - 28872.217687125638) / 32036.58844098564 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;Hashtable&gt;.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 32.594261934094554 < 36.09907677413264.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 106.81253547897484 (T) = (0 -32462.276653653327) / Math.Sqrt((184400.9783386362 / (196)) + (56335.82752003161 / (27))) is greater than 1.9707562704893595 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (196) + (27) - 2, .975) and 0.1532882798315034 = (38339.2315004135 - 32462.276653653327) / 38339.2315004135 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;Hashtable&gt;.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 29.605943678707227 < 31.04239004277083.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 65.58392477342187 (T) = (0 -29625.526480376808) / Math.Sqrt((131418.80187453618 / (201)) + (59759.76555008093 / (27))) is greater than 1.9705162426829501 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (201) + (27) - 2, .975) and 0.10597559685477792 = (33137.2682626478 - 29625.526480376808) / 33137.2682626478 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;Hashtable&gt;.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 32.20708973369737 < 36.448427824996955.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 98.28171914517948 (T) = (0 -32530.888796638737) / Math.Sqrt((157348.67063745996 / (203)) + (72189.19260963905 / (27))) is greater than 1.9704231946743616 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (203) + (27) - 2, .975) and 0.15068764867181708 = (38302.62063864472 - 32530.888796638737) / 38302.62063864472 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;Hashtable&gt;.DeserializeFromUtf8Bytes(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 29.367364034140014 < 30.178180035926992.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 52.65079304287643 (T) = (0 -28900.568693786816) / Math.Sqrt((139153.5351424969 / (200)) + (79028.55474046126 / (27))) is greater than 1.9705633902925863 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (200) + (27) - 2, .975) and 0.09881681699699132 = (32069.582787243744 - 28900.568693786816) / 32069.582787243744 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;Hashtable&gt;.DeserializeFromStream(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 29.573815719517963 < 31.171409503600167.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 70.80631635402898 (T) = (0 -29617.213686760355) / Math.Sqrt((130825.46515356973 / (196)) + (45967.11895657867 / (27))) is greater than 1.9707562704893595 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (196) + (27) - 2, .975) and 0.10425200305319346 = (33064.225415755136 - 29617.213686760355) / 33064.225415755136 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

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 765e3dbb2d3aa2b114d8c07e44ae2ca926df16b4
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
DeserializeFromReader - Duration of single invocation 11.68 μs 10.76 μs 0.92 0.01 False
DeserializeFromReader - Duration of single invocation 11.58 μs 10.66 μs 0.92 0.01 False
DeserializeFromStream - Duration of single invocation 10.38 μs 9.83 μs 0.95 0.00 False

graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;HashSet&lt;String&gt;&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromReader(Mode: SourceGen)


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 10.755326001053742 < 11.073562899108024.
IsChangePoint: Marked as a change because one of 1/17/2023 8:36:05 PM, 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 45.97869294201586 (T) = (0 -10657.79078623366) / Math.Sqrt((41220.350960851654 / (299)) + (13227.39031203957 / (26))) is greater than 1.967335607330539 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (26) - 2, .975) and 0.09885612734435133 = (11826.958058123853 - 10657.79078623366) / 11826.958058123853 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;HashSet&lt;String&gt;&gt;.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 10.657783339665654 < 11.127948398203019.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 55.83243062322749 (T) = (0 -10707.190467777837) / Math.Sqrt((38915.78889350307 / (299)) + (7317.604917399577 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.09456600221741657 = (11825.478714075072 - 10707.190467777837) / 11825.478714075072 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;HashSet&lt;String&gt;&gt;.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 9.831463853596123 < 9.886222781621772.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 37.60971524225369 (T) = (0 -9727.222578525676) / Math.Sqrt((22912.333367493466 / (299)) + (12587.64503345735 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.08263933400101364 = (10603.487743757725 - 9727.222578525676) / 10603.487743757725 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Feb 14, 2023

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
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
DeserializeFromStream - Duration of single invocation 17.05 μs 14.91 μs 0.87 0.00 False
DeserializeFromReader - Duration of single invocation 21.23 μs 17.32 μs 0.82 0.02 False
DeserializeFromUtf8Bytes - Duration of single invocation 14.98 μs 13.42 μs 0.90 0.01 False
DeserializeFromStream - Duration of single invocation 16.68 μs 15.01 μs 0.90 0.01 False
DeserializeFromString - Duration of single invocation 15.34 μs 14.35 μs 0.94 0.01 False
DeserializeFromString - Duration of single invocation 15.27 μs 14.06 μs 0.92 0.02 False
DeserializeFromUtf8Bytes - Duration of single invocation 14.64 μs 13.45 μs 0.92 0.01 False
DeserializeFromReader - Duration of single invocation 21.05 μs 17.18 μs 0.82 0.01 False

graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;Dictionary&lt;String, String&gt;&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromStream(Mode: SourceGen)


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 14.914063128055405 < 16.07388367427584.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 49.59451509732059 (T) = (0 -14846.779377607538) / Math.Sqrt((116435.51050608815 / (174)) + (32211.50285791777 / (26))) is greater than 1.9720174778361754 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (174) + (26) - 2, .975) and 0.12733467127170925 = (17013.14225379311 - 14846.779377607538) / 17013.14225379311 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;Dictionary&lt;String, String&gt;&gt;.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 17.320608973214288 < 19.918519027477945.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 36.73872880472277 (T) = (0 -17351.154621798014) / Math.Sqrt((124733.07196220249 / (168)) + (292561.7729214165 / (27))) is greater than 1.9723316757956526 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (168) + (27) - 2, .975) and 0.18555608498264894 = (21304.296467643646 - 17351.154621798014) / 21304.296467643646 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;Dictionary&lt;String, String&gt;&gt;.DeserializeFromUtf8Bytes(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 13.421290405634236 < 14.251904173600202.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 38.4458710077856 (T) = (0 -13579.15966678979) / Math.Sqrt((67487.95071788397 / (169)) + (31273.040504938494 / (27))) is greater than 1.9722675325819379 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (169) + (27) - 2, .975) and 0.10050823703074181 = (15096.480285672036 - 13579.15966678979) / 15096.480285672036 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;Dictionary&lt;String, String&gt;&gt;.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 15.011870488267771 < 15.904065369885204.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 58.89139061739531 (T) = (0 -14942.546138218117) / Math.Sqrt((111154.59036576487 / (167)) + (15580.881600647406 / (27))) is greater than 1.972396491315351 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (167) + (27) - 2, .975) and 0.12198498117937205 = (17018.5541453372 - 14942.546138218117) / 17018.5541453372 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;Dictionary&lt;String, String&gt;&gt;.DeserializeFromString(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 14.34552729357798 < 14.53144066884126.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 37.99775950199377 (T) = (0 -13960.817172964316) / Math.Sqrt((57951.289055955756 / (215)) + (30889.73921438691 / (26))) is greater than 1.9699394059167992 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (215) + (26) - 2, .975) and 0.09413104181422399 = (15411.519565616052 - 13960.817172964316) / 15411.519565616052 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;Dictionary&lt;String, String&gt;&gt;.DeserializeFromString(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 14.056047493255393 < 14.515574162888885.
IsChangePoint: Marked as a change because one of 12/21/2022 9:23:17 AM, 1/17/2023 8:36:05 PM, 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 39.74838935932444 (T) = (0 -13946.811621367737) / Math.Sqrt((176500.97854920474 / (299)) + (26876.087018738308 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.10192269032230154 = (15529.633664136289 - 13946.811621367737) / 15529.633664136289 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;Dictionary&lt;String, String&gt;&gt;.DeserializeFromUtf8Bytes(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 13.45070280794098 < 14.157615393975966.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 45.4746315677021 (T) = (0 -13501.990877007309) / Math.Sqrt((79307.32032422557 / (168)) + (19584.399347753162 / (26))) is greater than 1.972396491315351 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (168) + (26) - 2, .975) and 0.10546151802440772 = (15093.806637796175 - 13501.990877007309) / 15093.806637796175 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;Dictionary&lt;String, String&gt;&gt;.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 17.177500313083716 < 19.938835504068045.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 92.77862608703325 (T) = (0 -17207.316391395) / Math.Sqrt((135637.6756266554 / (167)) + (30242.512581130413 / (27))) is greater than 1.972396491315351 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (167) + (27) - 2, .975) and 0.19160081146537758 = (21285.667570481535 - 17207.316391395) / 21285.667570481535 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

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
DeserializeFromUtf8Bytes - Duration of single invocation 115.62 ns 107.35 ns 0.93 0.04 False
DeserializeFromReader - Duration of single invocation 235.23 ns 219.63 ns 0.93 0.00 False
DeserializeFromUtf8Bytes - Duration of single invocation 116.40 ns 107.64 ns 0.92 0.02 False
DeserializeFromReader - Duration of single invocation 241.86 ns 216.51 ns 0.90 0.00 False

graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;Nullable&lt;DateTimeOffset&gt;&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>.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 107.34872851096279 < 110.25023123450411.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 47.99144103214066 (T) = (0 -106.67129830730379) / Math.Sqrt((1.7353563287491884 / (167)) + (1.0124151716963672 / (27))) is greater than 1.972396491315351 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (167) + (27) - 2, .975) and 0.08962907349377768 = (117.17344568184065 - 106.67129830730379) / 117.17344568184065 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;Nullable&lt;DateTimeOffset&gt;&gt;.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 219.6311408622208 < 223.32485394264918.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 56.20723871035253 (T) = (0 -217.29811402201727) / Math.Sqrt((4.08819854453017 / (176)) + (3.0252319479219283 / (27))) is greater than 1.971836506779775 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (176) + (27) - 2, .975) and 0.08687114977299187 = (237.970921593372 - 217.29811402201727) / 237.970921593372 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;Nullable&lt;DateTimeOffset&gt;&gt;.DeserializeFromUtf8Bytes(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 107.6430074223418 < 110.5242552076098.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 35.34332419654943 (T) = (0 -106.58819113361962) / Math.Sqrt((2.286433183878735 / (174)) + (2.075453254559998 / (26))) is greater than 1.9720174778361754 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (174) + (26) - 2, .975) and 0.09181884010753298 = (117.36445969242543 - 106.58819113361962) / 117.36445969242543 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;Nullable&lt;DateTimeOffset&gt;&gt;.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 216.51348464483542 < 223.4636198523534.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 83.63178947667878 (T) = (0 -217.58117597731052) / Math.Sqrt((4.932724055938346 / (175)) + (0.8285227896456544 / (27))) is greater than 1.9718962236336928 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (175) + (27) - 2, .975) and 0.08530680727920231 = (237.8733959198987 - 217.58117597731052) / 237.8733959198987 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

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.ReadJson<ImmutableDictionary<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 36.35 μs 32.00 μs 0.88 0.00 False
DeserializeFromString - Duration of single invocation 36.13 μs 32.19 μs 0.89 0.01 False
DeserializeFromString - Duration of single invocation 36.17 μs 32.92 μs 0.91 0.00 False
DeserializeFromReader - Duration of single invocation 42.20 μs 36.08 μs 0.86 0.00 False
DeserializeFromStream - Duration of single invocation 37.82 μs 33.76 μs 0.89 0.01 False
DeserializeFromUtf8Bytes - Duration of single invocation 36.04 μs 32.03 μs 0.89 0.00 False
DeserializeFromReader - Duration of single invocation 42.77 μs 35.79 μs 0.84 0.00 False
DeserializeFromStream - Duration of single invocation 37.94 μs 33.83 μs 0.89 0.00 False

graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;ImmutableDictionary&lt;String, String&gt;&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.ReadJson<ImmutableDictionary<String, String>>.DeserializeFromUtf8Bytes(Mode: SourceGen)


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 32.002287913639236 < 34.16538544856158.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 40.34315575786671 (T) = (0 -32193.934903955997) / Math.Sqrt((236426.22489955914 / (199)) + (252925.66735573713 / (27))) is greater than 1.9706109611022053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (199) + (27) - 2, .975) and 0.11406233548995326 = (36338.826300787565 - 32193.934903955997) / 36338.826300787565 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;ImmutableDictionary&lt;String, String&gt;&gt;.DeserializeFromString(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 32.19403118046726 < 34.96498836314953.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 39.41621927663975 (T) = (0 -32625.800985628535) / Math.Sqrt((203852.07103314562 / (176)) + (269175.4091643545 / (27))) is greater than 1.971836506779775 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (176) + (27) - 2, .975) and 0.11303736076965519 = (36783.737603580834 - 32625.800985628535) / 36783.737603580834 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;ImmutableDictionary&lt;String, String&gt;&gt;.DeserializeFromString(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 32.920928272564254 < 34.54816325793781.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 53.853236205471774 (T) = (0 -32716.777322861504) / Math.Sqrt((274027.0311969459 / (175)) + (111864.90433248693 / (27))) is greater than 1.9718962236336928 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (175) + (27) - 2, .975) and 0.11061445514057007 = (36785.8208534663 - 32716.777322861504) / 36785.8208534663 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;ImmutableDictionary&lt;String, String&gt;&gt;.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 36.08219096975484 < 40.754860164214115.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 69.44627841626142 (T) = (0 -35908.449631809446) / Math.Sqrt((274119.8745602535 / (203)) + (243866.21784005707 / (27))) is greater than 1.9704231946743616 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (203) + (27) - 2, .975) and 0.16462102222862748 = (42984.622054538835 - 35908.449631809446) / 42984.622054538835 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;ImmutableDictionary&lt;String, String&gt;&gt;.DeserializeFromStream(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 33.759774298618055 < 36.5507051248333.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 42.612301200972595 (T) = (0 -33748.865530589675) / Math.Sqrt((276981.71731215215 / (203)) + (295810.527965932 / (27))) is greater than 1.9704231946743616 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (203) + (27) - 2, .975) and 0.12292115396556688 = (38478.713382701666 - 33748.865530589675) / 38478.713382701666 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;ImmutableDictionary&lt;String, String&gt;&gt;.DeserializeFromUtf8Bytes(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 32.02508929374136 < 34.15154516255833.
IsChangePoint: Marked as a change because one of 2/8/2023 7:09:09 PM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 64.25035222639718 (T) = (0 -32006.28924424781) / Math.Sqrt((257666.8624557484 / (205)) + (79613.97892867064 / (25))) is greater than 1.9704231946743616 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (205) + (25) - 2, .975) and 0.11799764307647166 = (36288.21282959772 - 32006.28924424781) / 36288.21282959772 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;ImmutableDictionary&lt;String, String&gt;&gt;.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 35.794039738286365 < 40.38964362276728.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 66.49839394344158 (T) = (0 -36013.54301587786) / Math.Sqrt((259843.69458498256 / (200)) + (262345.09072132676 / (27))) is greater than 1.9705633902925863 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (200) + (27) - 2, .975) and 0.16233801425955743 = (42992.9298797582 - 36013.54301587786) / 42992.9298797582 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;ImmutableDictionary&lt;String, String&gt;&gt;.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 33.826688412058374 < 36.180312230581805.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 49.62572998673336 (T) = (0 -33783.278382269746) / Math.Sqrt((257540.72284119768 / (196)) + (198831.09643258204 / (27))) is greater than 1.9707562704893595 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (196) + (27) - 2, .975) and 0.12036979584976053 = (38406.22823417693 - 33783.278382269746) / 38406.22823417693 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Feb 14, 2023

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
DeserializeFromUtf8Bytes - Duration of single invocation 22.00 μs 18.97 μs 0.86 0.03 False
DeserializeFromReader - Duration of single invocation 32.03 μs 24.59 μs 0.77 0.04 False
DeserializeFromUtf8Bytes - Duration of single invocation 21.89 μs 18.72 μs 0.86 0.02 False
DeserializeFromStream - Duration of single invocation 23.81 μs 20.36 μs 0.86 0.01 False
DeserializeFromStream - Duration of single invocation 24.15 μs 20.06 μs 0.83 0.01 False
DeserializeFromString - Duration of single invocation 22.66 μs 19.92 μs 0.88 0.01 False
DeserializeFromReader - Duration of single invocation 32.12 μs 24.83 μs 0.77 0.03 False
DeserializeFromString - Duration of single invocation 23.11 μs 19.81 μs 0.86 0.04 False

graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;IndexViewModel&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.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 18.96815933815881 < 20.90031263430861.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 73.31923415627168 (T) = (0 -18662.00951855642) / Math.Sqrt((125079.75492935407 / (175)) + (45766.240559843565 / (27))) is greater than 1.9718962236336928 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (175) + (27) - 2, .975) and 0.1616807506250001 = (22261.22033159764 - 18662.00951855642) / 22261.22033159764 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;IndexViewModel&gt;.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 24.590702291478305 < 30.431838067404687.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 120.25600966871855 (T) = (0 -24990.963905664) / Math.Sqrt((465150.7612282794 / (199)) + (33837.960678283955 / (27))) is greater than 1.9706109611022053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (199) + (27) - 2, .975) and 0.2238107307557968 = (32196.9974282154 - 24990.963905664) / 32196.9974282154 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;IndexViewModel&gt;.DeserializeFromUtf8Bytes(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 18.723745049769313 < 20.842078160852132.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 78.20039883164657 (T) = (0 -18658.72593445438) / Math.Sqrt((78942.87810051198 / (176)) + (43579.9514383011 / (27))) is greater than 1.971836506779775 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (176) + (27) - 2, .975) and 0.15990563123955948 = (22210.273783867087 - 18658.72593445438) / 22210.273783867087 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;IndexViewModel&gt;.DeserializeFromStream(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 20.360746620796355 < 22.620768175567207.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 95.6060214957563 (T) = (0 -20213.22438809376) / Math.Sqrt((117885.8301280627 / (200)) + (26015.127934344076 / (27))) is greater than 1.9705633902925863 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (200) + (27) - 2, .975) and 0.1571087177594028 = (23980.820319273444 - 20213.22438809376) / 23980.820319273444 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;IndexViewModel&gt;.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 20.056854896207057 < 22.799924462961112.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 77.00667308583432 (T) = (0 -20268.31713504612) / Math.Sqrt((156878.99820373638 / (203)) + (42495.033347019766 / (27))) is greater than 1.9704231946743616 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (203) + (27) - 2, .975) and 0.15544197584153513 = (23998.72661827101 - 20268.31713504612) / 23998.72661827101 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;IndexViewModel&gt;.DeserializeFromString(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 19.918635354189384 < 21.663956863050853.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 63.02752786353346 (T) = (0 -19597.93895496042) / Math.Sqrt((89077.89445341224 / (167)) + (69136.36564848089 / (27))) is greater than 1.972396491315351 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (167) + (27) - 2, .975) and 0.1517427877203204 = (23103.769318142582 - 19597.93895496042) / 23103.769318142582 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;IndexViewModel&gt;.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 24.831318450379108 < 30.303964526003593.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 101.53870478250403 (T) = (0 -24964.008157160082) / Math.Sqrt((442839.8756918064 / (203)) + (74131.76057225106 / (27))) is greater than 1.9704231946743616 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (203) + (27) - 2, .975) and 0.22209527227243908 = (32091.34392342068 - 24964.008157160082) / 32091.34392342068 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;IndexViewModel&gt;.DeserializeFromString(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 19.80526691788883 < 21.802151420353237.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 51.189930480003675 (T) = (0 -19601.247024264158) / Math.Sqrt((113461.88598971658 / (174)) + (106153.51897448931 / (26))) is greater than 1.9720174778361754 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (174) + (26) - 2, .975) and 0.15232939246510122 = (23123.660122257064 - 19601.247024264158) / 23123.660122257064 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

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
DeserializeFromStream - Duration of single invocation 617.42 ns 570.98 ns 0.92 0.03 False
DeserializeFromReader - Duration of single invocation 567.95 ns 524.89 ns 0.92 0.01 False
DeserializeFromUtf8Bytes - Duration of single invocation 334.70 ns 309.12 ns 0.92 0.02 False
DeserializeFromReader - Duration of single invocation 560.90 ns 524.98 ns 0.94 0.01 False

graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;LoginViewModel&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>.DeserializeFromStream(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 570.975175671988 < 579.3952500841588.
IsChangePoint: Marked as a change because one of 1/18/2023 3:58:17 AM, 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 20.11763013377864 (T) = (0 -576.0664080326393) / Math.Sqrt((116.45679331479982 / (299)) + (76.64866543531767 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.05904228273327402 = (612.2128523542851 - 576.0664080326393) / 612.2128523542851 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;LoginViewModel&gt;.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 524.8873950403556 < 538.9035799413468.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 54.26756856808671 (T) = (0 -522.705182960737) / Math.Sqrt((73.15871666211224 / (299)) + (15.901017538517197 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.0865830105798422 = (572.2525298030127 - 522.705182960737) / 572.2525298030127 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;LoginViewModel&gt;.DeserializeFromUtf8Bytes(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 309.1224055595434 < 315.45983887442674.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 35.39471038846417 (T) = (0 -313.6812286442662) / Math.Sqrt((22.822494133656434 / (299)) + (11.331174412507373 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.07361766638378821 = (338.60881977291706 - 313.6812286442662) / 338.60881977291706 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;LoginViewModel&gt;.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 524.9757848352361 < 536.2312972631987.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 33.73415956996643 (T) = (0 -526.1686709702678) / Math.Sqrt((54.78733707510887 / (299)) + (37.41334297913748 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.07433580172171093 = (568.4228383780292 - 526.1686709702678) / 568.4228383780292 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

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in MicroBenchmarks.Serializers.Json_FromStream<MyEventsListerViewModel>

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 302.24 μs 252.33 μs 0.83 0.10 False
SystemTextJson_SourceGen_ - Duration of single invocation 300.38 μs 252.09 μs 0.84 0.08 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromStream&lt;MyEventsListerViewModel&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Json_FromStream<MyEventsListerViewModel>.SystemTextJson_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 252.33253692514265 < 288.1331743090551.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 52.655516695674315 (T) = (0 -255447.40999723665) / Math.Sqrt((41296839.483299576 / (168)) + (11267509.389443746 / (27))) is greater than 1.9723316757956526 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (168) + (27) - 2, .975) and 0.14373139203448967 = (298326.2583970915 - 255447.40999723665) / 298326.2583970915 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### MicroBenchmarks.Serializers.Json_FromStream&lt;MyEventsListerViewModel&gt;.SystemTextJson_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 252.08578252946648 < 285.6440661835279.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 66.26048445301828 (T) = (0 -251213.30894948382) / Math.Sqrt((63116992.314424425 / (168)) + (3481301.4398231655 / (27))) is greater than 1.9723316757956526 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (168) + (27) - 2, .975) and 0.15780251798130482 = (298283.13942157733 - 251213.30894948382) / 298283.13942157733 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

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in MicroBenchmarks.Serializers.Json_FromStream<IndexViewModel>

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 23.15 μs 20.43 μs 0.88 0.02 False
SystemTextJson_SourceGen_ - Duration of single invocation 23.49 μs 20.15 μs 0.86 0.01 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromStream&lt;IndexViewModel&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Json_FromStream<IndexViewModel>.SystemTextJson_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 20.434095296323473 < 22.102988718811964.
IsChangePoint: Marked as a change because one of 12/30/2022 11:24:32 PM, 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 81.26283768074448 (T) = (0 -19952.313846163404) / Math.Sqrt((169946.8407231447 / (299)) + (40876.30801384711 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.1567260790599346 = (23660.537045804704 - 19952.313846163404) / 23660.537045804704 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### MicroBenchmarks.Serializers.Json_FromStream&lt;IndexViewModel&gt;.SystemTextJson_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 20.14709755844993 < 22.11560015452329.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 82.6744519565448 (T) = (0 -19991.762481341608) / Math.Sqrt((88820.35882729181 / (168)) + (36152.955792901215 / (27))) is greater than 1.9723316757956526 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (168) + (27) - 2, .975) and 0.15162197877459796 = (23564.686945172616 - 19991.762481341608) / 23564.686945172616 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

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in System.Text.Json.Tests.Perf_Depth

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ReadSpanEmptyLoop - Duration of single invocation 2.06 μs 1.86 μs 0.91 0.01 False
ReadSpanEmptyLoop - Duration of single invocation 17.61 μs 16.20 μs 0.92 0.00 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Depth*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Depth.ReadSpanEmptyLoop(Depth: 64)


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.8623565643205326 < 1.9727810426598336.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 53.930397832057906 (T) = (0 -1856.24591235381) / Math.Sqrt((997.7965951414792 / (171)) + (266.61247970490075 / (27))) is greater than 1.9721412216619414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (171) + (27) - 2, .975) and 0.10326323138915149 = (2070.000893605996 - 1856.24591235381) / 2070.000893605996 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Depth.ReadSpanEmptyLoop(Depth: 512)

```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.19858385955832 < 16.757891790057332.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 63.98715295646048 (T) = (0 -16188.574951100358) / Math.Sqrt((70353.71104680488 / (178)) + (6389.159117051191 / (27))) is greater than 1.971718848463318 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (178) + (27) - 2, .975) and 0.09037801427153873 = (17797.035697346197 - 16188.574951100358) / 17797.035697346197 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

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in System.Text.Json.Document.Tests.Perf_ParseThenWrite

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ParseThenWrite - Duration of single invocation 1.55 ms 1.35 ms 0.87 0.00 False
ParseThenWrite - Duration of single invocation 3.66 μs 3.33 μs 0.91 0.01 False
ParseThenWrite - Duration of single invocation 1.32 ms 1.11 ms 0.84 0.01 False

graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Document.Tests.Perf_ParseThenWrite*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: Json400KB)


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.3535389118788819 < 1.4846321834062497.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 70.63408042406628 (T) = (0 -1354759.9059707804) / Math.Sqrt((116657390.87597859 / (200)) + (212335452.14990675 / (27))) is greater than 1.9705633902925863 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (200) + (27) - 2, .975) and 0.13159515940794408 = (1560055.6821483632 - 1354759.9059707804) / 1560055.6821483632 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: LotsOfStrings)

```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 3.3258798358944284 < 3.4756397447967164.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 52.79798097861156 (T) = (0 -3315.2333099231346) / Math.Sqrt((2586.04563990846 / (203)) + (926.8783127321999 / (27))) is greater than 1.9704231946743616 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (203) + (27) - 2, .975) and 0.09849906780920274 = (3677.4596581576084 - 3315.2333099231346) / 3677.4596581576084 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: Json400KB)

```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.1124436171851853 < 1.2551730082054204.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 29.147750110945154 (T) = (0 -1120407.8398648186) / Math.Sqrt((105104163.6882848 / (299)) + (1190144549.9955955 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.1477822450946844 = (1314696.6645740676 - 1120407.8398648186) / 1314696.6645740676 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

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Feb 14, 2023

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.ReadJson<MyEventsListerViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
DeserializeFromReader - Duration of single invocation 357.59 μs 292.00 μs 0.82 0.14 False
DeserializeFromUtf8Bytes - Duration of single invocation 252.05 μs 222.82 μs 0.88 0.04 False
DeserializeFromReader - Duration of single invocation 374.42 μs 292.19 μs 0.78 0.21 False
DeserializeFromString - Duration of single invocation 264.52 μs 227.27 μs 0.86 0.04 False
DeserializeFromStream - Duration of single invocation 299.46 μs 253.69 μs 0.85 0.08 False
DeserializeFromString - Duration of single invocation 268.34 μs 228.36 μs 0.85 0.03 False
DeserializeFromUtf8Bytes - Duration of single invocation 265.36 μs 217.86 μs 0.82 0.02 False
DeserializeFromStream - Duration of single invocation 296.96 μs 249.32 μs 0.84 0.04 False

graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;MyEventsListerViewModel&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.ReadJson<MyEventsListerViewModel>.DeserializeFromReader(Mode: SourceGen)


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 292.00214465408806 < 353.6322271166092.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 89.8951391766804 (T) = (0 -291400.45876592596) / Math.Sqrt((89348948.10440014 / (194)) + (6472451.50016877 / (27))) is greater than 1.9708553671592532 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (194) + (27) - 2, .975) and 0.2051860927878125 = (366627.2773057206 - 291400.45876592596) / 366627.2773057206 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;MyEventsListerViewModel&gt;.DeserializeFromUtf8Bytes(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 222.8168802188129 < 249.02587511418264.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 78.02939851198124 (T) = (0 -220612.87741547156) / Math.Sqrt((26452240.37315858 / (196)) + (3901449.2373654293 / (27))) is greater than 1.9707562704893595 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (196) + (27) - 2, .975) and 0.15752305017237567 = (261862.21173245183 - 220612.87741547156) / 261862.21173245183 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;MyEventsListerViewModel&gt;.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 292.1894332945285 < 356.1809996921799.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 93.84400909494383 (T) = (0 -293398.1149928897) / Math.Sqrt((91971209.04042803 / (195)) + (4412646.901892366 / (27))) is greater than 1.970805592384696 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (195) + (27) - 2, .975) and 0.2031211962622433 = (368184.11233515944 - 293398.1149928897) / 368184.11233515944 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;MyEventsListerViewModel&gt;.DeserializeFromString(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 227.26993410326088 < 255.74304026633732.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 68.252402430628 (T) = (0 -226135.460362966) / Math.Sqrt((24457987.050725907 / (203)) + (7065803.380543683 / (27))) is greater than 1.9704231946743616 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (203) + (27) - 2, .975) and 0.15724720987985782 = (268329.53033680056 - 226135.460362966) / 268329.53033680056 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;MyEventsListerViewModel&gt;.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 253.68722584427766 < 286.53098365400126.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 45.98327959571475 (T) = (0 -257271.30920477342) / Math.Sqrt((38373497.26997952 / (169)) + (17792203.19877536 / (27))) is greater than 1.9722675325819379 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (169) + (27) - 2, .975) and 0.1440126902980246 = (300555.05062843306 - 257271.30920477342) / 300555.05062843306 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;MyEventsListerViewModel&gt;.DeserializeFromString(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 228.35917488851726 < 255.11052925246898.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 69.05898164276815 (T) = (0 -227172.20817442777) / Math.Sqrt((28793476.953913223 / (196)) + (5413535.257048567 / (27))) is greater than 1.9707562704893595 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (196) + (27) - 2, .975) and 0.151951448616481 = (267876.41792892123 - 227172.20817442777) / 267876.41792892123 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;MyEventsListerViewModel&gt;.DeserializeFromUtf8Bytes(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 217.8555926959326 < 252.95543590577853.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 67.11078556889784 (T) = (0 -221894.37243197535) / Math.Sqrt((24860628.565534137 / (201)) + (6519408.912696868 / (27))) is greater than 1.9705162426829501 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (201) + (27) - 2, .975) and 0.15451907999140568 = (262447.5220915923 - 221894.37243197535) / 262447.5220915923 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;MyEventsListerViewModel&gt;.DeserializeFromStream(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 249.3183495531281 < 287.07181844251926.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 77.18132754489186 (T) = (0 -252346.2571826998) / Math.Sqrt((41478381.48087246 / (262)) + (6894926.294713985 / (27))) is greater than 1.9682641128217124 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (262) + (27) - 2, .975) and 0.16438271289920597 = (301987.8371092881 - 252346.2571826998) / 301987.8371092881 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

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in MicroBenchmarks.Serializers.Json_FromStream<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 252.74 μs 232.38 μs 0.92 0.02 False
SystemTextJson_SourceGen_ - Duration of single invocation 251.99 μs 234.49 μs 0.93 0.01 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromStream&lt;CollectionsOfPrimitives&gt;*'

Payloads

Baseline
Compare

Histogram

MicroBenchmarks.Serializers.Json_FromStream<CollectionsOfPrimitives>.SystemTextJson_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 232.38196024383774 < 240.0100898235223.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 42.58637872697878 (T) = (0 -234732.49680351207) / Math.Sqrt((9967896.098896375 / (168)) + (3142084.186612685 / (27))) is greater than 1.9723316757956526 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (168) + (27) - 2, .975) and 0.07067391780051405 = (252583.56705964613 - 234732.49680351207) / 252583.56705964613 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### MicroBenchmarks.Serializers.Json_FromStream&lt;CollectionsOfPrimitives&gt;.SystemTextJson_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 234.48692066167285 < 239.22096276882624.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 37.45472963954073 (T) = (0 -232926.9669330606) / Math.Sqrt((7562343.019893819 / (168)) + (5795670.487854907 / (27))) is greater than 1.9723316757956526 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (168) + (27) - 2, .975) and 0.07573440868701807 = (252013.0243106552 - 232926.9669330606) / 252013.0243106552 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

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in System.Text.Json.Document.Tests.Perf_EnumerateArray

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Parse - Duration of single invocation 8.66 μs 7.38 μs 0.85 0.05 False
Parse - Duration of single invocation 755.59 μs 556.33 μs 0.74 0.00 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Document.Tests.Perf_EnumerateArray*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Document.Tests.Perf_EnumerateArray.Parse(TestCase: ArrayOfStrings)


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 7.378867786367598 < 8.231806114636942.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 26.702211884403702 (T) = (0 -7147.769487481564) / Math.Sqrt((24368.127073965014 / (266)) + (78438.79113814999 / (27))) is greater than 1.9681495542477299 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (266) + (27) - 2, .975) and 0.16978279521533043 = (8609.517420607364 - 7147.769487481564) / 8609.517420607364 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateArray.Parse(TestCase: Json400KB)

```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 556.3333381962865 < 723.9686063314908.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 187.79379322020557 (T) = (0 -553497.4265970546) / Math.Sqrt((66243842.98206008 / (198)) + (22572598.126935422 / (27))) is greater than 1.9706589608356722 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (198) + (27) - 2, .975) and 0.26851696863047714 = (756678.4229577632 - 553497.4265970546) / 756678.4229577632 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

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in System.Text.Json.Serialization.Tests.ReadJson<ArrayList>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
DeserializeFromUtf8Bytes - Duration of single invocation 19.83 μs 17.27 μs 0.87 0.01 False
DeserializeFromString - Duration of single invocation 20.47 μs 17.67 μs 0.86 0.04 False
DeserializeFromString - Duration of single invocation 20.32 μs 17.66 μs 0.87 0.01 False
DeserializeFromUtf8Bytes - Duration of single invocation 20.18 μs 17.46 μs 0.87 0.01 False
DeserializeFromReader - Duration of single invocation 22.69 μs 19.63 μs 0.87 0.01 False
DeserializeFromReader - Duration of single invocation 22.67 μs 19.77 μs 0.87 0.00 False
DeserializeFromStream - Duration of single invocation 20.84 μs 18.09 μs 0.87 0.00 False
DeserializeFromStream - Duration of single invocation 20.87 μs 18.08 μs 0.87 0.00 False

graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;ArrayList&gt;*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.DeserializeFromUtf8Bytes(Mode: SourceGen)


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 17.272350458760855 < 19.030862466629717.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 110.2607738671319 (T) = (0 -17363.77204873709) / Math.Sqrt((40739.13028972086 / (167)) + (10884.814546666767 / (27))) is greater than 1.972396491315351 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (167) + (27) - 2, .975) and 0.13906809130757566 = (20168.577646412283 - 17363.77204873709) / 20168.577646412283 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;ArrayList&gt;.DeserializeFromString(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 17.67077360998377 < 19.337792162758497.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 73.68347606545757 (T) = (0 -17645.40420258464) / Math.Sqrt((68820.50481330839 / (169)) + (29125.575722923866 / (27))) is greater than 1.9722675325819379 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (169) + (27) - 2, .975) and 0.13864998103130827 = (20485.75354269077 - 17645.40420258464) / 20485.75354269077 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;ArrayList&gt;.DeserializeFromString(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 17.66271050006541 < 19.331659700472375.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 92.53251162863788 (T) = (0 -17591.557805273776) / Math.Sqrt((47961.14129622282 / (168)) + (17255.07793748995 / (26))) is greater than 1.972396491315351 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (168) + (26) - 2, .975) and 0.13945352029894134 = (20442.309881256882 - 17591.557805273776) / 20442.309881256882 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;ArrayList&gt;.DeserializeFromUtf8Bytes(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 17.46249250944368 < 19.16818115877388.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 93.29057638105333 (T) = (0 -17360.75392986688) / Math.Sqrt((54005.30036719484 / (168)) + (17024.287261601927 / (27))) is greater than 1.9723316757956526 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (168) + (27) - 2, .975) and 0.1422201307091719 = (20239.171553676042 - 17360.75392986688) / 20239.171553676042 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;ArrayList&gt;.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 19.62927629839577 < 21.586094720570188.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 85.26458410411325 (T) = (0 -19716.528342712936) / Math.Sqrt((46876.491106863345 / (167)) + (29836.61912883194 / (27))) is greater than 1.972396491315351 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (167) + (27) - 2, .975) and 0.1386614500209138 = (22890.567644036906 - 19716.528342712936) / 22890.567644036906 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;ArrayList&gt;.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 19.765404805264183 < 21.579197596076362.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 58.03325199933954 (T) = (0 -19644.639011965006) / Math.Sqrt((43506.62863226168 / (174)) + (71713.52409379181 / (26))) is greater than 1.9720174778361754 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (174) + (26) - 2, .975) and 0.13943547968756312 = (22827.61902016692 - 19644.639011965006) / 22827.61902016692 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;ArrayList&gt;.DeserializeFromStream(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 18.091851722676918 < 19.742448537297403.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 73.80490960675375 (T) = (0 -17995.6084540356) / Math.Sqrt((37800.30512601536 / (176)) + (35106.27924437958 / (27))) is greater than 1.971836506779775 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (176) + (27) - 2, .975) and 0.1376591272489843 = (20868.32367880988 - 17995.6084540356) / 20868.32367880988 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;ArrayList&gt;.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 18.08388292415025 < 19.831211900945146.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 77.84855877280144 (T) = (0 -18088.08983991971) / Math.Sqrt((42585.29020078427 / (175)) + (28848.816684722966 / (27))) is greater than 1.9718962236336928 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (175) + (27) - 2, .975) and 0.13485948957068042 = (20907.690279054936 - 18088.08983991971) / 20907.690279054936 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

@performanceautofiler
Copy link
Author

Run Information

Architecture x64
OS alpine 3.15
Baseline 59dddfdef247b9b85a69d663a1d1c1746206711e
Compare 1f8eabf77aafb1b35f7e9aeeeb8aa67893e5473c
Diff Diff

Improvements in System.Text.Json.Tests.Perf_Reader

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ReadSpanEmptyLoop - Duration of single invocation 2.51 μs 2.30 μs 0.92 0.03 False
ReadReturnBytes - Duration of single invocation 2.63 μs 2.32 μs 0.88 0.11 False
ReadSpanEmptyLoop - Duration of single invocation 69.36 μs 50.71 μs 0.73 0.00 False
ReadReturnBytes - Duration of single invocation 785.25 ns 702.79 ns 0.89 0.02 False
ReadReturnBytes - Duration of single invocation 10.10 μs 9.20 μs 0.91 0.02 False
ReadSingleSpanSequenceEmptyLoop - Duration of single invocation 5.45 μs 5.00 μs 0.92 0.00 False
ReadMultiSpanSequenceEmptyLoop - Duration of single invocation 602.74 ns 540.11 ns 0.90 0.00 False
ReadReturnBytes - Duration of single invocation 7.16 μs 6.02 μs 0.84 0.05 False
ReadMultiSpanSequenceEmptyLoop - Duration of single invocation 2.76 μs 2.52 μs 0.91 0.01 False
ReadReturnBytes - Duration of single invocation 595.92 ns 554.88 ns 0.93 0.04 False
ReadSpanEmptyLoop - Duration of single invocation 9.11 μs 7.80 μs 0.86 0.06 False
ReadSingleSpanSequenceEmptyLoop - Duration of single invocation 68.95 μs 50.68 μs 0.74 0.00 False
ReadReturnBytes - Duration of single invocation 1.81 μs 1.65 μs 0.91 0.11 False
ReadSpanEmptyLoop - Duration of single invocation 5.97 μs 5.16 μs 0.86 0.09 False
ReadMultiSpanSequenceEmptyLoop - Duration of single invocation 1.50 μs 1.28 μs 0.85 0.04 False
ReadSingleSpanSequenceEmptyLoop - Duration of single invocation 5.99 μs 5.12 μs 0.85 0.04 False
ReadSpanEmptyLoop - Duration of single invocation 1.53 μs 1.28 μs 0.84 0.04 False
ReadSpanEmptyLoop - Duration of single invocation 48.87 μs 35.93 μs 0.74 0.00 False
ReadSingleSpanSequenceEmptyLoop - Duration of single invocation 1.59 μs 1.23 μs 0.77 0.01 False
ReadSingleSpanSequenceEmptyLoop - Duration of single invocation 49.72 μs 35.04 μs 0.70 0.00 False
ReadSpanEmptyLoop - Duration of single invocation 5.56 μs 5.05 μs 0.91 0.01 False
ReadSpanEmptyLoop - Duration of single invocation 2.68 μs 2.43 μs 0.91 0.00 False
ReadSingleSpanSequenceEmptyLoop - Duration of single invocation 9.30 μs 7.66 μs 0.82 0.01 False
ReadReturnBytes - Duration of single invocation 4.60 μs 4.30 μs 0.93 0.01 False
ReadMultiSpanSequenceEmptyLoop - Duration of single invocation 9.51 μs 8.34 μs 0.88 0.03 False
ReadMultiSpanSequenceEmptyLoop - Duration of single invocation 6.17 μs 5.47 μs 0.89 0.04 False
ReadReturnBytes - Duration of single invocation 76.72 μs 61.17 μs 0.80 0.01 False
ReadMultiSpanSequenceEmptyLoop - Duration of single invocation 71.03 μs 52.97 μs 0.75 0.00 False
ReadMultiSpanSequenceEmptyLoop - Duration of single invocation 48.87 μs 36.21 μs 0.74 0.00 False
ReadSpanEmptyLoop - Duration of single invocation 77.70 ns 71.53 ns 0.92 0.06 False
ReadSingleSpanSequenceEmptyLoop - Duration of single invocation 86.56 ns 78.04 ns 0.90 0.02 False
ReadReturnBytes - Duration of single invocation 6.36 μs 6.03 μs 0.95 0.01 False
ReadReturnBytes - Duration of single invocation 59.79 μs 43.33 μs 0.72 0.00 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Reader*'

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: LotsOfNumbers)


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.3030107977695637 < 2.3845021444895407.
IsChangePoint: Marked as a change because one of 1/20/2023 11:53:59 PM, 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 28.05296917223331 (T) = (0 -2278.423531919947) / Math.Sqrt((4046.589944312029 / (204)) + (476.4505035101666 / (26))) is greater than 1.9704231946743616 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (204) + (26) - 2, .975) and 0.07068368817830513 = (2451.720154845513 - 2278.423531919947) / 2451.720154845513 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: LotsOfNumbers)

```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.322201176040272 < 2.5030477728173377.
IsChangePoint: Marked as a change because one of 1/21/2023 1:51:00 AM, 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 21.233427259414803 (T) = (0 -2342.7038746902876) / Math.Sqrt((7227.145950828744 / (219)) + (2396.192195987456 / (26))) is greater than 1.9697743954265454 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (219) + (26) - 2, .975) and 0.09206480469938953 = (2580.2545014400903 - 2342.7038746902876) / 2580.2545014400903 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: Json40KB)

```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 50.71389657738096 < 66.04200581944325.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 232.14753924046653 (T) = (0 -50687.263531125805) / Math.Sqrt((792550.9149408017 / (200)) + (72847.71829303073 / (27))) is greater than 1.9705633902925863 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (200) + (27) - 2, .975) and 0.27208732519784024 = (69633.71471021872 - 50687.263531125805) / 69633.71471021872 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: Json400B)

```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 702.7866053655447 < 743.8704840273724.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 40.66104723421759 (T) = (0 -711.8544796951362) / Math.Sqrt((150.24021544555032 / (173)) + (32.07619213529962 / (27))) is greater than 1.9720174778361754 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (173) + (27) - 2, .975) and 0.07571018959579928 = (770.1637210344616 - 711.8544796951362) / 770.1637210344616 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: BroadTree)

```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 9.19830197038892 < 9.664158380863446.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 33.48049590012022 (T) = (0 -9147.255421175176) / Math.Sqrt((22535.770137567328 / (299)) + (26852.650545635384 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.1069214815309609 = (10242.386567371332 - 9147.255421175176) / 10242.386567371332 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json4KB)

```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.00357433121676 < 5.228290950043089.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 65.10271687829136 (T) = (0 -5068.738928544406) / Math.Sqrt((3827.1805779221095 / (172)) + (618.928996587882 / (27))) is greater than 1.9720790337782532 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (172) + (27) - 2, .975) and 0.07946660774219358 = (5506.306421011227 - 5068.738928544406) / 5506.306421011227 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json400B)

```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 540.1082824850922 < 567.1683684320514.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 63.95755691305115 (T) = (0 -542.6578528372759) / Math.Sqrt((117.86054562786053 / (180)) + (8.559770214366656 / (27))) is greater than 1.9716034992643237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (180) + (27) - 2, .975) and 0.10409250866012672 = (605.7074620792652 - 542.6578528372759) / 605.7074620792652 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: BroadTree)

```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.024423526492805 < 6.790387811475396.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 38.5847131180008 (T) = (0 -6207.583547800042) / Math.Sqrt((19542.23624907965 / (299)) + (12074.093988167597 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.12336164502156063 = (7081.122463496039 - 6207.583547800042) / 7081.122463496039 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: LotsOfNumbers)

```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.5191852341366303 < 2.6248063430316986.
IsChangePoint: Marked as a change because one of 1/20/2023 11:53:59 PM, 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 33.3870472689015 (T) = (0 -2557.5381651878306) / Math.Sqrt((1701.5494229062522 / (207)) + (1040.5261140189823 / (27))) is greater than 1.9702419362013859 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (207) + (27) - 2, .975) and 0.08195025294054385 = (2785.8383201778665 - 2557.5381651878306) / 2785.8383201778665 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: Json400B)

```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 554.8833690804291 < 569.612235202256.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 35.282069828085646 (T) = (0 -553.4035285825971) / Math.Sqrt((108.93141700335482 / (299)) + (47.181245017411925 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.08479211421369554 = (604.6752187970259 - 553.4035285825971) / 604.6752187970259 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: BroadTree)

```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 7.802001363531213 < 8.718032517184426.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 19.412711582627292 (T) = (0 -8212.368718572152) / Math.Sqrt((16854.87950074772 / (207)) + (79284.77027119456 / (27))) is greater than 1.9702419362013859 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (207) + (27) - 2, .975) and 0.11493333049413854 = (9278.813677569817 - 8212.368718572152) / 9278.813677569817 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json40KB)

```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 50.68263350292508 < 65.52400901723438.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 218.17789570180582 (T) = (0 -51177.607705699505) / Math.Sqrt((546718.8509567122 / (173)) + (101979.76423163583 / (27))) is greater than 1.9720174778361754 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (173) + (27) - 2, .975) and 0.2620354414486273 = (69349.68232913698 - 51177.607705699505) / 69349.68232913698 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: LotsOfStrings)

```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.6476007501246899 < 1.7007665415914337.
IsChangePoint: Marked as a change because one of 1/20/2023 7:19:11 PM, 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 17.196096274472797 (T) = (0 -1640.5670448930646) / Math.Sqrt((2052.459093499319 / (172)) + (785.3078350629041 / (27))) is greater than 1.9720790337782532 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (172) + (27) - 2, .975) and 0.06290819998933846 = (1750.700459522108 - 1640.5670448930646) / 1750.700459522108 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: BroadTree)

```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.1588239097124 < 5.748481629048132.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 47.03617169987635 (T) = (0 -5167.528842012332) / Math.Sqrt((19446.202242215037 / (172)) + (4943.181286261004 / (27))) is greater than 1.9720790337782532 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (172) + (27) - 2, .975) and 0.13542540411322804 = (5976.961232260277 - 5167.528842012332) / 5976.961232260277 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: LotsOfStrings)

```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.276551994287423 < 1.4438960262781662.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 45.15703546957401 (T) = (0 -1300.5377550573214) / Math.Sqrt((1177.336653916429 / (205)) + (774.7777730784638 / (27))) is greater than 1.9703317732749426 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (205) + (27) - 2, .975) and 0.1692716087479633 = (1565.5390724003173 - 1300.5377550573214) / 1565.5390724003173 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: BroadTree)

```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.122578953076635 < 5.561961515428462.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 63.8740254369358 (T) = (0 -5148.765862158969) / Math.Sqrt((14496.088191364053 / (173)) + (1510.9098715287728 / (27))) is greater than 1.9720174778361754 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (173) + (27) - 2, .975) and 0.1278989642990106 = (5903.863946246117 - 5148.765862158969) / 5903.863946246117 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: LotsOfStrings)

```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.282535569779588 < 1.45754785767797.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 47.1531342411645 (T) = (0 -1229.853630376937) / Math.Sqrt((677.0485043119129 / (200)) + (1059.227855931371 / (27))) is greater than 1.9705633902925863 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (200) + (27) - 2, .975) and 0.2001853694999506 = (1537.6733351426997 - 1229.853630376937) / 1537.6733351426997 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: Json40KB)

```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 35.93224192128113 < 46.63753883519537.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 222.92307440815824 (T) = (0 -35829.39538781744) / Math.Sqrt((215314.55029954392 / (180)) + (61999.00522720457 / (27))) is greater than 1.9716034992643237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (180) + (27) - 2, .975) and 0.268839668394518 = (49003.47275288205 - 35829.39538781744) / 49003.47275288205 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: LotsOfStrings)

```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.2282909786012235 < 1.4905100620455993.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 79.82183677514627 (T) = (0 -1276.8389916877563) / Math.Sqrt((577.476209372595 / (299)) + (290.05411194388 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.18204323788139914 = (1561.010374656722 - 1276.8389916877563) / 1561.010374656722 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json40KB)

```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 35.04089880952381 < 46.93675386264891.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 248.1582965694405 (T) = (0 -35092.0106980708) / Math.Sqrt((300822.9768504284 / (299)) + (57647.29957430359 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.2838416683323906 = (49000.35250076244 - 35092.0106980708) / 49000.35250076244 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: Json4KB)

```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.0506265808238915 < 5.276547947259643.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 78.61041571365412 (T) = (0 -5020.431062509953) / Math.Sqrt((5109.645091430548 / (205)) + (430.59471847154686 / (27))) is greater than 1.9703317732749426 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (205) + (27) - 2, .975) and 0.09099621015138055 = (5523.003444623733 - 5020.431062509953) / 5523.003444623733 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: DeepTree)

```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.4310534528708985 < 2.5248752332762785.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 28.116609339606665 (T) = (0 -2472.086559564698) / Math.Sqrt((1085.0831753150794 / (173)) + (745.1272309106387 / (27))) is greater than 1.9720174778361754 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (173) + (27) - 2, .975) and 0.062082347676319774 = (2635.718128814541 - 2472.086559564698) / 2635.718128814541 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: BroadTree)

```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 7.65867145956123 < 8.861535944994287.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 62.647832745539944 (T) = (0 -7930.37140148195) / Math.Sqrt((19149.8932001566 / (299)) + (10284.126674838459 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.1428330442672379 = (9251.839852718718 - 7930.37140148195) / 9251.839852718718 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: Json4KB)

```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.299447269315697 < 4.439436465781612.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 37.77346173598686 (T) = (0 -4294.1351363235135) / Math.Sqrt((4535.400028858444 / (299)) + (1364.5626360930653 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.0665590029027122 = (4600.328408198207 - 4294.1351363235135) / 4600.328408198207 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: BroadTree)

```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 8.338079300285052 < 9.062231096162149.
IsChangePoint: Marked as a change because one of 1/21/2023 1:51:00 AM, 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 49.24981906719293 (T) = (0 -8466.639341248312) / Math.Sqrt((60825.48827525595 / (200)) + (11520.955681798134 / (27))) is greater than 1.9705633902925863 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (200) + (27) - 2, .975) and 0.13588544345575693 = (9798.051979482903 - 8466.639341248312) / 9798.051979482903 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: BroadTree)

```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.474424909514708 < 5.843229400195459.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 61.883275190234976 (T) = (0 -5391.703279380801) / Math.Sqrt((15060.134192516145 / (171)) + (1838.3068427057046 / (27))) is greater than 1.9721412216619414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (171) + (27) - 2, .975) and 0.12543514103412426 = (6165.012490618695 - 5391.703279380801) / 6165.012490618695 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: Json40KB)

```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 61.168774550653595 < 74.25162781770833.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 115.70766821622281 (T) = (0 -60168.51738056507) / Math.Sqrt((655601.3120835989 / (171)) + (514137.04123309784 / (27))) is greater than 1.9721412216619414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (171) + (27) - 2, .975) and 0.22532234786650507 = (77669.1017416837 - 60168.51738056507) / 77669.1017416837 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json40KB)

```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 52.9727582103588 < 68.53472451585235.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 220.1232270469291 (T) = (0 -53142.86142805145) / Math.Sqrt((831071.2803045133 / (198)) + (102168.98460482727 / (27))) is greater than 1.9706589608356722 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (198) + (27) - 2, .975) and 0.27009924345977926 = (72808.33860202068 - 53142.86142805145) / 72808.33860202068 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json40KB)

```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 36.21440460689483 < 46.56207548709288.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 299.4716767000728 (T) = (0 -36316.274257556295) / Math.Sqrt((314710.307695012 / (203)) + (11581.2330380168 / (27))) is greater than 1.9704231946743616 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (203) + (27) - 2, .975) and 0.26839727119988693 = (49639.33679842595 - 36316.274257556295) / 49639.33679842595 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: HelloWorld)

```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 71.5260832666084 < 74.15291986011529.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 38.511132976638095 (T) = (0 -68.78087187405293) / Math.Sqrt((3.842773713189866 / (207)) + (0.9059309440021143 / (27))) is greater than 1.9702419362013859 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (207) + (27) - 2, .975) and 0.11333600622280417 = (77.57264573364016 - 68.78087187405293) / 77.57264573364016 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: HelloWorld)

```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 78.03700212886962 < 82.1479997907556.
IsChangePoint: Marked as a change because one of 1/21/2023 1:51:00 AM, 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 11.913271325917734 (T) = (0 -80.72847980851792) / Math.Sqrt((1.718675168961261 / (299)) + (4.185499667176292 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.055864568213064104 = (85.50519034724248 - 80.72847980851792) / 85.50519034724248 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: Json4KB)

```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.029282977109762 < 6.049456254156485.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 22.716284925058712 (T) = (0 -5928.102102468489) / Math.Sqrt((9841.739605073613 / (172)) + (8022.359040305117 / (27))) is greater than 1.9720790337782532 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (172) + (27) - 2, .975) and 0.06727990944313017 = (6355.7139622983605 - 5928.102102468489) / 6355.7139622983605 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: Json40KB)

```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 43.32874987599207 < 56.553112296588225.
IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 2/14/2023 7:27:15 AM falls between 2/5/2023 7:19:43 PM and 2/14/2023 7:27:15 AM.
IsImprovementStdDev: Marked as improvement because 129.139596606249 (T) = (0 -43405.78564638599) / Math.Sqrt((536499.6783759361 / (299)) + (351039.11805142584 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.2657280552680559 = (59114.046175673866 - 43405.78564638599) / 59114.046175673866 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

@EgorBo
Copy link
Member

EgorBo commented Mar 28, 2023

dotnet/runtime#81758

@EgorBo EgorBo closed this as completed Mar 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant