dotnet / perf-autofiling-issues

A landing place for auto-filed performance issues before they receive triage
MIT License
9 stars 4 forks source link

[Perf] Linux/arm64: 1275 Improvements on 5/19/2023 1:23:34 PM #18145

Closed performanceautofiler[bot] closed 1 year ago

performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.ContainsKeyTrue<Int32, Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ImmutableSortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.ContainsKeyTrue(Int32%2c%20Int32).ImmutableSortedDictionary(Size%3a%20512).html>) 28.44 μs 19.85 μs 0.70 0.40 False
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.ContainsKeyTrue(Int32%2c%20Int32).SortedDictionary(Size%3a%20512).html>) 41.11 μs 28.95 μs 0.70 0.38 False
[IDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.ContainsKeyTrue(Int32%2c%20Int32).IDictionary(Size%3a%20512).html>) 6.99 μs 4.41 μs 0.63 0.03 True
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.ContainsKeyTrue(Int32%2c%20Int32).SortedList(Size%3a%20512).html>) 28.19 μs 22.50 μs 0.80 0.01 True
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.ContainsKeyTrue(Int32%2c%20Int32).ImmutableDictionary(Size%3a%20512).html>) 21.41 μs 12.70 μs 0.59 0.14 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsKeyTrue&lt;Int32, Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.ContainsKeyTrue<Int32, Int32>.ImmutableSortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 19.845173131443303 < 27.04157568262564. IsChangePoint: Marked as a change because one of 4/4/2023 3:37:20 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 64.24831238713575 (T) = (0 -19711.357975113613) / Math.Sqrt((10442347.66756669 / (299)) + (21903.516015626705 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.38572640402067115 = (32088.890201585236 - 19711.357975113613) / 32088.890201585236 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyTrue<Int32, Int32>.SortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 28.945020317313617 < 39.14906951306867. IsChangePoint: Marked as a change because one of 3/7/2023 1:52:33 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 21.472277173351426 (T) = (0 -23395.24281987641) / Math.Sqrt((11537708.18385077 / (299)) + (7268419.791378925 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.4342406839385659 = (41351.93563005508 - 23395.24281987641) / 41351.93563005508 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyTrue<Int32, Int32>.IDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.405113722940681 < 6.5899548041723595. IsChangePoint: Marked as a change because one of 4/27/2023 1:05:59 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 103.12809209773579 (T) = (0 -4315.327517342131) / Math.Sqrt((54540.45904620398 / (299)) + (5743.582384300903 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.39665352761270845 = (7152.320788861922 - 4315.327517342131) / 7152.320788861922 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyTrue<Int32, Int32>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.501847370607784 < 26.6740789767256. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 123.57486190259873 (T) = (0 -22396.154704592882) / Math.Sqrt((583104.0538311899 / (299)) + (16187.898195294174 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.24400698961639 = (29624.817157011155 - 22396.154704592882) / 29624.817157011155 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyTrue<Int32, Int32>.ImmutableDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.704356043624783 < 20.3472417208219. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 224.18218498029682 (T) = (0 -12688.148237350291) / Math.Sqrt((252321.94261828726 / (299)) + (7979.354076469249 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.4117397757369856 = (21568.937885008778 - 12688.148237350291) / 21568.937885008778 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Diagnostics.Perf_Activity

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[EnumerateActivityEventsLarge - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Diagnostics.Perf_Activity.EnumerateActivityEventsLarge.html>) 26.53 μs 5.82 μs 0.22 0.65 False
[EnumerateActivityEventsSmall - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Diagnostics.Perf_Activity.EnumerateActivityEventsSmall.html>) 132.74 ns 43.70 ns 0.33 0.60 False
[EnumerateActivityLinksLarge - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Diagnostics.Perf_Activity.EnumerateActivityLinksLarge.html>) 21.60 μs 5.86 μs 0.27 0.67 False
[EnumerateActivityLinksSmall - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Diagnostics.Perf_Activity.EnumerateActivityLinksSmall.html>) 161.04 ns 38.55 ns 0.24 0.59 False
[EnumerateActivityLinkTagsLarge - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Diagnostics.Perf_Activity.EnumerateActivityLinkTagsLarge.html>) 15.87 μs 9.60 μs 0.61 0.64 False
[EnumerateActivityTagObjectsLarge - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Diagnostics.Perf_Activity.EnumerateActivityTagObjectsLarge.html>) 17.01 μs 6.88 μs 0.40 0.70 False
[ActivityAllocations - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Diagnostics.Perf_Activity.ActivityAllocations(idFormat%3a%20W3C).html>) 347.94 ns 303.58 ns 0.87 0.10 False
[EnumerateActivityLinkTagsSmall - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Diagnostics.Perf_Activity.EnumerateActivityLinkTagsSmall.html>) 100.70 ns 71.27 ns 0.71 0.58 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Diagnostics.Perf_Activity*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Diagnostics.Perf_Activity.EnumerateActivityEventsLarge ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.819415657422187 < 23.983910996141105. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 29.03471030364613 (T) = (0 -6565.5021771157935) / Math.Sqrt((45848477.872694485 / (299)) + (2047969.8275757022 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.7257652863757126 = (23941.17830797598 - 6565.5021771157935) / 23941.17830797598 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Diagnostics.Perf_Activity.EnumerateActivityEventsSmall ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 43.70324451508215 < 126.2717161519518. IsChangePoint: Marked as a change because one of 4/9/2023 11:24:15 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.1155136055156 (T) = (0 -48.90349027729031) / Math.Sqrt((609.1156307044935 / (299)) + (111.29177971952006 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6416404390744679 = (136.46486827639728 - 48.90349027729031) / 136.46486827639728 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Diagnostics.Perf_Activity.EnumerateActivityLinksLarge ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.862867127081095 < 25.611514765715118. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 35.894039974231795 (T) = (0 -6959.012769766078) / Math.Sqrt((76280793.12814906 / (299)) + (1593556.068810393 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.7653743564194744 = (29660.06896589581 - 6959.012769766078) / 29660.06896589581 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Diagnostics.Perf_Activity.EnumerateActivityLinksSmall ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 38.55456469915433 < 120.8827772875011. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 28.42475501153626 (T) = (0 -47.72479931872151) / Math.Sqrt((950.0608588109176 / (299)) + (120.99933265715607 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.6995164660852041 = (158.82667078940239 - 47.72479931872151) / 158.82667078940239 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Diagnostics.Perf_Activity.EnumerateActivityLinkTagsLarge ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.60377301331049 < 13.47592770871697. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.170674708110017 (T) = (0 -7615.190709000814) / Math.Sqrt((12415503.611338325 / (299)) + (1636786.4066557628 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5234124322031447 = (15978.576076174062 - 7615.190709000814) / 15978.576076174062 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Diagnostics.Perf_Activity.EnumerateActivityTagObjectsLarge ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.8776930208398905 < 15.739235483373776. IsChangePoint: Marked as a change because one of 3/31/2023 7:02:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.506202503544568 (T) = (0 -8368.563086120383) / Math.Sqrt((14465326.731112704 / (299)) + (2041783.1824394346 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.48825908233136556 = (16353.12478870264 - 8368.563086120383) / 16353.12478870264 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Diagnostics.Perf_Activity.ActivityAllocations(idFormat: W3C) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 303.57941268721083 < 332.5703102667667. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.825031527846349 (T) = (0 -308.75705534426504) / Math.Sqrt((58.73137173790133 / (299)) + (133.38156555478676 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.127253739336249 = (353.7764287978107 - 308.75705534426504) / 353.7764287978107 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Diagnostics.Perf_Activity.EnumerateActivityLinkTagsSmall ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 71.26704899623834 < 95.74071278471314. IsChangePoint: Marked as a change because one of 4/26/2023 2:24:59 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.051031930884077 (T) = (0 -65.28751381383026) / Math.Sqrt((262.9984265823687 / (299)) + (86.39462406582483 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3529587591674877 = (100.90162681103358 - 65.28751381383026) / 100.90162681103358 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.TryGetValueTrue<Int32, Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueTrue(Int32%2c%20Int32).SortedList(Size%3a%20512).html>) 28.75 μs 22.67 μs 0.79 0.00 True
[ImmutableSortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueTrue(Int32%2c%20Int32).ImmutableSortedDictionary(Size%3a%20512).html>) 30.35 μs 19.72 μs 0.65 0.41 False
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueTrue(Int32%2c%20Int32).Dictionary(Size%3a%20512).html>) 5.58 μs 4.34 μs 0.78 0.07 False
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueTrue(Int32%2c%20Int32).SortedDictionary(Size%3a%20512).html>) 41.48 μs 29.84 μs 0.72 0.36 False
[FrozenDictionaryOptimized - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueTrue(Int32%2c%20Int32).FrozenDictionaryOptimized(Size%3a%20512).html>) 3.74 μs 3.04 μs 0.81 0.01 True
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueTrue(Int32%2c%20Int32).ImmutableDictionary(Size%3a%20512).html>) 21.42 μs 12.63 μs 0.59 0.20 True
[FrozenDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueTrue(Int32%2c%20Int32).FrozenDictionary(Size%3a%20512).html>) 7.53 μs 4.54 μs 0.60 0.04 True
[ConcurrentDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueTrue(Int32%2c%20Int32).ConcurrentDictionary(Size%3a%20512).html>) 6.16 μs 3.63 μs 0.59 0.11 False
[IDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueTrue(Int32%2c%20Int32).IDictionary(Size%3a%20512).html>) 7.26 μs 4.25 μs 0.59 0.02 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueTrue&lt;Int32, Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.TryGetValueTrue<Int32, Int32>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.673975243309 < 27.311584862672902. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 155.40022530754317 (T) = (0 -22447.00020990847) / Math.Sqrt((359580.6837449 / (299)) + (11694.491626854378 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.24785624009936258 = (29844.029036249467 - 22447.00020990847) / 29844.029036249467 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueTrue<Int32, Int32>.ImmutableSortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 19.715417243374482 < 28.83396735687233. IsChangePoint: Marked as a change because one of 4/10/2023 1:33:42 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.398373854590396 (T) = (0 -19192.590949155016) / Math.Sqrt((9850610.94136418 / (299)) + (893337.7200562682 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.40953524739966585 = (32504.21107209737 - 19192.590949155016) / 32504.21107209737 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueTrue<Int32, Int32>.Dictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.3402575175561795 < 5.41161255514664. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 81.59152023611438 (T) = (0 -4272.485588643293) / Math.Sqrt((100135.2294227967 / (299)) + (3172.0921216040815 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.32284369452616507 = (6309.452565244378 - 4272.485588643293) / 6309.452565244378 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueTrue<Int32, Int32>.SortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 29.835016276041667 < 39.411968135196204. IsChangePoint: Marked as a change because one of 4/11/2023 12:48:48 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.73437345364606 (T) = (0 -24055.229794980158) / Math.Sqrt((12090017.09769509 / (299)) + (7413145.885677353 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.42146906507390713 = (41579.850519234904 - 24055.229794980158) / 41579.850519234904 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueTrue<Int32, Int32>.FrozenDictionaryOptimized(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.0442017905932865 < 3.544802470944282. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 211.74230489708003 (T) = (0 -3045.275018333855) / Math.Sqrt((1779.108471669248 / (175)) + (18.585192061491824 / (11))) is greater than 1.972940542389176 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (175) + (11) - 2, .975) and 0.1931666568445461 = (3774.354448991973 - 3045.275018333855) / 3774.354448991973 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueTrue<Int32, Int32>.ImmutableDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.628815715357337 < 20.192556119592705. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 93.64446561712187 (T) = (0 -12862.167124931952) / Math.Sqrt((292405.35448892775 / (299)) + (90333.02544955087 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.41105578832300377 = (21839.364187496503 - 12862.167124931952) / 21839.364187496503 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueTrue<Int32, Int32>.FrozenDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.544386865219959 < 7.264293925058213. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 13.582330366494054 (T) = (0 -4794.603885535182) / Math.Sqrt((49887.3301507353 / (176)) + (427107.39088730735 / (10))) is greater than 1.972940542389176 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (176) + (10) - 2, .975) and 0.37003503156310125 = (7610.905567387021 - 4794.603885535182) / 7610.905567387021 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueTrue<Int32, Int32>.ConcurrentDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.6310388103448274 < 5.841206162844954. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 113.22548098162642 (T) = (0 -3618.3365354168345) / Math.Sqrt((153261.57794635984 / (299)) + (512.4982368865137 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.42628815134057496 = (6306.888281759721 - 3618.3365354168345) / 6306.888281759721 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueTrue<Int32, Int32>.IDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.2513812310762455 < 6.910571291406044. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 146.87407548721916 (T) = (0 -4326.888270540316) / Math.Sqrt((45302.615357313014 / (299)) + (3383.1250046408777 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.421059308187883 = (7473.802293974037 - 4326.888270540316) / 7473.802293974037 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeToString(Mode%3a%20SourceGen).html>) 244.73 ns 209.92 ns 0.86 0.15 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeToWriter(Mode%3a%20Reflection).html>) 212.54 ns 143.96 ns 0.68 0.14 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 507.99 ns 441.13 ns 0.87 0.23 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeToStream(Mode%3a%20Reflection).html>) 436.40 ns 352.84 ns 0.81 0.32 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeObjectProperty(Mode%3a%20Reflection).html>) 563.65 ns 451.50 ns 0.80 0.27 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 216.24 ns 179.79 ns 0.83 0.12 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeToString(Mode%3a%20Reflection).html>) 318.74 ns 264.74 ns 0.83 0.22 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 291.82 ns 243.82 ns 0.84 0.28 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeToStream(Mode%3a%20SourceGen).html>) 306.06 ns 270.35 ns 0.88 0.18 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeToWriter(Mode%3a%20SourceGen).html>) 124.03 ns 100.56 ns 0.81 0.01 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;SimpleStructWithProperties&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeToString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 209.9169060537636 < 232.63577699906003. IsChangePoint: Marked as a change because one of 2/17/2023 12:34:41 AM, 2/20/2023 3:29:46 AM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 10.39619612603998 (T) = (0 -213.90351143127558) / Math.Sqrt((123.74376690176149 / (299)) + (61.44568134395895 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10638413905243724 = (239.36852598437417 - 213.90351143127558) / 239.36852598437417 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 143.96352199950917 < 199.50481664436433. IsChangePoint: Marked as a change because one of 2/20/2023 2:00:07 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 76.5899299077242 (T) = (0 -146.6754156016878) / Math.Sqrt((57.44964005840152 / (299)) + (6.059995537170114 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.31810528567533136 = (215.09979842995475 - 146.6754156016878) / 215.09979842995475 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeObjectProperty(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 441.12820522090857 < 480.28927326277733. IsChangePoint: Marked as a change because one of 2/3/2023 8:13:11 AM, 4/12/2023 2:59:13 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.80479895101792 (T) = (0 -440.21193913845786) / Math.Sqrt((342.05207586087994 / (299)) + (155.04626834222788 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15575739102914574 = (521.428241669872 - 440.21193913845786) / 521.428241669872 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeToStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 352.8386995986312 < 384.4731927759032. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.576361782567282 (T) = (0 -338.7659221472644) / Math.Sqrt((243.88659517810066 / (299)) + (169.35790651185465 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1728040516805995 = (409.53527738564145 - 338.7659221472644) / 409.53527738564145 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 451.49706530331747 < 544.3895945859955. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 23.27738537629569 (T) = (0 -470.9622191927273) / Math.Sqrt((421.6611286382256 / (299)) + (261.35091012413017 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.20597190208905147 = (593.1304199836344 - 470.9622191927273) / 593.1304199836344 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeToUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 179.78809961305967 < 208.48173880124557. IsChangePoint: Marked as a change because one of 3/20/2023 7:45:43 PM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 34.457753472733025 (T) = (0 -182.05275187702983) / Math.Sqrt((65.17954782573494 / (299)) + (7.730150515778474 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15370209105575794 = (215.11662731642681 - 182.05275187702983) / 215.11662731642681 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeToString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 264.7414942879233 < 305.2619460008402. IsChangePoint: Marked as a change because one of 3/13/2023 9:17:14 PM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.74100806890694 (T) = (0 -257.8800567183775) / Math.Sqrt((186.43073688269823 / (299)) + (55.937431082363034 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1985633771919698 = (321.7722392256437 - 257.8800567183775) / 321.7722392256437 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 243.82274195639624 < 292.6523295596813. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 23.229264810858837 (T) = (0 -239.32468325482185) / Math.Sqrt((173.93975915375242 / (299)) + (74.60006316556833 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2084759906696539 = (302.35934783241504 - 239.32468325482185) / 302.35934783241504 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeToStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 270.3524635271846 < 291.8822653603497. IsChangePoint: Marked as a change because one of 3/17/2023 1:30:52 PM, 4/11/2023 2:19:19 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 14.581245122414948 (T) = (0 -267.1686907103254) / Math.Sqrt((135.85192655201135 / (299)) + (56.05381553826991 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.12364097359530261 = (304.86214286671645 - 267.1686907103254) / 304.86214286671645 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeToWriter(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 100.56215981819057 < 116.49227560542805. IsChangePoint: Marked as a change because one of 3/20/2023 7:45:43 PM, 4/12/2023 8:39:35 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 82.01954930460715 (T) = (0 -100.84800746746456) / Math.Sqrt((10.25184418760015 / (299)) + (0.5364136472879463 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.18987829504821957 = (124.4850086734402 - 100.84800746746456) / 124.4850086734402 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Numerics.Tests.Perf_VectorOf<UInt32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetHashCodeBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Numerics.Tests.Perf_VectorOf(UInt32).GetHashCodeBenchmark.html>) 20.99 ns 18.96 ns 0.90 0.01 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_VectorOf&lt;UInt32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Numerics.Tests.Perf_VectorOf<UInt32>.GetHashCodeBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.964580333262685 < 19.998688672097654. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 107.01074945017037 (T) = (0 -18.946291981446738) / Math.Sqrt((0.02571883476671799 / (299)) + (0.0033286972123934603 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10018896003107101 = (21.055856329681134 - 18.946291981446738) / 21.055856329681134 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Uri

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22http%3a%2f%2fdot.net%2fpath%2fwith%3fkey%3dvalue%23fragment%22).html>) 603.57 ns 470.51 ns 0.78 0.01 False
[Ctor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.Ctor(input%3a%20%22http%3a%2f%2fxn--hst-sna.with.xn--nicode-2ya%22).html>) 233.18 ns 197.33 ns 0.85 0.01 False
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22http%3a%2f%2fhost%2fpath%20with%20escapable%20values%3fkey%3d%c3%bcnicode%22).html>) 1.21 μs 984.50 ns 0.81 0.01 False
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22http%3a%2f%2fhost%2fpath%20with%20escapable%20values%3fkey%3dva%20lue%22).html>) 857.43 ns 669.56 ns 0.78 0.01 False
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22https%3a%2f%2fa.much.longer.domain.name%2fpath%2fwith%3fkey%3dvalue%23fragment%22).html>) 729.77 ns 614.05 ns 0.84 0.01 False
[ParseAbsoluteUri - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.ParseAbsoluteUri.html>) 471.00 ns 404.24 ns 0.86 0.03 False
[UnescapeDataString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.UnescapeDataString(input%3a%20%22abc%2520def%2520ghi%2520%22).html>) 82.22 ns 56.52 ns 0.69 0.00 True
[Ctor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.Ctor(input%3a%20%22https%3a%2f%2fa.much.longer.domain.name%22).html>) 246.83 ns 214.22 ns 0.87 0.01 False
[UnescapeDataString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.UnescapeDataString(input%3a%20%22%25E4%25BD%25A0%25E5%25A5%25BD%22).html>) 79.23 ns 67.00 ns 0.85 0.00 True
[CombineAbsoluteRelative - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.CombineAbsoluteRelative(input%3a%20%22%2fnew%2fpath%22).html>) 326.74 ns 216.31 ns 0.66 0.01 True
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22http%3a%2f%2fh%c3%b6st.with.%c3%bcnicode%2fpath%2fwith%3fkey%3dvalue%23fragment%22).html>) 2.00 μs 1.78 μs 0.89 0.05 False
[Ctor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.Ctor(input%3a%20%22http%3a%2f%2fh%c3%b6st.with.%c3%bcnicode%22).html>) 617.69 ns 484.64 ns 0.78 0.03 False
[Ctor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.Ctor(input%3a%20%22https%3a%2f%2fcontoso.com%22).html>) 167.40 ns 129.39 ns 0.77 0.01 True
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22http%3a%2f%2fhost%2fpath%2520with%2520escapable%2520values%3fkey%3dva%2520lue%22).html>) 690.45 ns 513.99 ns 0.74 0.00 False
[Ctor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.Ctor(input%3a%20%22https%3a%2f%2fCONTOSO.com%22).html>) 166.12 ns 130.48 ns 0.79 0.01 True
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22http%3a%2f%2fxn--hst-sna.with.xn--nicode-2ya%2fpath%2fwith%3fkey%3dvalue%23fragment%22).html>) 737.97 ns 608.14 ns 0.82 0.01 False
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22https%3a%2f%2fcontoso.com%2fpath%2fwith%3fkey%3dvalue%23fragment%22).html>) 624.17 ns 491.92 ns 0.79 0.01 False
[GetComponents - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.GetComponents.html>) 35.04 ns 25.99 ns 0.74 0.08 False
[BuilderToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.BuilderToString.html>) 202.35 ns 176.70 ns 0.87 0.04 True
[DnsSafeHost - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.DnsSafeHost.html>) 373.63 ns 310.34 ns 0.83 0.01 True
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22http%3a%2f%2fhost%2fpath%3fkey1%3dvalue1%26key2%3dvalue2%26key3%3dvalue3%26key4%3dvalue4%22).html>) 725.21 ns 591.93 ns 0.82 0.01 False
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22https%3a%2f%2fCONTOSO.com%2fpath%2fwith%3fkey%3dvalue%23fragment%22).html>) 630.94 ns 501.13 ns 0.79 0.01 False
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22http%3a%2f%2fhost%2fpath%2520with%2520escapable%2520values%3fkey%3d%25C3%25BCnicode%22).html>) 1.28 μs 1.08 μs 0.84 0.00 False
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22http%3a%2f%2fhost%2f%22).html>) 369.16 ns 258.84 ns 0.70 0.01 True
[Ctor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.Ctor(input%3a%20%22http%3a%2f%2fdot.net%22).html>) 159.13 ns 121.05 ns 0.76 0.01 True
[PathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.PathAndQuery.html>) 6.85 ns 5.50 ns 0.80 0.49 False
[UriBuilderReplacePort - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Uri.UriBuilderReplacePort.html>) 229.46 ns 161.96 ns 0.71 0.04 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Uri*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://dot.net/path/with?key=value#fragment") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 470.5118209114097 < 573.915904781235. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 88.17487426533549 (T) = (0 -466.68278986564235) / Math.Sqrt((782.0561658880358 / (299)) + (9.896068647318737 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2615790791645016 = (632.001039918542 - 466.68278986564235) / 632.001039918542 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.Ctor(input: "http://xn--hst-sna.with.xn--nicode-2ya") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 197.33447535619172 < 221.74105932362514. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 56.82450318693251 (T) = (0 -198.1938808505402) / Math.Sqrt((170.7105046913502 / (299)) + (2.428295912249212 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.20549162188916834 = (249.454739951015 - 198.1938808505402) / 249.454739951015 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://host/path with escapable values?key=ünicode") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 984.4952468324208 < 1.1468179281380642. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 64.07488542107845 (T) = (0 -995.9953132769474) / Math.Sqrt((1195.5462278929624 / (299)) + (102.72673269582211 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19024659749369532 = (1229.9983058968285 - 995.9953132769474) / 1229.9983058968285 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://host/path with escapable values?key=va lue") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 669.5551448740312 < 808.1952895089175. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 108.36346762932065 (T) = (0 -666.4074152704219) / Math.Sqrt((695.2180200324024 / (299)) + (13.965599824989416 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23565077739676532 = (871.8624884588215 - 666.4074152704219) / 871.8624884588215 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "https://a.much.longer.domain.name/path/with?key=value#fragment") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 614.0531482128705 < 695.6216980340935. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 56.994523211152426 (T) = (0 -608.1596162226084) / Math.Sqrt((1352.659542979978 / (299)) + (37.36710308500694 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20870875294944566 = (768.566085483003 - 608.1596162226084) / 768.566085483003 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.ParseAbsoluteUri ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 404.2395424295447 < 447.1838381255331. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 61.219752982943845 (T) = (0 -399.4686558360323) / Math.Sqrt((250.41594786980988 / (299)) + (14.07635959538759 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.18233265980241978 = (488.5466695288394 - 399.4686558360323) / 488.5466695288394 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.UnescapeDataString(input: "abc%20def%20ghi%20") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 56.52482216047923 < 78.03692000293857. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 123.51001582519176 (T) = (0 -57.16837087112867) / Math.Sqrt((1.1313075656035156 / (299)) + (0.46641965169955524 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3170799052865901 = (83.71165428236462 - 57.16837087112867) / 83.71165428236462 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.Ctor(input: "https://a.much.longer.domain.name") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 214.21524750879456 < 234.68465315457777. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 60.506724365139135 (T) = (0 -212.7719956385887) / Math.Sqrt((176.03577666103817 / (299)) + (1.1752159582463482 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19170539814864543 = (263.2357003885045 - 212.7719956385887) / 263.2357003885045 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.UnescapeDataString(input: "%E4%BD%A0%E5%A5%BD") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 66.99822954676607 < 76.15705782692999. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 66.6907446711085 (T) = (0 -66.9809349158153) / Math.Sqrt((0.8965772348924698 / (299)) + (0.4182137125154112 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16781203678215698 = (80.487747812187 - 66.9809349158153) / 80.487747812187 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.CombineAbsoluteRelative(input: "/new/path") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 216.31390789510752 < 313.5730343068502. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 88.50257460117837 (T) = (0 -219.97551050836861) / Math.Sqrt((63.53572717279688 / (299)) + (13.559085647564919 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.32598915321548855 = (326.36790870325143 - 219.97551050836861) / 326.36790870325143 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://höst.with.ünicode/path/with?key=value#fragment") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.7803240070974906 < 1.9289241377528379. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 38.22301244137331 (T) = (0 -1784.8447270770841) / Math.Sqrt((2644.1984912745315 / (299)) + (453.5036224837221 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13159522551936237 = (2055.3142722465304 - 1784.8447270770841) / 2055.3142722465304 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.Ctor(input: "http://höst.with.ünicode") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 484.63861023232437 < 578.9315869937383. IsChangePoint: Marked as a change because one of 3/11/2023 1:35:17 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.89429560481558 (T) = (0 -499.5498062279337) / Math.Sqrt((157.11027461081883 / (299)) + (207.64724457110387 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1858833552972275 = (613.6096215184439 - 499.5498062279337) / 613.6096215184439 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.Ctor(input: "https://contoso.com") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 129.39108052041462 < 157.59808037926985. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 88.78027204714633 (T) = (0 -131.00056217220566) / Math.Sqrt((12.96221904482754 / (299)) + (1.7534672120818684 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23381236082573587 = (170.97712815282117 - 131.00056217220566) / 170.97712815282117 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://host/path%20with%20escapable%20values?key=va%20lue") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 513.9877909345264 < 656.97045080408. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 93.39337374944897 (T) = (0 -517.2476289758721) / Math.Sqrt((690.4064577182043 / (299)) + (24.819447691436373 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2783919548090456 = (716.7985895154429 - 517.2476289758721) / 716.7985895154429 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.Ctor(input: "https://CONTOSO.com") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 130.48388199336097 < 158.6042075296246. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 52.21334198233419 (T) = (0 -131.5882906887849) / Math.Sqrt((12.342397710966962 / (299)) + (5.823149225443754 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23061812565483644 = (171.03118110337905 - 131.5882906887849) / 171.03118110337905 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://xn--hst-sna.with.xn--nicode-2ya/path/with?key=value#fragment") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 608.141784326954 < 697.8683876436364. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 74.18622873324601 (T) = (0 -602.7427129307517) / Math.Sqrt((1297.574530121142 / (299)) + (7.079562523019836 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2155373663212213 = (768.3510814328506 - 602.7427129307517) / 768.3510814328506 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "https://contoso.com/path/with?key=value#fragment") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 491.9172082833173 < 591.2923561906078. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 85.35308010129161 (T) = (0 -490.43968458382363) / Math.Sqrt((743.8016743158857 / (299)) + (8.96575554987461 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.24028171222533395 = (645.5546647697508 - 490.43968458382363) / 645.5546647697508 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.GetComponents ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 25.991446866888328 < 33.47996551634666. IsChangePoint: Marked as a change because one of 3/23/2023 6:11:55 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 47.31625814785992 (T) = (0 -26.625086616410762) / Math.Sqrt((1.3695441112371018 / (299)) + (0.3252815325918953 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.24722363941703518 = (35.36918533917799 - 26.625086616410762) / 35.36918533917799 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.BuilderToString ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 176.69731299388366 < 192.44328141484505. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 29.462726221376347 (T) = (0 -165.89006665466343) / Math.Sqrt((14.359574510897968 / (299)) + (21.23959701969349 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1998984187962968 = (207.33625648519794 - 165.89006665466343) / 207.33625648519794 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.DnsSafeHost ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 310.34271315804114 < 355.0572387428692. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 80.53552176353091 (T) = (0 -312.67199570972195) / Math.Sqrt((39.20742825375326 / (299)) + (6.00225817536289 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.18051163654409247 = (381.5453759357075 - 312.67199570972195) / 381.5453759357075 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://host/path?key1=value1&key2=value2&key3=value3&key4=value4") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 591.9344247961187 < 680.4944617873414. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 43.037887130528304 (T) = (0 -581.7765896639718) / Math.Sqrt((4314.996543347362 / (299)) + (51.87723749524091 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2445454233462796 = (770.1013504226107 - 581.7765896639718) / 770.1013504226107 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "https://CONTOSO.com/path/with?key=value#fragment") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 501.1271071464369 < 600.615975035856. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 74.97696554782854 (T) = (0 -499.5267313407925) / Math.Sqrt((691.6323815371086 / (299)) + (25.094457946724873 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.24341374604449634 = (660.2376513308562 - 499.5267313407925) / 660.2376513308562 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://host/path%20with%20escapable%20values?key=%C3%BCnicode") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0819128709998982 < 1.226780171466407. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 63.84504902904057 (T) = (0 -1075.0647713449077) / Math.Sqrt((1407.0939545411952 / (299)) + (96.45746034245789 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.18366050374005363 = (1316.9334281512893 - 1075.0647713449077) / 1316.9334281512893 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://host/") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 258.8362464992994 < 351.23245141193934. IsChangePoint: Marked as a change because one of 4/19/2023 6:20:25 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 158.65639068617696 (T) = (0 -255.50694339920014) / Math.Sqrt((62.03130116026804 / (299)) + (3.884168865995881 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.324018028242007 = (377.97893150125856 - 255.50694339920014) / 377.97893150125856 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.Ctor(input: "http://dot.net") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 121.04725351636044 < 152.27562429146306. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 54.247485433868015 (T) = (0 -122.13838631780426) / Math.Sqrt((6.043227887163547 / (299)) + (6.24652013528207 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2540652837382708 = (163.73870749695615 - 122.13838631780426) / 163.73870749695615 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.PathAndQuery ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.499710927148314 < 6.51003976102621. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.218292207572105 (T) = (0 -5.720087044946092) / Math.Sqrt((0.11200715439253106 / (299)) + (0.07504457259068892 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2034177987808931 = (7.180786912125258 - 5.720087044946092) / 7.180786912125258 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.UriBuilderReplacePort ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 161.96430022097945 < 222.99612563881743. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 43.58774794867453 (T) = (0 -155.89515383816772) / Math.Sqrt((23.790604090438993 / (299)) + (37.358241754734955 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3426517254390887 = (237.15762233087315 - 155.89515383816772) / 237.15762233087315 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Xml.Linq.Perf_XName

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[NonEmptyNameSpaceToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Xml.Linq.Perf_XName.NonEmptyNameSpaceToString.html>) 26.87 ns 19.12 ns 0.71 0.18 False
[CreateElementWithNamespaceImplicitOperator - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Xml.Linq.Perf_XName.CreateElementWithNamespaceImplicitOperator.html>) 78.78 ns 57.03 ns 0.72 0.06 True
[CreateElement - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Xml.Linq.Perf_XName.CreateElement.html>) 27.37 ns 18.14 ns 0.66 0.21 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Xml.Linq.Perf_XName*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Xml.Linq.Perf_XName.NonEmptyNameSpaceToString ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 19.11620099448092 < 26.31774624545121. IsChangePoint: Marked as a change because one of 4/25/2023 1:02:54 PM, 5/9/2023 11:02:55 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 46.681734159429304 (T) = (0 -19.51099459436339) / Math.Sqrt((3.400144864226792 / (299)) + (0.3216731933570266 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.32531822170464375 = (28.918810648272817 - 19.51099459436339) / 28.918810648272817 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XName.CreateElementWithNamespaceImplicitOperator ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 57.03370718718429 < 74.29261370508048. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 124.68887029823986 (T) = (0 -57.39977759782883) / Math.Sqrt((0.7277223440902667 / (299)) + (0.2788489895741816 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.26583253880390956 = (78.1834944091833 - 57.39977759782883) / 78.1834944091833 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XName.CreateElement ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.142203951220164 < 25.669057347634205. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 31.320177824302473 (T) = (0 -17.75253061710337) / Math.Sqrt((0.5775205744127783 / (299)) + (0.9188089226662782 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3402632418566106 = (26.908506154882122 - 17.75253061710337) / 26.908506154882122 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Int32).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 101.27 ns 80.91 ns 0.80 0.40 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Int32).DeserializeFromString(Mode%3a%20SourceGen).html>) 183.69 ns 121.52 ns 0.66 0.40 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Int32).DeserializeFromReader(Mode%3a%20SourceGen).html>) 242.42 ns 177.63 ns 0.73 0.45 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Int32).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 103.63 ns 86.65 ns 0.84 0.40 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Int32).DeserializeFromReader(Mode%3a%20Reflection).html>) 212.29 ns 173.77 ns 0.82 0.52 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Int32).DeserializeFromString(Mode%3a%20Reflection).html>) 168.96 ns 122.95 ns 0.73 0.42 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Int32).DeserializeFromStream(Mode%3a%20Reflection).html>) 362.37 ns 301.07 ns 0.83 0.11 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Int32).DeserializeFromStream(Mode%3a%20SourceGen).html>) 369.34 ns 313.32 ns 0.85 0.12 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.ReadJson<Int32>.DeserializeFromUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 80.9089046406555 < 95.1194196780657. IsChangePoint: Marked as a change because one of 3/18/2023 3:39:51 AM, 4/19/2023 6:20:25 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 9.249387747192175 (T) = (0 -83.5645213911753) / Math.Sqrt((21.710716576753402 / (299)) + (23.138344863601116 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14036095458484305 = (97.20884810533283 - 83.5645213911753) / 97.20884810533283 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Int32>.DeserializeFromString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 121.51903947664432 < 168.97729273477387. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 72.8451175288398 (T) = (0 -122.29048188654144) / Math.Sqrt((63.3949096830903 / (299)) + (1.2683703060218074 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.25747238010280876 = (164.6948593016291 - 122.29048188654144) / 164.6948593016291 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Int32>.DeserializeFromReader(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 177.63002711746836 < 218.12261364048135. IsChangePoint: Marked as a change because one of 3/17/2023 7:47:41 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.184897094759332 (T) = (0 -176.67347303114826) / Math.Sqrt((170.18118359942235 / (299)) + (90.92492906504795 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23427144377092246 = (230.725981934379 - 176.67347303114826) / 230.725981934379 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Int32>.DeserializeFromUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 86.6466919982692 < 97.24616175897889. IsChangePoint: Marked as a change because one of 2/17/2023 12:34:41 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 13.211367659082303 (T) = (0 -81.57297979043865) / Math.Sqrt((19.660421489901506 / (299)) + (14.504457408276739 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.160056420519617 = (97.11721332628366 - 81.57297979043865) / 97.11721332628366 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Int32>.DeserializeFromReader(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 173.77353106262828 < 203.28440797889232. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 13.274181960244109 (T) = (0 -186.11297247925225) / Math.Sqrt((173.75843053196039 / (299)) + (112.74184646948781 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1901008735262208 = (229.79771973525857 - 186.11297247925225) / 229.79771973525857 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Int32>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 122.95453246342724 < 161.3426360270467. IsChangePoint: Marked as a change because one of 3/18/2023 7:37:20 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 82.18430748521 (T) = (0 -122.94748379058565) / Math.Sqrt((45.789742310962374 / (299)) + (0.9405591798591736 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.24616433710254457 = (163.09587068091557 - 122.94748379058565) / 163.09587068091557 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Int32>.DeserializeFromStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 301.0688430317695 < 346.8852414780543. IsChangePoint: Marked as a change because one of 3/20/2023 8:31:51 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 35.21528753530573 (T) = (0 -311.11733399443335) / Math.Sqrt((105.0036286943721 / (299)) + (20.650565281364592 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.14962011224527674 = (365.8568817001109 - 311.11733399443335) / 365.8568817001109 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Int32>.DeserializeFromStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 313.3170662478606 < 349.46726649238747. IsChangePoint: Marked as a change because one of 2/4/2023 3:18:53 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 35.22014261878398 (T) = (0 -310.5626187189922) / Math.Sqrt((97.42962807838575 / (299)) + (21.983650758049073 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14741214453783547 = (364.2587877945373 - 310.5626187189922) / 364.2587877945373 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SystemTextJsonSourceGen - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_FromStream(LoginViewModel).SystemTextJsonSourceGen.html>) 646.54 ns 486.59 ns 0.75 0.12 False
[DataContractJsonSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.JsonFromStream(LoginViewModel).DataContractJsonSerializer.html>) 5.86 μs 4.95 μs 0.85 0.13 False
[SystemTextJsonReflection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_FromStream(LoginViewModel).SystemTextJsonReflection.html>) 668.12 ns 504.65 ns 0.76 0.07 True
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.JsonFromStream(LoginViewModel).JsonNet.html>) 1.77 μs 1.25 μs 0.71 0.05 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromStream&lt;LoginViewModel&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>.SystemTextJson_SourceGen_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 486.591340266876 < 614.9577425600062. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 86.27662801504641 (T) = (0 -477.1145496536047) / Math.Sqrt((169.6717177907934 / (299)) + (28.180790149016012 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.24235991455607864 = (629.7377327574354 - 477.1145496536047) / 629.7377327574354 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>.DataContractJsonSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.9541301450267445 < 5.805076792590242. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.634071232267203 (T) = (0 -4993.127954252406) / Math.Sqrt((21997.93865745349 / (299)) + (31437.568863542518 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.18283844303902783 = (6110.331441461678 - 4993.127954252406) / 6110.331441461678 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>.SystemTextJson_Reflection_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 504.65452189018544 < 637.4956875959878. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 79.70054263246541 (T) = (0 -509.0463497229168) / Math.Sqrt((259.5721005593156 / (299)) + (31.595799453472885 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23242728933239418 = (663.1897443047023 - 509.0463497229168) / 663.1897443047023 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>.JsonNet_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.249429251825946 < 1.6785416511469584. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 112.14427886494401 (T) = (0 -1248.830471672335) / Math.Sqrt((1114.0830823712708 / (299)) + (162.702845148069 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.28650845848740075 = (1750.3087268908885 - 1248.830471672335) / 1750.3087268908885 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20BroadTree).html>) 9.00 μs 7.25 μs 0.81 0.01 False
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20HelloWorld).html>) 97.42 ns 87.33 ns 0.90 0.15 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json4KB).html>) 9.98 μs 8.81 μs 0.88 0.00 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20DeepTree).html>) 4.38 μs 3.46 μs 0.79 0.01 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfNumbers).html>) 2.97 μs 2.14 μs 0.72 0.00 True
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20BroadTree).html>) 9.62 μs 8.75 μs 0.91 0.01 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20BroadTree).html>) 10.72 μs 7.60 μs 0.71 0.02 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20HelloWorld).html>) 107.56 ns 89.34 ns 0.83 0.11 False
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json4KB).html>) 9.52 μs 7.71 μs 0.81 0.01 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20DeepTree).html>) 5.03 μs 3.70 μs 0.74 0.00 True
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json400B).html>) 1.27 μs 942.25 ns 0.74 0.00 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json400B).html>) 868.50 ns 650.30 ns 0.75 0.00 True
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json40KB).html>) 108.73 μs 91.59 μs 0.84 0.01 False
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20LotsOfNumbers).html>) 3.73 μs 2.87 μs 0.77 0.01 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json400B).html>) 1.12 μs 950.36 ns 0.85 0.00 True
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json40KB).html>) 68.43 μs 57.97 μs 0.85 0.01 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20DeepTree).html>) 4.70 μs 4.03 μs 0.86 0.01 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json4KB).html>) 7.03 μs 5.80 μs 0.83 0.00 True
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfStrings).html>) 1.54 μs 1.30 μs 0.84 0.01 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json40KB).html>) 94.12 μs 80.58 μs 0.86 0.01 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json400B).html>) 997.43 ns 817.60 ns 0.82 0.00 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20False%2c%20TestCase%3a%20LotsOfStrings).html>) 2.78 μs 2.27 μs 0.82 0.01 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json40KB).html>) 98.71 μs 85.42 μs 0.87 0.01 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20False%2c%20TestCase%3a%20BroadTree).html>) 16.14 μs 13.10 μs 0.81 0.01 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json40KB).html>) 80.78 μs 64.14 μs 0.79 0.01 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json4KB).html>) 6.75 μs 4.97 μs 0.74 0.00 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json400B).html>) 1.11 μs 903.80 ns 0.81 0.01 True
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20BroadTree).html>) 14.33 μs 12.72 μs 0.89 0.01 False
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json40KB).html>) 66.80 μs 53.67 μs 0.80 0.01 False
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json40KB).html>) 93.65 μs 80.67 μs 0.86 0.01 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfNumbers).html>) 3.37 μs 2.33 μs 0.69 0.00 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20DeepTree).html>) 11.80 μs 9.80 μs 0.83 0.00 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20False%2c%20TestCase%3a%20DeepTree).html>) 12.52 μs 10.17 μs 0.81 0.00 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfNumbers).html>) 2.95 μs 2.16 μs 0.73 0.01 True
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20DeepTree).html>) 11.77 μs 10.01 μs 0.85 0.01 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfStrings).html>) 2.04 μs 1.42 μs 0.70 0.03 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json4KB).html>) 6.74 μs 4.95 μs 0.73 0.00 True
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json4KB).html>) 10.85 μs 8.34 μs 0.77 0.01 True
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20HelloWorld).html>) 189.60 ns 162.82 ns 0.86 0.30 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20BroadTree).html>) 8.87 μs 7.25 μs 0.82 0.02 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20False%2c%20TestCase%3a%20HelloWorld).html>) 133.25 ns 100.15 ns 0.75 0.08 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfNumbers).html>) 3.43 μs 2.82 μs 0.82 0.00 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20BroadTree).html>) 14.35 μs 12.35 μs 0.86 0.01 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20False%2c%20TestCase%3a%20LotsOfNumbers).html>) 4.19 μs 3.14 μs 0.75 0.01 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json40KB).html>) 66.53 μs 53.60 μs 0.81 0.01 False
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20HelloWorld).html>) 122.76 ns 106.40 ns 0.87 0.15 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20LotsOfNumbers).html>) 4.19 μs 3.53 μs 0.84 0.01 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json400B).html>) 861.58 ns 665.65 ns 0.77 0.00 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfStrings).html>) 1.55 μs 1.29 μs 0.83 0.01 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json4KB).html>) 8.00 μs 5.69 μs 0.71 0.01 True
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20LotsOfNumbers).html>) 3.79 μs 2.97 μs 0.78 0.01 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json400B).html>) 980.53 ns 686.76 ns 0.70 0.00 True
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json4KB).html>) 9.43 μs 7.93 μs 0.84 0.01 False
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20DeepTree).html>) 4.36 μs 3.42 μs 0.78 0.01 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 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
python3 .\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: True, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.252696131367085 < 8.548776295105007. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 230.5850503043893 (T) = (0 -7227.733402664875) / Math.Sqrt((4996.090264072966 / (299)) + (373.63183390105496 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.1900172675884561 = (8923.317884994785 - 7227.733402664875) / 8923.317884994785 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 87.3257708048071 < 95.95389713550917. IsChangePoint: Marked as a change because one of 4/26/2023 5:34:01 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 36.24899692403977 (T) = (0 -86.42199662553077) / Math.Sqrt((10.666946135367972 / (299)) + (1.7977940152435394 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1576555574225797 = (102.59698082781341 - 86.42199662553077) / 102.59698082781341 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.812929267890771 < 9.402069747287785. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 23.717779184984984 (T) = (0 -9100.619423863134) / Math.Sqrt((2918.8318193902137 / (299)) + (10918.732239252886 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.07961442697154655 = (9887.833632505006 - 9100.619423863134) / 9887.833632505006 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.456049073971694 < 4.195277380624658. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 24.85619204778013 (T) = (0 -3650.66729836349) / Math.Sqrt((851.4848421370797 / (299)) + (9371.163776483225 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16601446807262762 = (4377.374856763592 - 3650.66729836349) / 4377.374856763592 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.1351085875648375 < 2.8426465267356402. IsChangePoint: Marked as a change because one of 4/18/2023 2:18:01 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 64.7573868642179 (T) = (0 -2218.087333064477) / Math.Sqrt((1658.602353191092 / (299)) + (1069.3990064403386 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.24561729818557299 = (2940.268020103822 - 2218.087333064477) / 2940.268020103822 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.747518889042105 < 9.120733494213587. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 66.96420614935565 (T) = (0 -8639.995612853842) / Math.Sqrt((6171.304038725678 / (299)) + (1993.5812093408254 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.09919724410600501 = (9591.440030930125 - 8639.995612853842) / 9591.440030930125 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.601486559256809 < 10.21072460328353. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.7099557771409 (T) = (0 -8514.96452186391) / Math.Sqrt((7712.64971413879 / (299)) + (168151.95069023874 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.20297710805526112 = (10683.46293177021 - 8514.96452186391) / 10683.46293177021 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 89.3379729451926 < 103.5431696202227. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.40727699949624 (T) = (0 -89.8069483251067) / Math.Sqrt((11.393197742604412 / (299)) + (16.584969524732983 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21177918316882277 = (113.93628080789668 - 89.8069483251067) / 113.93628080789668 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.710217977712226 < 8.970308913117519. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 64.70439555316405 (T) = (0 -7928.836045856332) / Math.Sqrt((4228.180951890334 / (299)) + (6088.253044312989 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16277724332607052 = (9470.40197205766 - 7928.836045856332) / 9470.40197205766 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.7024726210251537 < 4.78082360679759. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 181.7186547071178 (T) = (0 -3736.535022523256) / Math.Sqrt((1225.4784751801885 / (299)) + (432.2002242805694 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.25986468976462873 = (5048.448534815879 - 3736.535022523256) / 5048.448534815879 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 942.2484124681934 < 1.206279051130805. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 54.166320048623916 (T) = (0 -966.2004887833257) / Math.Sqrt((201.3992997153715 / (299)) + (359.1504057140493 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.24449733140364044 = (1278.884283199713 - 966.2004887833257) / 1278.884283199713 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 650.2977185735201 < 817.6194530793858. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 121.34419398192436 (T) = (0 -652.2880116795035) / Math.Sqrt((53.58510019616434 / (299)) + (28.40375050515284 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23613434815115297 = (853.9302822436341 - 652.2880116795035) / 853.9302822436341 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 91.59425775193799 < 103.65171423239846. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 190.76045386711246 (T) = (0 -91453.60735771144) / Math.Sqrt((440384.23882267624 / (299)) + (78149.29776456652 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16190399156262933 = (109120.68120718845 - 91453.60735771144) / 109120.68120718845 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.8690684911076834 < 3.5568860838507197. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 76.81286913133991 (T) = (0 -2951.0357595900596) / Math.Sqrt((1799.8647335083751 / (299)) + (887.8516654770655 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.20219536281188155 = (3698.9453583411796 - 2951.0357595900596) / 3698.9453583411796 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 950.3606891476186 < 1.0684041445942176. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 105.0334585090219 (T) = (0 -956.1619226947493) / Math.Sqrt((70.7539884455652 / (299)) + (26.450274218467015 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.15716638143550465 = (1134.4610628172063 - 956.1619226947493) / 1134.4610628172063 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 57.97373878086419 < 65.15721699847556. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 95.78302199935058 (T) = (0 -58062.3080159565) / Math.Sqrt((138421.61533493514 / (299)) + (129417.21962267323 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15427747494575617 = (68654.08724005836 - 58062.3080159565) / 68654.08724005836 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.027557326834162 < 4.392081739847493. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 76.829764591927 (T) = (0 -4055.7578197080393) / Math.Sqrt((532.3856878611614 / (299)) + (570.0714658202362 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12180177979084346 = (4618.271509070125 - 4055.7578197080393) / 4618.271509070125 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.799678686252771 < 6.67171985870686. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 223.17678267049578 (T) = (0 -5802.05691497651) / Math.Sqrt((1227.2977204406284 / (299)) + (287.4113819641185 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17457602491890495 = (7029.183898379591 - 5802.05691497651) / 7029.183898379591 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: LotsOfStrings) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2960848168214654 < 1.4657656060566155. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 3/31/2023 8:29:50 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 32.40354112197881 (T) = (0 -1343.7609192892057) / Math.Sqrt((834.6106494008314 / (299)) + (324.6823881551249 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.12525384564441197 = (1536.172422820348 - 1343.7609192892057) / 1536.172422820348 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 80.57711492697595 < 89.51230391325782. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 274.52525508302335 (T) = (0 -80494.07714104571) / Math.Sqrt((269285.34244255687 / (299)) + (18495.974835406145 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14770421940586545 = (94443.82921259257 - 80494.07714104571) / 94443.82921259257 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 817.598048206707 < 946.4809923249429. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 101.27125007502619 (T) = (0 -822.9323530229854) / Math.Sqrt((57.84272278455839 / (299)) + (31.604864242445707 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17729496827296679 = (1000.2763095972258 - 822.9323530229854) / 1000.2763095972258 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: LotsOfStrings) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.271207109726048 < 2.6477832442155567. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 134.32268263718558 (T) = (0 -2267.208190045657) / Math.Sqrt((773.0646283090872 / (299)) + (127.27439432217083 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.18227735618824406 = (2772.588245174705 - 2267.208190045657) / 2772.588245174705 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 85.4174796643165 < 92.78703801792979. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 201.06459648735216 (T) = (0 -85307.72920196345) / Math.Sqrt((271801.9140822177 / (299)) + (30457.607208618654 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12506191846226195 = (97501.44724759467 - 85307.72920196345) / 97501.44724759467 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.104679631181897 < 15.346857894242678. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.851330478864703 (T) = (0 -14102.821701568277) / Math.Sqrt((11938.58119309502 / (299)) + (110595.91391196291 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12389995757566244 = (16097.273163625301 - 14102.821701568277) / 16097.273163625301 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 64.13537735655737 < 76.22105260737177. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 50.49130852074553 (T) = (0 -64738.579415996835) / Math.Sqrt((278957.05034563603 / (299)) + (1026178.8506008439 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19315990522516804 = (80237.18681712724 - 64738.579415996835) / 80237.18681712724 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.966079822676132 < 6.401738574865278. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 55.498776637183916 (T) = (0 -5208.654493428543) / Math.Sqrt((2153.389006593463 / (299)) + (7451.283697473642 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2261590035089686 = (6730.910506224272 - 5208.654493428543) / 6730.910506224272 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 903.8006231833843 < 1.067225716902358. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 45.969839852637456 (T) = (0 -939.8712030386993) / Math.Sqrt((63.537555395021336 / (299)) + (164.55017248709936 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1600246784137704 = (1118.9271623645132 - 939.8712030386993) / 1118.9271623645132 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.720124654354406 < 13.613578058121224. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 40.65059374323091 (T) = (0 -12773.320321934327) / Math.Sqrt((6405.430953595947 / (299)) + (14268.211949171213 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1035894559047881 = (14249.40882955256 - 12773.320321934327) / 14249.40882955256 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 53.66936136363637 < 63.2478415027563. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 143.58735909276302 (T) = (0 -53621.463035773464) / Math.Sqrt((157796.21775987934 / (299)) + (83162.3170204216 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19408292460047527 = (66534.71513702722 - 53621.463035773464) / 66534.71513702722 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 80.66849527777777 < 89.51245383915123. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 100.63644028031808 (T) = (0 -80708.93601578221) / Math.Sqrt((255053.80787523522 / (299)) + (194905.3865556025 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14524496178429616 = (94423.46918979459 - 80708.93601578221) / 94423.46918979459 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.3337514609253986 < 3.2013555104335687. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 242.98635782238307 (T) = (0 -2344.1708630596295) / Math.Sqrt((1068.6022041681847 / (299)) + (150.1551948045605 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.300794273113275 = (3352.6196553012464 - 2344.1708630596295) / 3352.6196553012464 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.799050269238812 < 11.229426251017506. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 46.838487826145844 (T) = (0 -10032.461623505134) / Math.Sqrt((31926.85550418196 / (299)) + (12021.9196398354 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13919757021784313 = (11654.778467625896 - 10032.461623505134) / 11654.778467625896 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.169733035520903 < 11.921263788854707. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 135.80278709705397 (T) = (0 -10217.35388707732) / Math.Sqrt((25762.368706301775 / (299)) + (1920.6169797897041 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1767050438582383 = (12410.320032761154 - 10217.35388707732) / 12410.320032761154 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.156672426809589 < 2.8121039171685114. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 218.00826591576387 (T) = (0 -2168.9529367596674) / Math.Sqrt((1496.3491802966184 / (299)) + (74.11857735772398 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2561918225476636 = (2916.0111471060764 - 2168.9529367596674) / 2916.0111471060764 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.009216621202397 < 11.207138690003951. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 104.73722835860005 (T) = (0 -10007.961772438333) / Math.Sqrt((38439.488396138375 / (299)) + (1358.2253919462694 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14247335754102855 = (11670.72983731484 - 10007.961772438333) / 11670.72983731484 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: LotsOfStrings) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.4181701379414884 < 1.9381533377758278. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 157.13095558591604 (T) = (0 -1397.3422838939362) / Math.Sqrt((184.53880643798374 / (299)) + (161.27305104633075 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.3151366238007492 = (2040.322686911207 - 1397.3422838939362) / 2040.322686911207 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.948229290994787 < 6.4032878973760505. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 159.8556767121952 (T) = (0 -4970.794025971155) / Math.Sqrt((1908.6925908806174 / (299)) + (1257.1844815539837 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.26104949380582676 = (6726.829448392021 - 4970.794025971155) / 6726.829448392021 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.336751087344028 < 10.284380424953282. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 313.30300494261786 (T) = (0 -8306.36716062707) / Math.Sqrt((6581.569776459012 / (299)) + (430.60425859729133 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.23328453725548343 = (10833.702415357313 - 8306.36716062707) / 10833.702415357313 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 162.8159801398786 < 188.29389901184993. IsChangePoint: Marked as a change because one of 4/12/2023 2:59:13 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 7.631880249098672 (T) = (0 -172.18355517399283) / Math.Sqrt((37.2205513372314 / (299)) + (41.68869341449985 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.08411600438218639 = (187.99712190389968 - 172.18355517399283) / 187.99712190389968 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.247524693002782 < 8.518646146354412. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.01493393573975 (T) = (0 -7717.428164147189) / Math.Sqrt((3625.0066588413056 / (299)) + (62782.33436380598 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13565149931537357 = (8928.60710469727 - 7717.428164147189) / 8928.60710469727 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 100.14519533574962 < 120.20040529845848. IsChangePoint: Marked as a change because one of 2/6/2023 10:25:44 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.591021264971545 (T) = (0 -103.50650786802174) / Math.Sqrt((7.8852048807612976 / (299)) + (19.65650727321455 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1947597273615392 = (128.54114651875392 - 103.50650786802174) / 128.54114651875392 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.824260828392622 < 3.243887351732876. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 73.20356974780925 (T) = (0 -2777.814320889041) / Math.Sqrt((881.1016776746796 / (299)) + (770.4376269616339 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.18376605881434693 = (3403.2085419702303 - 2777.814320889041) / 3403.2085419702303 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.350447206777865 < 13.567553457872528. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 37.06645335141092 (T) = (0 -12747.768514634845) / Math.Sqrt((4673.749582101585 / (299)) + (17814.796948213298 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10520801936913515 = (14246.628032637427 - 12747.768514634845) / 14246.628032637427 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.1412296221051488 < 3.970546266717059. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 293.52484487703515 (T) = (0 -3121.178417695083) / Math.Sqrt((1234.1501058197744 / (299)) + (80.84806145590272 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.24735338923456762 = (4146.937451190915 - 3121.178417695083) / 4146.937451190915 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 53.604413230240546 < 63.16057281933301. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 138.9642485222248 (T) = (0 -53669.18456617579) / Math.Sqrt((134100.93142111326 / (299)) + (88855.46785230003 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19295474471651125 = (66500.83649562323 - 53669.18456617579) / 66500.83649562323 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 106.3972594231145 < 114.24714511145321. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 3/9/2023 2:25:45 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.34381995080014 (T) = (0 -106.07752559902033) / Math.Sqrt((12.304368709830863 / (299)) + (2.358774427437547 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08440899264575887 = (115.8568888804945 - 106.07752559902033) / 115.8568888804945 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.526761614023041 < 3.965784699996681. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 29.351709063006595 (T) = (0 -3684.7119325466356) / Math.Sqrt((920.4784439987368 / (299)) + (2815.7872268679284 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11364191817576033 = (4157.136949620882 - 3684.7119325466356) / 4157.136949620882 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 665.6462469638519 < 816.625982994323. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 47.66674406940881 (T) = (0 -692.0273235144483) / Math.Sqrt((46.53359742173531 / (299)) + (153.36866170049512 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20548372778648882 = (871.0045945144332 - 692.0273235144483) / 871.0045945144332 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: LotsOfStrings) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2850685401469826 < 1.471062298407959. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 123.78215007101036 (T) = (0 -1285.1091447519777) / Math.Sqrt((744.4807431598969 / (299)) + (12.875633339334195 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15560658325809432 = (1521.9317432750422 - 1285.1091447519777) / 1521.9317432750422 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.691917821962788 < 7.586877756759791. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 105.95898812155068 (T) = (0 -5796.134493502588) / Math.Sqrt((4063.3600789249967 / (299)) + (4606.19856686155 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.27542022663122856 = (7999.3048474907855 - 5796.134493502588) / 7999.3048474907855 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.969907890457244 < 3.5632310854575326. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 159.07663619927226 (T) = (0 -2980.484089204515) / Math.Sqrt((1372.8541439754335 / (299)) + (178.72927760041358 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19591448092652905 = (3706.6754947146137 - 2980.484089204515) / 3706.6754947146137 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 686.7641824519717 < 933.0081509612569. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 154.79126862102035 (T) = (0 -699.2802373308159) / Math.Sqrt((117.22327960371067 / (299)) + (33.03140798081184 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.28970114910077627 = (984.487355492046 - 699.2802373308159) / 984.487355492046 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.927131674246252 < 8.989979031828511. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 126.43326099658898 (T) = (0 -7901.0292051496735) / Math.Sqrt((3269.495398074896 / (299)) + (1587.308629888426 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16623323187643393 = (9476.306213224756 - 7901.0292051496735) / 9476.306213224756 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.4157097270615564 < 4.14733078050241. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 76.50533430690545 (T) = (0 -3439.608232713681) / Math.Sqrt((817.4887607143753 / (299)) + (1562.8492667777023 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21114512191434517 = (4360.2547544115005 - 3439.608232713681) / 4360.2547544115005 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeToString(Mode%3a%20SourceGen).html>) 411.10 ns 377.71 ns 0.92 0.02 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeToStream(Mode%3a%20Reflection).html>) 631.82 ns 543.28 ns 0.86 0.14 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeToWriter(Mode%3a%20Reflection).html>) 408.52 ns 312.73 ns 0.77 0.05 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 503.73 ns 418.47 ns 0.83 0.08 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeToStream(Mode%3a%20SourceGen).html>) 457.41 ns 406.93 ns 0.89 0.07 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeObjectProperty(Mode%3a%20Reflection).html>) 827.76 ns 656.80 ns 0.79 0.13 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeToWriter(Mode%3a%20SourceGen).html>) 245.04 ns 219.86 ns 0.90 0.03 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 369.62 ns 338.78 ns 0.92 0.04 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeToString(Mode%3a%20Reflection).html>) 559.91 ns 465.70 ns 0.83 0.07 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 699.11 ns 587.01 ns 0.84 0.14 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;ClassRecord&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>.SerializeToString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 377.7149733418409 < 392.2045014693792. IsChangePoint: Marked as a change because one of 3/17/2023 5:40:49 AM, 4/10/2023 1:33:42 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 29.35182486955852 (T) = (0 -373.16194447805816) / Math.Sqrt((65.14521632593271 / (299)) + (18.025183825018306 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.09679946119508467 = (413.1551393578812 - 373.16194447805816) / 413.1551393578812 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>.SerializeToStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 543.2827758717164 < 601.1800480085982. IsChangePoint: Marked as a change because one of 4/4/2023 10:11:10 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 24.119660644391686 (T) = (0 -534.4958985023487) / Math.Sqrt((365.9077037562563 / (299)) + (253.42702625019692 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.18185515398545843 = (653.3022863934887 - 534.4958985023487) / 653.3022863934887 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 312.73197657921395 < 392.06371899622496. IsChangePoint: Marked as a change because one of 4/4/2023 10:11:10 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 98.58595420954833 (T) = (0 -312.98462784133403) / Math.Sqrt((92.24854090865037 / (299)) + (9.699640803111324 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.26262172048650334 = (424.4559902792815 - 312.98462784133403) / 424.4559902792815 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 418.4654901109634 < 484.5752498114391. IsChangePoint: Marked as a change because one of 3/19/2023 2:30:51 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 28.815943677542847 (T) = (0 -417.786688987957) / Math.Sqrt((183.6607941926123 / (299)) + (142.36717521892723 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20252277137492206 = (523.885415146284 - 417.786688987957) / 523.885415146284 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>.SerializeToStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 406.9312930756113 < 423.9117787065351. IsChangePoint: Marked as a change because one of 4/11/2023 5:52:15 AM, 4/25/2023 1:02:54 PM, 5/19/2023 1:23:34 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.287866565248137 (T) = (0 -404.34644556119736) / Math.Sqrt((121.17340034665077 / (299)) + (66.3333189382923 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.11196923203913409 = (455.32931982714393 - 404.34644556119736) / 455.32931982714393 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 656.7989171106037 < 757.287880774695. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 22.476743229691465 (T) = (0 -652.990763645106) / Math.Sqrt((429.2767797619893 / (299)) + (434.21625553619356 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.18734751686501833 = (803.530140123431 - 652.990763645106) / 803.530140123431 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>.SerializeToWriter(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 219.86299880003256 < 231.1047036177974. IsChangePoint: Marked as a change because one of 4/10/2023 5:02:03 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.399379590565744 (T) = (0 -219.06894053843672) / Math.Sqrt((41.17722118171537 / (299)) + (5.647340073184929 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12673132537832052 = (250.86087123569678 - 219.06894053843672) / 250.86087123569678 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>.SerializeToUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 338.77770818514097 < 351.2757965453277. IsChangePoint: Marked as a change because one of 3/20/2023 7:45:43 PM, 3/31/2023 7:02:21 PM, 4/25/2023 6:46:56 PM, 5/19/2023 1:23:34 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.816255532411468 (T) = (0 -341.00425338727035) / Math.Sqrt((68.04484249033739 / (299)) + (25.360381097891537 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.08402271498952413 = (372.28461771666133 - 341.00425338727035) / 372.28461771666133 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>.SerializeToString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 465.7047643748014 < 527.8456746873126. IsChangePoint: Marked as a change because one of 3/18/2023 3:39:51 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 27.839868086959132 (T) = (0 -456.6530808570132) / Math.Sqrt((170.51366813797176 / (299)) + (159.2708719706987 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19126921327699986 = (564.6540089160997 - 456.6530808570132) / 564.6540089160997 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>.SerializeObjectProperty(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 587.0089654949129 < 647.7618862119685. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 22.634636182222863 (T) = (0 -586.5844145524951) / Math.Sqrt((331.3779131157968 / (299)) + (170.89292490287733 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.136012659533058 = (678.9270942737141 - 586.5844145524951) / 678.9270942737141 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Xml_FromStream<LoginViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DataContractSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.XmlFromStream(LoginViewModel).DataContractSerializer.html>) 4.60 μs 4.21 μs 0.92 0.14 False
[DataContractSerializerBinaryXml - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Xml_FromStream(LoginViewModel).DataContractSerializerBinaryXml.html>) 1.19 μs 953.25 ns 0.80 0.02 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;LoginViewModel&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Xml_FromStream<LoginViewModel>.DataContractSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.211824663739668 < 4.365948366223515. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 11.675900274565631 (T) = (0 -4073.9419154988555) / Math.Sqrt((12503.617870117321 / (299)) + (17757.07951220834 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10444999233363633 = (4549.094836272503 - 4073.9419154988555) / 4549.094836272503 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Xml_FromStream<LoginViewModel>.DataContractSerializer_BinaryXml_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 953.2473819030295 < 1.1280623370737377. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 47.088022347960795 (T) = (0 -950.5065548693665) / Math.Sqrt((415.073798854164 / (218)) + (234.4565467376717 / (10))) is greater than 1.9705162426829501 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (218) + (10) - 2, .975) and 0.19963236345688398 = (1187.5874429090093 - 950.5065548693665) / 1187.5874429090093 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_ToStream<CollectionsOfPrimitives>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.JsonToStream(CollectionsOfPrimitives).JsonNet.html>) 533.49 μs 411.22 μs 0.77 0.06 True
[SystemTextJsonSourceGen - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_ToStream(CollectionsOfPrimitives).SystemTextJsonSourceGen.html>) 155.51 μs 133.88 μs 0.86 0.00 True
[DataContractJsonSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.JsonToStream(CollectionsOfPrimitives).DataContractJsonSerializer.html>) 1.51 ms 1.06 ms 0.71 0.01 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToStream&lt;CollectionsOfPrimitives&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Json_ToStream<CollectionsOfPrimitives>.JsonNet_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 411.21639181508147 < 494.63641028737374. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 75.86780416672558 (T) = (0 -404888.0113507212) / Math.Sqrt((97285312.57260816 / (299)) + (25038074.371268753 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23208721257549417 = (527257.8058097855 - 404888.0113507212) / 527257.8058097855 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToStream<CollectionsOfPrimitives>.SystemTextJson_SourceGen_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 133.88295448028677 < 147.4138579246024. IsChangePoint: Marked as a change because one of 4/9/2023 1:38:49 AM, 4/24/2023 7:54:29 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 149.47605325227445 (T) = (0 -133802.93710060054) / Math.Sqrt((5963916.231127328 / (299)) + (35579.728250290544 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14536223705337992 = (156560.99332572758 - 133802.93710060054) / 156560.99332572758 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToStream<CollectionsOfPrimitives>.DataContractJsonSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.063711531616595 < 1.4409225041151277. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.458298802803926 (T) = (0 -1109270.2736239936) / Math.Sqrt((460814747.6849761 / (299)) + (11087928587.080605 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.27232415060511406 = (1524401.6611880558 - 1109270.2736239936) / 1524401.6611880558 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeToStream(Mode%3a%20Reflection).html>) 17.09 μs 15.31 μs 0.90 0.00 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeObjectProperty(Mode%3a%20Reflection).html>) 19.91 μs 17.43 μs 0.88 0.01 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeToString(Mode%3a%20Reflection).html>) 19.85 μs 16.97 μs 0.86 0.01 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeToWriter(Mode%3a%20SourceGen).html>) 11.40 μs 10.41 μs 0.91 0.00 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeToWriter(Mode%3a%20Reflection).html>) 16.91 μs 14.08 μs 0.83 0.01 True
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeToStream(Mode%3a%20SourceGen).html>) 17.30 μs 14.87 μs 0.86 0.01 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 12.28 μs 11.57 μs 0.94 0.00 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 17.43 μs 15.28 μs 0.88 0.01 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;IndexViewModel&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeToStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.313596965322915 < 16.780254096674515. IsChangePoint: Marked as a change because one of 3/16/2023 10:20:48 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 41.648117337888614 (T) = (0 -14909.666906109032) / Math.Sqrt((67546.16133343577 / (299)) + (59166.78142579808 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17295494708170378 = (18027.63568139251 - 14909.666906109032) / 18027.63568139251 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 17.42718887209502 < 18.97601269200798. IsChangePoint: Marked as a change because one of 4/4/2023 10:11:10 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 40.75182686089099 (T) = (0 -17307.727577680394) / Math.Sqrt((102088.14373211282 / (299)) + (59832.52084991658 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.15771882776326457 = (20548.634052591413 - 17307.727577680394) / 20548.634052591413 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeToString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.969192386343096 < 18.83859074697819. IsChangePoint: Marked as a change because one of 3/19/2023 2:30:51 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 55.59236897184198 (T) = (0 -17136.041969049173) / Math.Sqrt((93674.49927098065 / (299)) + (31124.679944316584 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.153884029648391 = (20252.592516281402 - 17136.041969049173) / 20252.592516281402 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeToWriter(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.405847915278702 < 10.812893369833212. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 5/11/2023 10:01:37 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 52.188268242188414 (T) = (0 -10467.98941842825) / Math.Sqrt((24395.624369242778 / (299)) + (5480.358711099062 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10718017651023502 = (11724.63821145012 - 10467.98941842825) / 11724.63821145012 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.07601977194169 < 15.968626602212744. IsChangePoint: Marked as a change because one of 3/14/2023 1:07:29 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 90.0716514840897 (T) = (0 -14003.399964956025) / Math.Sqrt((85411.0950606051 / (299)) + (10252.859577153842 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.18889604187904827 = (17264.617962655582 - 14003.399964956025) / 17264.617962655582 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeToStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.86870052686232 < 16.458238122948334. IsChangePoint: Marked as a change because one of 3/13/2023 3:41:35 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 95.07317857685923 (T) = (0 -14830.143505291357) / Math.Sqrt((61080.1059984856 / (299)) + (6753.5697013804165 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.16533134692186138 = (17767.70153114042 - 14830.143505291357) / 17767.70153114042 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeToUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.573107241697414 < 11.66912773581474. IsChangePoint: Marked as a change because one of 2/23/2023 8:54:44 PM, 4/9/2023 9:22:58 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 70.6949848948238 (T) = (0 -11548.86022152829) / Math.Sqrt((29058.841442969217 / (299)) + (1477.3222837602011 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08520018328840691 = (12624.467135381241 - 11548.86022152829) / 12624.467135381241 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.275044067382812 < 16.762149992569487. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 56.626322737623276 (T) = (0 -14996.818627474346) / Math.Sqrt((72398.53912580894 / (299)) + (29816.12395380551 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17024624551252066 = (18073.818342331637 - 14996.818627474346) / 18073.818342331637 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20HelloWorld).html>) 440.02 ns 348.55 ns 0.79 0.04 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20Json400KB).html>) 1.77 ms 1.47 ms 0.83 0.01 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20Json400B).html>) 2.42 μs 1.99 μs 0.82 0.01 True
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20Json4KB).html>) 21.49 μs 18.00 μs 0.84 0.00 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20Json400B).html>) 2.83 μs 2.40 μs 0.85 0.00 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20LotsOfStrings).html>) 4.68 μs 3.67 μs 0.79 0.01 True
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20LotsOfStrings).html>) 5.61 μs 4.65 μs 0.83 0.01 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20Json4KB).html>) 17.48 μs 14.31 μs 0.82 0.00 True
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20LotsOfNumbers).html>) 7.77 μs 6.46 μs 0.83 0.00 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20DeepTree).html>) 22.68 μs 19.39 μs 0.85 0.00 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20BroadTree).html>) 25.03 μs 20.92 μs 0.84 0.01 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20DeepTree).html>) 13.95 μs 12.13 μs 0.87 0.00 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20BroadTree).html>) 32.18 μs 27.57 μs 0.86 0.01 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20HelloWorld).html>) 406.54 ns 320.15 ns 0.79 0.01 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20LotsOfNumbers).html>) 6.68 μs 5.44 μs 0.81 0.00 True

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
python3 .\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: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 348.5475501400529 < 419.95746855610076. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 4/23/2023 10:00:36 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.96459828690347 (T) = (0 -358.6651878398146) / Math.Sqrt((124.29934898613463 / (299)) + (140.49458521883946 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.16743120515980958 = (430.7934552227117 - 358.6651878398146) / 430.7934552227117 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: Json400KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.4680382678431372 < 1.681097212459794. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 224.56721879717503 (T) = (0 -1464604.9795419474) / Math.Sqrt((218545723.88009283 / (299)) + (11459736.549449457 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1695374141367266 = (1763601.4005609623 - 1464604.9795419474) / 1763601.4005609623 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.9939065827311413 < 2.3062657516638483. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 54.90523758384012 (T) = (0 -2018.3130483771188) / Math.Sqrt((1240.8306943349605 / (299)) + (552.8221470604351 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1671214823109642 = (2423.2982427944885 - 2018.3130483771188) / 2423.2982427944885 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.00226212957583 < 20.450618433829913. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 124.26035490147304 (T) = (0 -18152.29230494172) / Math.Sqrt((29140.604978748685 / (299)) + (6418.8731192464875 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15156276505427763 = (21394.97367310027 - 18152.29230494172) / 21394.97367310027 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.401341685219305 < 2.6596538626350044. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 47.93765092474341 (T) = (0 -2384.6609409153193) / Math.Sqrt((1280.0198100483526 / (299)) + (693.8622566689609 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.14714990258112237 = (2796.107953944563 - 2384.6609409153193) / 2796.107953944563 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: LotsOfStrings) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.67396393244161 < 4.4597694837177215. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 160.17991380072849 (T) = (0 -3698.499253739327) / Math.Sqrt((2306.967101191402 / (299)) + (337.96286271128554 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21167774652721916 = (4691.608333326123 - 3698.499253739327) / 4691.608333326123 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: LotsOfStrings) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.653524332546132 < 5.337613068837512. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 135.87387359299063 (T) = (0 -4664.850211702205) / Math.Sqrt((4400.294211791277 / (299)) + (388.96312728233755 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17089419358671623 = (5626.362975170048 - 4664.850211702205) / 5626.362975170048 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.309785332490371 < 16.616678163163815. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 238.03395831717592 (T) = (0 -14278.794533164588) / Math.Sqrt((26003.525654028694 / (299)) + (934.5707139893264 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17937674047985913 = (17399.93884832622 - 14278.794533164588) / 17399.93884832622 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.45542791291319 < 7.393426506252456. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 135.28779008801627 (T) = (0 -6381.313755234595) / Math.Sqrt((4938.948319235384 / (299)) + (851.7933056185057 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17046681679889522 = (7692.656405388867 - 6381.313755234595) / 7692.656405388867 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 19.39165150745814 < 21.538544349631533. IsChangePoint: Marked as a change because one of 2/7/2023 2:48:42 AM, 3/21/2023 3:33:39 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 142.2032384162154 (T) = (0 -19441.88805321645) / Math.Sqrt((72822.81626144139 / (299)) + (2081.1365653851813 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13206195223367198 = (22400.087314124434 - 19441.88805321645) / 22400.087314124434 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.923119909159727 < 24.024222105948926. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 4/17/2023 8:43:19 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 136.43270942212797 (T) = (0 -21015.428008459152) / Math.Sqrt((121742.10237430308 / (299)) + (3941.626483063787 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15226831681521916 = (24790.188246247722 - 21015.428008459152) / 24790.188246247722 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.132853079507278 < 13.248911684029117. IsChangePoint: Marked as a change because one of 1/27/2023 3:43:27 AM, 4/20/2023 5:25:38 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 122.06580721078738 (T) = (0 -12148.719661673507) / Math.Sqrt((23727.877482013864 / (299)) + (1167.828916250401 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.12335848172738662 = (13858.252670501013 - 12148.719661673507) / 13858.252670501013 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 27.57484081842938 < 30.51007137858801. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 161.41144775315001 (T) = (0 -27641.047443462325) / Math.Sqrt((67762.07043734149 / (299)) + (5038.6565745021435 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13254765212794573 = (31864.629234411004 - 27641.047443462325) / 31864.629234411004 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 320.14578965062054 < 388.9099857269531. IsChangePoint: Marked as a change because one of 3/7/2023 7:00:18 AM, 4/21/2023 10:42:26 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 22.51311069310439 (T) = (0 -330.70484378655493) / Math.Sqrt((101.37784589431189 / (299)) + (76.11293831537176 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.16798481819300468 = (397.4745305347918 - 330.70484378655493) / 397.4745305347918 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.438511633423883 < 6.358365243643034. IsChangePoint: Marked as a change because one of 4/17/2023 5:51:51 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 177.00122559460658 (T) = (0 -5420.0339275523165) / Math.Sqrt((6403.386796352882 / (299)) + (166.93542021259697 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.16777651007767633 = (6512.7144248934865 - 5420.0339275523165) / 6512.7144248934865 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Random

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[NextDouble - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Random.NextDouble.html>) 5.34 ns 3.28 ns 0.61 0.20 False
[Next - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Random.Next.html>) 5.89 ns 3.84 ns 0.65 0.25 False
[Next_int - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Random.Next_int.html>) 6.27 ns 3.98 ns 0.64 0.12 False
[NextDouble_unseeded - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Random.NextDouble_unseeded.html>) 5.55 ns 3.42 ns 0.62 0.24 False
[Next_int_int - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Random.Next_int_int.html>) 6.25 ns 4.19 ns 0.67 0.11 False
[NextSingle_unseeded - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Random.NextSingle_unseeded.html>) 12.08 ns 3.13 ns 0.26 0.36 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Random*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_Random.NextDouble ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.282438038364571 < 5.233616722326976. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 44.01463874618489 (T) = (0 -3.4476644389716813) / Math.Sqrt((0.386723490689812 / (299)) + (0.009983205086879549 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3745825814692978 = (5.512581416538262 - 3.4476644389716813) / 5.512581416538262 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Random.Next ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.8388472777200797 < 5.679087921427894. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 37.89044552848089 (T) = (0 -3.757787917812733) / Math.Sqrt((0.44338622769937663 / (299)) + (0.014713955397013053 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.34874805508189144 = (5.7700985726580125 - 3.757787917812733) / 5.7700985726580125 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Random.Next_int ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.979679261534992 < 5.948952858314255. IsChangePoint: Marked as a change because one of 2/14/2023 11:21:41 AM, 3/4/2023 1:07:20 AM, 4/12/2023 8:39:35 PM, 4/28/2023 1:33:49 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 56.48718392783443 (T) = (0 -4.149471024486455) / Math.Sqrt((0.3606722844491389 / (299)) + (0.009298037642755826 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.38618858908826365 = (6.7601725069316645 - 4.149471024486455) / 6.7601725069316645 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Random.NextDouble_unseeded ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.4237613281647534 < 5.443653939596961. IsChangePoint: Marked as a change because one of 5/3/2023 7:05:50 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 10.896939409560028 (T) = (0 -3.4086654786470176) / Math.Sqrt((0.9479386577200704 / (299)) + (0.14498478001551524 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.29016595465617234 = (4.802059722277672 - 3.4086654786470176) / 4.802059722277672 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Random.Next_int_int ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.18808056766459 < 6.111418527429827. IsChangePoint: Marked as a change because one of 2/7/2023 2:48:42 AM, 2/14/2023 11:21:41 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 57.89326116900912 (T) = (0 -4.330565025266442) / Math.Sqrt((0.13448420891685098 / (299)) + (0.013362574377021076 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.3610118879532379 = (6.777223149574847 - 4.330565025266442) / 6.777223149574847 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Random.NextSingle_unseeded ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.1254370612411804 < 5.4944548752776425. IsChangePoint: Marked as a change because one of 5/3/2023 7:05:50 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 13.427049329055844 (T) = (0 -3.2843838820082794) / Math.Sqrt((1.6730781443860858 / (299)) + (0.07738270931770577 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3148086191784636 = (4.793381781992561 - 3.2843838820082794) / 4.793381781992561 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in XmlDocumentTests.XmlDocumentTests.Perf_XmlDocument

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetDocumentElement - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/XmlDocumentTests.XmlDocumentTests.Perf_XmlDocument.GetDocumentElement.html>) 7.83 ns 4.52 ns 0.58 0.70 False
[LoadXml - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/XmlDocumentTests.XmlDocumentTests.Perf_XmlDocument.LoadXml.html>) 3.47 μs 3.17 μs 0.91 0.41 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'XmlDocumentTests.XmlDocumentTests.Perf_XmlDocument*'
### Payloads [Baseline]() [Compare]() ### Histogram #### XmlDocumentTests.XmlDocumentTests.Perf_XmlDocument.GetDocumentElement ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.520294205116131 < 6.75171244116848. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 9.975062384423584 (T) = (0 -4.748579058854092) / Math.Sqrt((0.6089797522130164 / (299)) + (0.39392289401178215 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.29011055240689976 = (6.689181075946797 - 4.748579058854092) / 6.689181075946797 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### XmlDocumentTests.XmlDocumentTests.Perf_XmlDocument.LoadXml ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.168613590301172 < 3.330503261089367. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.08610487534194 (T) = (0 -3093.7566215777783) / Math.Sqrt((21821.438932186553 / (299)) + (23708.23073125662 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15569781862249454 = (3664.276475669194 - 3093.7566215777783) / 3664.276475669194 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Enum

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetValues_Generic - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Enum.GetValues_Generic.html>) 56.01 ns 48.50 ns 0.87 0.22 False
[GetValuesAsUnderlyingType_NonGeneric - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Enum.GetValuesAsUnderlyingType_NonGeneric.html>) 30.05 ns 24.71 ns 0.82 0.33 False
[ToString_NonFlags_Small - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Enum.ToString_NonFlags_Small(value%3a%20-1).html>) 39.88 ns 34.61 ns 0.87 0.35 False
[StringFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Enum.StringFormat(value%3a%20Red).html>) 294.77 ns 271.27 ns 0.92 0.34 False
[ToString_Format_NonFlags - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Enum.ToString_Format_NonFlags(value%3a%20Saturday%2c%20format%3a%20%22D%22).html>) 19.19 ns 16.11 ns 0.84 0.36 False
[GetName_NonGeneric_Flags - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Enum.GetName_NonGeneric_Flags.html>) 58.89 ns 47.07 ns 0.80 0.28 False
[ToString_Format_Flags_Large - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Enum.ToString_Format_Flags_Large(value%3a%20All%2c%20format%3a%20%22d%22).html>) 32.70 ns 26.81 ns 0.82 0.40 False
[ToString_Format_NonFlags - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Enum.ToString_Format_NonFlags(value%3a%208%2c%20format%3a%20%22F%22).html>) 41.51 ns 32.62 ns 0.79 0.04 False
[ToString_Flags - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Enum.ToString_Flags(value%3a%2036).html>) 38.17 ns 29.19 ns 0.76 0.05 False
[StringFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Enum.StringFormat(value%3a%2032).html>) 307.78 ns 275.96 ns 0.90 0.22 False
[GetValuesAsUnderlyingType_Generic - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Enum.GetValuesAsUnderlyingType_Generic.html>) 24.65 ns 21.64 ns 0.88 0.29 False
[ToString_Flags - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Enum.ToString_Flags(value%3a%2032).html>) 37.23 ns 31.03 ns 0.83 0.11 False
[ToString_NonFlags_Large - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Enum.ToString_NonFlags_Large(value%3a%2042).html>) 24.03 ns 20.90 ns 0.87 0.46 False
[StringFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Enum.StringFormat(value%3a%20Red%2c%20Green).html>) 339.31 ns 313.74 ns 0.92 0.25 False
[ToString_Format_NonFlags - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Enum.ToString_Format_NonFlags(value%3a%207%2c%20format%3a%20%22G%22).html>) 25.62 ns 23.10 ns 0.90 0.37 False
[ToString_Format_NonFlags - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Enum.ToString_Format_NonFlags(value%3a%20Tuesday%2c%20format%3a%20%22d%22).html>) 21.38 ns 17.80 ns 0.83 0.40 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Enum*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_Enum.GetValues_Generic ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 48.49549753510837 < 51.76369739144123. IsChangePoint: Marked as a change because one of 3/20/2023 8:31:51 AM, 3/22/2023 1:13:01 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 30.46924205976948 (T) = (0 -47.85930061696059) / Math.Sqrt((12.786158634895795 / (299)) + (0.42767241106701165 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1539108581463852 = (56.56531711553499 - 47.85930061696059) / 56.56531711553499 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Enum.GetValuesAsUnderlyingType_NonGeneric ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 24.71418053284915 < 27.348038628797045. IsChangePoint: Marked as a change because one of 2/21/2023 5:46:41 AM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.738830806810153 (T) = (0 -24.431299087229057) / Math.Sqrt((1.6150869961810677 / (299)) + (0.24695032982204293 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08005193803243302 = (26.557259151104542 - 24.431299087229057) / 26.557259151104542 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Enum.ToString_NonFlags_Small(value: -1) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 34.609770092891985 < 38.094412230588944. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 8.51715701823061 (T) = (0 -35.81149095796022) / Math.Sqrt((2.7410621778540767 / (299)) + (3.620498800197359 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12152239273147503 = (40.76539989369779 - 35.81149095796022) / 40.76539989369779 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Enum.StringFormat(value: Red) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 271.2722826331744 < 280.5119719918405. IsChangePoint: Marked as a change because one of 3/25/2023 12:18:49 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 27.33168565294109 (T) = (0 -273.22000007340614) / Math.Sqrt((150.84084985650745 / (299)) + (3.335339621465548 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08248785743568465 = (297.783525033026 - 273.22000007340614) / 297.783525033026 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Enum.ToString_Format_NonFlags(value: Saturday, format: "D") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.107875493253584 < 18.75463711462975. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.392748209476 (T) = (0 -16.463845822655763) / Math.Sqrt((0.8535051850370435 / (299)) + (0.062053367354689457 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.1366550077773351 = (19.069834157802795 - 16.463845822655763) / 19.069834157802795 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Enum.GetName_NonGeneric_Flags ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 47.07269242818865 < 54.805449506240976. IsChangePoint: Marked as a change because one of 4/25/2023 1:02:54 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 24.365422479530647 (T) = (0 -47.090107511063295) / Math.Sqrt((4.22491527816432 / (299)) + (1.7260429489012037 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17627119750525733 = (57.16700371341433 - 47.090107511063295) / 57.16700371341433 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Enum.ToString_Format_Flags_Large(value: All, format: "d") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 26.81280384032852 < 31.027730547091764. IsChangePoint: Marked as a change because one of 3/21/2023 12:49:42 AM, 4/9/2023 9:22:58 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 8.876053138590278 (T) = (0 -27.95690175032523) / Math.Sqrt((2.444603352816224 / (299)) + (2.0292639380910713 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12230989700356792 = (31.852816449542303 - 27.95690175032523) / 31.852816449542303 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Enum.ToString_Format_NonFlags(value: 8, format: "F") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 32.62386961934515 < 39.345818908307415. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 10.410098647413784 (T) = (0 -33.69768395435531) / Math.Sqrt((8.108321550635129 / (299)) + (0.629912520949 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08234921677650452 = (36.721686038323995 - 33.69768395435531) / 36.721686038323995 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Enum.ToString_Flags(value: 36) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 29.191617143031703 < 35.91257245892835. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 13.576052971719504 (T) = (0 -30.45193131123983) / Math.Sqrt((2.5237001188716457 / (299)) + (1.4563640938423663 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14332825782002104 = (35.54679092571511 - 30.45193131123983) / 35.54679092571511 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Enum.StringFormat(value: 32) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 275.96415239448777 < 292.64644253503764. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 41.45737397673309 (T) = (0 -275.9975046230081) / Math.Sqrt((116.39250762829336 / (299)) + (1.810908718105273 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1005515678082412 = (306.8519492000922 - 275.9975046230081) / 306.8519492000922 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Enum.GetValuesAsUnderlyingType_Generic ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 21.638027497943927 < 23.054973671900786. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 4/11/2023 11:54:05 PM, 5/19/2023 1:23:34 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 4.0177473604089124 (T) = (0 -21.64711262412835) / Math.Sqrt((1.1976563857500395 / (299)) + (1.6966795907821057 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.07179486624051747 = (23.321474786992045 - 21.64711262412835) / 23.321474786992045 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Enum.ToString_Flags(value: 32) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 31.029758841997282 < 35.05529545660193. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.081901851561662 (T) = (0 -29.148936046854296) / Math.Sqrt((4.386759288620627 / (299)) + (1.6002762567096613 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14227416464790305 = (33.98397814948484 - 29.148936046854296) / 33.98397814948484 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Enum.ToString_NonFlags_Large(value: 42) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.90293240491308 < 22.76857427493115. IsChangePoint: Marked as a change because one of 4/25/2023 6:51:20 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 8.140324417354964 (T) = (0 -19.232658957202407) / Math.Sqrt((2.726342087250177 / (299)) + (1.2141031011495678 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12763469560490376 = (22.04656565352339 - 19.232658957202407) / 22.04656565352339 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Enum.StringFormat(value: Red, Green) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 313.7378984819215 < 317.8201898040468. IsChangePoint: Marked as a change because one of 2/27/2023 8:52:52 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.555014705619 (T) = (0 -315.7595496450576) / Math.Sqrt((143.62907213573732 / (299)) + (2.2210420741495596 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.06266094550926966 = (336.8680181757862 - 315.7595496450576) / 336.8680181757862 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Enum.ToString_Format_NonFlags(value: 7, format: "G") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 23.101813299339092 < 24.172260585374953. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 2.561598257539157 (T) = (0 -21.18025790306408) / Math.Sqrt((2.1887634473466084 / (299)) + (2.785276321063556 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.06073452584752001 = (22.54980991628112 - 21.18025790306408) / 22.54980991628112 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Enum.ToString_Format_NonFlags(value: Tuesday, format: "d") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 17.802340209856677 < 19.642405805133155. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 15.770146325635132 (T) = (0 -16.623088313839506) / Math.Sqrt((0.9222003368007282 / (299)) + (0.25443142957000003 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13314916394326573 = (19.176411468271972 - 16.623088313839506) / 19.176411468271972 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.WriteJson<Location>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Location).SerializeObjectProperty(Mode%3a%20Reflection).html>) 1.17 μs 981.33 ns 0.84 0.05 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Location).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 1.01 μs 902.21 ns 0.89 0.02 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Location).SerializeToStream(Mode%3a%20SourceGen).html>) 754.73 ns 693.83 ns 0.92 0.03 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Location).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 889.29 ns 737.03 ns 0.83 0.01 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Location).SerializeToString(Mode%3a%20Reflection).html>) 917.03 ns 800.35 ns 0.87 0.00 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Location).SerializeToStream(Mode%3a%20Reflection).html>) 1.04 μs 860.19 ns 0.83 0.04 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Location).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 690.51 ns 631.31 ns 0.91 0.01 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Location).SerializeToWriter(Mode%3a%20SourceGen).html>) 547.38 ns 506.48 ns 0.93 0.00 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Location).SerializeToWriter(Mode%3a%20Reflection).html>) 758.64 ns 635.89 ns 0.84 0.00 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;Location&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<Location>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 981.3264481081422 < 1.1161239269799603. IsChangePoint: Marked as a change because one of 2/4/2023 8:08:12 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.804048355766888 (T) = (0 -1015.1001226597032) / Math.Sqrt((492.391622140582 / (299)) + (392.80008976367105 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13896126741280992 = (1178.925040467808 - 1015.1001226597032) / 1178.925040467808 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Location>.SerializeObjectProperty(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 902.212442172465 < 0.9648592892425693. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.17488955634238 (T) = (0 -891.6774811982905) / Math.Sqrt((344.8232930681696 / (299)) + (243.57368487083224 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.12480327872755462 = (1018.8309205522203 - 891.6774811982905) / 1018.8309205522203 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Location>.SerializeToStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 693.8265108820931 < 721.7907787684495. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.0559132065313 (T) = (0 -692.9334695507202) / Math.Sqrt((207.788986251407 / (299)) + (189.45762296632662 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.09934285326828987 = (769.3643158944842 - 692.9334695507202) / 769.3643158944842 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Location>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 737.0251782299443 < 842.1838011744094. IsChangePoint: Marked as a change because one of 3/14/2023 1:07:29 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 31.70001746201054 (T) = (0 -743.624109747937) / Math.Sqrt((198.25884524803934 / (299)) + (189.19537893257282 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1526634164532383 = (877.6017986091107 - 743.624109747937) / 877.6017986091107 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Location>.SerializeToString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 800.354318638166 < 881.795001541541. IsChangePoint: Marked as a change because one of 3/19/2023 2:30:51 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 34.28268637908919 (T) = (0 -806.6691588173135) / Math.Sqrt((215.17444158780893 / (299)) + (136.57240055142648 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.13877973754458475 = (936.6583602171972 - 806.6691588173135) / 936.6583602171972 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Location>.SerializeToStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 860.1862112880191 < 0.9733359817643463. IsChangePoint: Marked as a change because one of 3/20/2023 7:45:43 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 22.68186402080798 (T) = (0 -863.5566719626496) / Math.Sqrt((536.1008282807846 / (299)) + (503.38929949110496 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1533527084708228 = (1019.9721662168569 - 863.5566719626496) / 1019.9721662168569 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Location>.SerializeToUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 631.3108804850781 < 653.872033342523. IsChangePoint: Marked as a change because one of 3/25/2023 12:18:49 AM, 4/10/2023 1:33:42 PM, 5/5/2023 3:18:41 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 24.773936724646532 (T) = (0 -626.6520986866149) / Math.Sqrt((135.61331673439426 / (299)) + (67.45583726503267 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.09211052173859757 = (690.2294978532477 - 626.6520986866149) / 690.2294978532477 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Location>.SerializeToWriter(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 506.47791163335387 < 520.6101241069052. IsChangePoint: Marked as a change because one of 3/25/2023 12:18:49 AM, 4/10/2023 1:33:42 PM, 5/1/2023 10:26:58 PM, 5/19/2023 1:23:34 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 38.365373746687325 (T) = (0 -505.97442717641525) / Math.Sqrt((89.90123330487948 / (299)) + (16.670913122651843 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.09613889105660364 = (559.7922315386418 - 505.97442717641525) / 559.7922315386418 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Location>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 635.8945641651585 < 720.2682548227582. IsChangePoint: Marked as a change because one of 3/18/2023 7:37:20 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 40.9078406470048 (T) = (0 -648.4469520840462) / Math.Sqrt((147.12181148535888 / (299)) + (95.47097931613223 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16040430076047144 = (772.3323888764353 - 648.4469520840462) / 772.3323888764353 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Globalization.Tests.StringSearch

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[IsPrefix_DifferentFirstChar - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options%3a%20(%2c%20None%2c%20False)).html>) 7.73 ns 6.59 ns 0.85 0.31 False
[IsPrefix_FirstHalf - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options%3a%20(en-US%2c%20IgnoreCase%2c%20False)).html>) 236.36 ns 191.62 ns 0.81 0.01 False
[IsPrefix_FirstHalf - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options%3a%20(%2c%20IgnoreCase%2c%20False)).html>) 236.60 ns 191.12 ns 0.81 0.01 False
[IsSuffix_SecondHalf - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options%3a%20(%2c%20IgnoreCase%2c%20False)).html>) 237.11 ns 192.37 ns 0.81 0.01 False
[IsPrefix_DifferentFirstChar - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options%3a%20(en-US%2c%20IgnoreNonSpace%2c%20False)).html>) 7.94 ns 6.17 ns 0.78 0.40 False
[IsSuffix_SecondHalf - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options%3a%20(en-US%2c%20IgnoreCase%2c%20False)).html>) 236.17 ns 192.79 ns 0.82 0.01 False
[LastIndexOf_Word_NotFound - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options%3a%20(en-US%2c%20Ordinal%2c%20False)).html>) 56.68 ns 49.11 ns 0.87 0.06 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Globalization.Tests.StringSearch*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (, None, False)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.588201285832417 < 7.3351347550106825. IsChangePoint: Marked as a change because one of 1/27/2023 3:43:27 AM, 2/7/2023 2:48:42 AM, 3/2/2023 11:02:42 PM, 4/3/2023 11:26:06 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 14.246551435289566 (T) = (0 -6.436421740927335) / Math.Sqrt((0.37667781658571203 / (299)) + (0.1377321908151087 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20624767548754822 = (8.108854036907283 - 6.436421740927335) / 8.108854036907283 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, IgnoreCase, False)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 191.61892474859056 < 224.53585200637562. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 55.69644526809405 (T) = (0 -191.5646939927352) / Math.Sqrt((351.83790816245465 / (299)) + (0.029349721106022974 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23997559710291166 = (252.05071476984423 - 191.5646939927352) / 252.05071476984423 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (, IgnoreCase, False)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 191.1215848282263 < 224.73434217833122. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.192641506200136 (T) = (0 -193.59573433094636) / Math.Sqrt((368.6257038700789 / (299)) + (47.396007855226216 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23449895063954188 = (252.90067791897468 - 193.59573433094636) / 252.90067791897468 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (, IgnoreCase, False)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 192.3674680610068 < 224.52630705989515. IsChangePoint: Marked as a change because one of 2/16/2023 5:39:51 AM, 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 54.99936892059988 (T) = (0 -192.61874310943602) / Math.Sqrt((345.7953514055139 / (299)) + (0.08638962615606477 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23553703864939451 = (251.96608972281567 - 192.61874310943602) / 251.96608972281567 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, IgnoreNonSpace, False)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.166589738352259 < 7.38395619775955. IsChangePoint: Marked as a change because one of 4/5/2023 11:58:06 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.061173121058292 (T) = (0 -6.4903927574065685) / Math.Sqrt((0.4003142564744619 / (299)) + (0.06927850379154041 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.18680582802091167 = (7.9813567055095325 - 6.4903927574065685) / 7.9813567055095325 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, IgnoreCase, False)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 192.79427592767578 < 224.56644060086683. IsChangePoint: Marked as a change because one of 2/16/2023 5:39:51 AM, 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 55.708027311419734 (T) = (0 -192.71148352412584) / Math.Sqrt((330.9967914806219 / (299)) + (0.05402224276550198 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23361251342620595 = (251.45437118977543 - 192.71148352412584) / 251.45437118977543 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, Ordinal, False)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 49.11416056359853 < 54.201119730034755. IsChangePoint: Marked as a change because one of 2/16/2023 7:04:07 PM, 4/21/2023 10:42:26 PM, 4/25/2023 1:02:54 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 43.4685295707614 (T) = (0 -48.75615963808062) / Math.Sqrt((6.216553133676829 / (299)) + (0.3631668735942212 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17136606054444692 = (58.839201867733586 - 48.75615963808062) / 58.839201867733586 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Xml_FromStream<SimpleStructWithProperties>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DataContractSerializerBinaryXml - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Xml_FromStream(SimpleStructWithProperties).DataContractSerializerBinaryXml.html>) 821.24 ns 600.17 ns 0.73 0.02 True
[XmlSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.XmlFromStream(SimpleStructWithProperties).XmlSerializer.html>) 5.66 μs 5.32 μs 0.94 0.36 False
[DataContractSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.XmlFromStream(SimpleStructWithProperties).DataContractSerializer.html>) 3.14 μs 2.84 μs 0.90 0.27 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;SimpleStructWithProperties&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Xml_FromStream<SimpleStructWithProperties>.DataContractSerializer_BinaryXml_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 600.1665016066963 < 799.3711421816364. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 37.79557795584405 (T) = (0 -597.1620334733419) / Math.Sqrt((169.4650160937062 / (218)) + (393.0246400649433 / (10))) is greater than 1.9705162426829501 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (218) + (10) - 2, .975) and 0.2860676649584148 = (836.4406599381135 - 597.1620334733419) / 836.4406599381135 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Xml_FromStream<SimpleStructWithProperties>.XmlSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.323216427834706 < 5.342473862359657. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 6.637760547366895 (T) = (0 -4893.864339333271) / Math.Sqrt((50677.08401930274 / (299)) + (96976.32619507765 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11392329535083474 = (5523.070760867093 - 4893.864339333271) / 5523.070760867093 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Xml_FromStream<SimpleStructWithProperties>.DataContractSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.8375864725212465 < 2.994878509584615. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 11.324330098602259 (T) = (0 -2706.074584305372) / Math.Sqrt((9261.06953313501 / (299)) + (13893.007906761983 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.14241077627666526 = (3155.443782929779 - 2706.074584305372) / 3155.443782929779 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Depth.ReadSpanEmptyLoop(Depth%3a%20512).html>) 28.23 μs 26.19 μs 0.93 0.01 False
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Depth.ReadSpanEmptyLoop(Depth%3a%201).html>) 97.87 ns 86.38 ns 0.88 0.17 False
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Depth.ReadSpanEmptyLoop(Depth%3a%2064).html>) 3.28 μs 2.63 μs 0.80 0.01 False
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Depth.ReadSpanEmptyLoop(Depth%3a%2065).html>) 3.31 μs 2.74 μs 0.83 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
python3 .\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: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 26.192349080362195 < 26.860004342357385. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.59193271284099 (T) = (0 -26296.37044200777) / Math.Sqrt((45375.75860173215 / (299)) + (26245.924876000896 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.0704993545763468 = (28290.857646497123 - 26296.37044200777) / 28290.857646497123 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Depth.ReadSpanEmptyLoop(Depth: 1) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 86.38161267116158 < 94.42795571744786. IsChangePoint: Marked as a change because one of 3/9/2023 9:43:16 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.258519557714957 (T) = (0 -89.7990266479845) / Math.Sqrt((14.090157425126957 / (299)) + (8.504851154575466 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.11452175240390139 = (101.41302385662371 - 89.7990266479845) / 101.41302385662371 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Depth.ReadSpanEmptyLoop(Depth: 64) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.6296501894258286 < 3.115964996008744. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 119.89596887934252 (T) = (0 -2633.725427145735) / Math.Sqrt((222.68506803996337 / (299)) + (298.09412512604894 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1936887607771917 = (3266.3880881585437 - 2633.725427145735) / 3266.3880881585437 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Depth.ReadSpanEmptyLoop(Depth: 65) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.7363094116148754 < 3.1694667375828565. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 222.73795719249367 (T) = (0 -2716.33137104219) / Math.Sqrt((469.9685969247381 / (299)) + (65.75229600561367 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.18387442142916416 = (3328.3252508748874 - 2716.33137104219) / 3328.3252508748874 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Common

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SplitWords - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.SplitWords(Options%3a%20Compiled).html>) 4.40 μs 3.90 μs 0.89 0.01 False
[ReplaceWords - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords(Options%3a%20None).html>) 75.67 μs 63.94 μs 0.84 0.02 True
[Ctor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Ctor(Options%3a%20IgnoreCase%2c%20Compiled).html>) 45.17 μs 38.32 μs 0.85 0.11 False
[MatchesWords - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesWords(Options%3a%20None).html>) 75.94 μs 64.87 μs 0.85 0.00 True
[Backtracking - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Backtracking(Options%3a%20None).html>) 2.10 μs 1.63 μs 0.78 0.00 True
[ReplaceWords - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords(Options%3a%20IgnoreCase%2c%20Compiled).html>) 4.66 μs 4.39 μs 0.94 0.01 False
[Date_IsNotMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsNotMatch(Options%3a%20None).html>) 508.98 ns 417.25 ns 0.82 0.00 True
[Email_IsNotMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsNotMatch(Options%3a%20None).html>) 675.69 ns 564.49 ns 0.84 0.01 True
[Date_IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsMatch(Options%3a%20None).html>) 200.61 ns 179.42 ns 0.89 0.01 False
[IP_IsNotMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsNotMatch(Options%3a%20None).html>) 809.08 ns 663.71 ns 0.82 0.00 True
[Ctor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Ctor(Options%3a%20Compiled).html>) 34.36 μs 30.21 μs 0.88 0.14 False
[OneNodeBacktracking - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.OneNodeBacktracking(Options%3a%20None).html>) 1.39 μs 1.19 μs 0.85 0.01 True
[SplitWords - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.SplitWords(Options%3a%20IgnoreCase%2c%20Compiled).html>) 4.93 μs 4.55 μs 0.92 0.01 False
[SplitWords - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.SplitWords(Options%3a%20None).html>) 75.99 μs 64.54 μs 0.85 0.00 True
[Email_IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsMatch(Options%3a%20None).html>) 464.24 ns 429.51 ns 0.93 0.00 True
[IP_IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsMatch(Options%3a%20None).html>) 806.63 ns 663.96 ns 0.82 0.00 True
[MatchWord - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchWord(Options%3a%20None).html>) 2.15 μs 1.85 μs 0.86 0.00 True
[Ctor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Ctor(Options%3a%20None).html>) 8.94 μs 7.77 μs 0.87 0.26 False
[MatchesBoundary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesBoundary(Options%3a%20None).html>) 158.15 μs 143.93 μs 0.91 0.00 True
[ReplaceWords - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords(Options%3a%20Compiled).html>) 4.09 μs 3.75 μs 0.92 0.01 False
[Uri_IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsMatch(Options%3a%20None).html>) 348.77 ns 309.09 ns 0.89 0.00 True
[Uri_IsNotMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsNotMatch(Options%3a%20None).html>) 391.47 ns 361.77 ns 0.92 0.00 False
[MatchesSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesSet(Options%3a%20None).html>) 176.50 μs 154.29 μs 0.87 0.00 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Common*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.SplitWords(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.904397651785714 < 4.096081231126662. IsChangePoint: Marked as a change because one of 3/7/2023 7:00:18 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.053534955283197 (T) = (0 -3990.863181842317) / Math.Sqrt((2244.8873399816534 / (299)) + (3067.4322081173486 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.07110837815316376 = (4296.371167507812 - 3990.863181842317) / 4296.371167507812 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 63.93997635400314 < 72.31192138484991. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 37.63035269726583 (T) = (0 -64432.252483676464) / Math.Sqrt((762191.5058317009 / (299)) + (923589.6101090849 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.1524870460000998 = (76025.0945777096 - 64432.252483676464) / 76025.0945777096 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Ctor(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 38.31661077556022 < 42.01069898048531. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 23.71670854007631 (T) = (0 -37578.1585140755) / Math.Sqrt((1880974.7980339567 / (299)) + (512137.5781203201 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12670599423689297 = (43030.36350425734 - 37578.1585140755) / 43030.36350425734 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesWords(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 64.87068921560802 < 72.22355863204655. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 198.66459179490406 (T) = (0 -64773.876946419245) / Math.Sqrt((290127.4244405524 / (299)) + (24387.460175262444 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14759818718917445 = (75989.83950166068 - 64773.876946419245) / 75989.83950166068 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Backtracking(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.6319751567184773 < 2.0078728025540133. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 115.16997344567348 (T) = (0 -1636.841496197201) / Math.Sqrt((198.01038082215533 / (299)) + (174.78896570827231 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2225518687275326 = (2105.4028305633 - 1636.841496197201) / 2105.4028305633 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.39225400123198 < 4.421379142417228. IsChangePoint: Marked as a change because one of 4/30/2023 6:17:41 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 40.075169170490824 (T) = (0 -4384.495337693384) / Math.Sqrt((20547.11218826158 / (299)) + (1305.8985917098564 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11121894551252261 = (4933.155714285266 - 4384.495337693384) / 4933.155714285266 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsNotMatch(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 417.24547319048 < 477.4604482465316. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 44.94729086988013 (T) = (0 -414.33880090775364) / Math.Sqrt((12.372988777668715 / (299)) + (32.18413432045798 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.16378085824982874 = (495.4906916392276 - 414.33880090775364) / 495.4906916392276 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsNotMatch(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 564.492060420159 < 641.9909729517252. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 115.1514496060409 (T) = (0 -567.8090357095123) / Math.Sqrt((20.45558747286781 / (299)) + (8.534894623431525 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15707520587010385 = (673.6176698843336 - 567.8090357095123) / 673.6176698843336 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsMatch(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 179.4162810477616 < 191.59716680211426. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 71.32802643636923 (T) = (0 -178.8402677644837) / Math.Sqrt((10.123139298214193 / (299)) + (0.8280069497561804 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.11989120062231896 = (203.2024539363093 - 178.8402677644837) / 203.2024539363093 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsNotMatch(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 663.7071107933527 < 767.389374606417. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 236.09229671241366 (T) = (0 -665.0293304237625) / Math.Sqrt((16.724878670249616 / (299)) + (3.461248307716582 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17771132193246927 = (808.7540886330272 - 665.0293304237625) / 808.7540886330272 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Ctor(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 30.21156171109296 < 32.3974910334477. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.447002974507438 (T) = (0 -29718.769693360187) / Math.Sqrt((1496467.614610401 / (299)) + (601856.4935307789 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.09284765686859327 = (32760.50590441482 - 29718.769693360187) / 32760.50590441482 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.OneNodeBacktracking(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.1857085955489763 < 1.3265405417338159. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 96.94870516831287 (T) = (0 -1169.8392528421723) / Math.Sqrt((60.30341268397984 / (299)) + (49.06540297458841 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.1577568651821429 = (1388.9567091516406 - 1169.8392528421723) / 1388.9567091516406 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.SplitWords(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.553659650903923 < 4.648337720548465. IsChangePoint: Marked as a change because one of 3/20/2023 7:45:43 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 33.33822782096343 (T) = (0 -4565.1409045998425) / Math.Sqrt((3724.7896187181136 / (299)) + (878.2471167614913 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.0655596145562842 = (4885.427658857126 - 4565.1409045998425) / 4885.427658857126 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.SplitWords(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 64.5388140224359 < 72.2188723209925. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 205.88961366058817 (T) = (0 -64544.29105395992) / Math.Sqrt((218321.70742195658 / (299)) + (25073.290488080715 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1489333312974685 = (75839.28900935459 - 64544.29105395992) / 75839.28900935459 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsMatch(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 429.50899717943054 < 438.8543651600746. IsChangePoint: Marked as a change because one of 3/16/2023 8:14:39 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 55.060060632777926 (T) = (0 -427.95475540739955) / Math.Sqrt((12.521830183350719 / (299)) + (3.9489753390047135 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.07532407940093165 = (462.81594002160364 - 427.95475540739955) / 462.81594002160364 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsMatch(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 663.9634209077684 < 767.8942778873889. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 250.8667519174202 (T) = (0 -664.6350323334692) / Math.Sqrt((20.312744737004362 / (299)) + (2.8937775212431953 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17841470812624025 = (808.9665661098438 - 664.6350323334692) / 808.9665661098438 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchWord(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.8477194754265718 < 2.0369327446035697. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 81.64026351722724 (T) = (0 -1833.0291960916875) / Math.Sqrt((133.8317684432806 / (299)) + (139.9472201284655 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.14475798346315502 = (2143.287117153368 - 1833.0291960916875) / 2143.287117153368 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Ctor(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.772508114318882 < 8.131684092112375. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 10.066589428789207 (T) = (0 -7528.616379435823) / Math.Sqrt((69570.48529037314 / (299)) + (110027.29354014495 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11915540968927112 = (8547.042761288923 - 7528.616379435823) / 8547.042761288923 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesBoundary(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 143.9302979083995 < 150.581991741313. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 95.19350633363419 (T) = (0 -144229.31348403994) / Math.Sqrt((634247.9784528482 / (299)) + (208000.7126615936 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.09084696472867047 = (158641.40346954443 - 144229.31348403994) / 158641.40346954443 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.7501090012154474 < 3.88288907085763. IsChangePoint: Marked as a change because one of 4/30/2023 6:17:41 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 45.717362853163856 (T) = (0 -3792.578081106861) / Math.Sqrt((12900.569897123189 / (299)) + (986.0959812034695 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12196678883568425 = (4319.401627277531 - 3792.578081106861) / 4319.401627277531 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsMatch(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 309.0865960416085 < 328.94396937429616. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 104.61065461101182 (T) = (0 -310.7191447438055) / Math.Sqrt((7.215106579981881 / (299)) + (0.9925080180730954 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.10575254035826484 = (347.46438627657915 - 310.7191447438055) / 347.46438627657915 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsNotMatch(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 361.77385415278513 < 368.27920269142123. IsChangePoint: Marked as a change because one of 2/24/2023 4:59:28 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 49.65210388268787 (T) = (0 -361.39911572790055) / Math.Sqrt((7.700965541375311 / (299)) + (3.2037568850607974 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.07180025776180861 = (389.3548977469545 - 361.39911572790055) / 389.3548977469545 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesSet(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 154.28826624381188 < 167.76815368365175. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 60.64153287311655 (T) = (0 -155664.56265191425) / Math.Sqrt((2581497.9873595764 / (299)) + (1375415.5957190746 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12467245423191801 = (177835.78662010664 - 155664.56265191425) / 177835.78662010664 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Linq.Tests.Perf_Enumerable

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Select - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Select(input%3a%20IList).html>) 1.23 μs 824.54 ns 0.67 0.42 False
[ToDictionary - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.ToDictionary(input%3a%20Array).html>) 1.14 μs 1.03 μs 0.90 0.00 True
[WhereSelect - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.WhereSelect(input%3a%20IEnumerable).html>) 1.41 μs 811.01 ns 0.57 0.50 False
[Zip - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Zip(input%3a%20IEnumerable).html>) 2.02 μs 1.13 μs 0.56 0.43 False
[All_AllElementsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.All_AllElementsMatch(input%3a%20IEnumerable).html>) 857.22 ns 264.35 ns 0.31 0.05 True
[SingleWithPredicate_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input%3a%20Array).html>) 859.70 ns 262.62 ns 0.31 0.20 False
[SequenceEqual - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.SequenceEqual(input1%3a%20IEnumerable%2c%20input2%3a%20IEnumerable).html>) 1.54 μs 530.22 ns 0.34 0.48 False
[Select - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Select(input%3a%20List).html>) 1.00 μs 714.24 ns 0.71 0.30 False
[AnyWithPredicate_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.AnyWithPredicate_LastElementMatches(input%3a%20IOrderedEnumerable).html>) 2.97 μs 2.04 μs 0.69 0.33 False
[OrderByDescending - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.OrderByDescending(input%3a%20IEnumerable).html>) 4.45 μs 3.78 μs 0.85 0.48 False
[OrderBy - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.OrderBy(input%3a%20IEnumerable).html>) 3.66 μs 2.93 μs 0.80 0.47 False
[Where - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Where(input%3a%20IEnumerable).html>) 1.24 μs 735.72 ns 0.60 0.42 False
[SelectToList - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.SelectToList(input%3a%20IEnumerable).html>) 1.20 μs 631.51 ns 0.52 0.37 True
[SelectToList - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.SelectToList(input%3a%20Array).html>) 425.89 ns 175.26 ns 0.41 0.43 False
[Except - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Except(input%3a%20IEnumerable).html>) 4.28 μs 3.40 μs 0.79 0.22 False
[ToList - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.ToList(input%3a%20IEnumerable).html>) 971.80 ns 556.44 ns 0.57 0.40 False
[LastWithPredicate_FirstElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.LastWithPredicate_FirstElementMatches(input%3a%20IOrderedEnumerable).html>) 1.29 μs 607.96 ns 0.47 0.41 False
[WhereSingleOrDefault_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.WhereSingleOrDefault_LastElementMatches(input%3a%20Array).html>) 272.05 ns 198.23 ns 0.73 0.50 False
[WhereSelect - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.WhereSelect(input%3a%20List).html>) 1.18 μs 750.13 ns 0.63 0.32 False
[AnyWithPredicate_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.AnyWithPredicate_LastElementMatches(input%3a%20IEnumerable).html>) 860.56 ns 273.02 ns 0.32 0.14 True
[Take_All - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Take_All(input%3a%20IEnumerable).html>) 1.17 μs 748.90 ns 0.64 0.44 False
[Aggregate - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Aggregate(input%3a%20IEnumerable).html>) 838.12 ns 205.69 ns 0.25 0.34 False
[Sum - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Sum(input%3a%20IEnumerable).html>) 681.00 ns 206.63 ns 0.30 0.59 False
[SingleWithPredicate_FirstElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_FirstElementMatches(input%3a%20IEnumerable).html>) 845.55 ns 253.96 ns 0.30 0.36 False
[ToDictionary - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.ToDictionary(input%3a%20List).html>) 1.23 μs 1.10 μs 0.89 0.00 False
[SingleWithPredicate_FirstElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_FirstElementMatches(input%3a%20Array).html>) 865.66 ns 255.64 ns 0.30 0.40 False
[EmptyTakeSelectToArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.EmptyTakeSelectToArray.html>) 23.35 ns 18.96 ns 0.81 0.32 False
[SkipHalfTakeHalf - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.SkipHalfTakeHalf(input%3a%20IEnumerable).html>) 783.06 ns 528.80 ns 0.68 0.49 False
[FirstWithPredicate_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input%3a%20Array).html>) 834.07 ns 276.54 ns 0.33 0.17 True
[TakeLastHalf - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.TakeLastHalf(input%3a%20List).html>) 893.24 ns 568.25 ns 0.64 0.52 False
[Select - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Select(input%3a%20IEnumerable).html>) 1.25 μs 815.61 ns 0.66 0.51 False
[ElementAt - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.ElementAt(input%3a%20IEnumerable).html>) 266.63 ns 112.52 ns 0.42 0.21 True
[Aggregate_Seed - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Aggregate_Seed(input%3a%20IEnumerable).html>) 838.99 ns 204.22 ns 0.24 0.22 False
[Average - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Average(input%3a%20IEnumerable).html>) 693.26 ns 210.65 ns 0.30 0.44 True
[SelectToArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.SelectToArray(input%3a%20Array).html>) 288.05 ns 163.22 ns 0.57 0.42 False
[WhereSingle_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.WhereSingle_LastElementMatches(input%3a%20Array).html>) 275.57 ns 200.03 ns 0.73 0.49 False
[FirstWithPredicate_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input%3a%20List).html>) 1.70 μs 383.95 ns 0.23 0.65 False
[WhereAny_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.WhereAny_LastElementMatches(input%3a%20List).html>) 507.41 ns 338.96 ns 0.67 0.39 False
[Where - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Where(input%3a%20Array).html>) 822.50 ns 635.32 ns 0.77 0.43 False
[WhereSingleOrDefault_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.WhereSingleOrDefault_LastElementMatches(input%3a%20List).html>) 441.89 ns 326.64 ns 0.74 0.42 False
[SelectToArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.SelectToArray(input%3a%20List).html>) 296.08 ns 166.46 ns 0.56 0.35 False
[SelectToArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.SelectToArray(input%3a%20Range).html>) 272.19 ns 146.98 ns 0.54 0.32 False
[GroupBy - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.GroupBy(input%3a%20IEnumerable).html>) 3.37 μs 2.48 μs 0.74 0.48 False
[WhereLast_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.WhereLast_LastElementMatches(input%3a%20Array).html>) 275.76 ns 204.98 ns 0.74 0.55 False
[Intersect - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Intersect(input%3a%20IEnumerable).html>) 5.22 μs 3.55 μs 0.68 0.39 False
[OrderByThenBy - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.OrderByThenBy(input%3a%20IEnumerable).html>) 5.29 μs 3.52 μs 0.66 0.41 False
[WhereSelect - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.WhereSelect(input%3a%20Array).html>) 991.92 ns 662.51 ns 0.67 0.44 False
[Repeat - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Repeat.html>) 654.19 ns 502.01 ns 0.77 0.39 False
[SelectToArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.SelectToArray(input%3a%20IEnumerable).html>) 1.33 μs 693.24 ns 0.52 0.11 True
[Prepend - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Prepend(input%3a%20IEnumerable).html>) 6.14 μs 4.77 μs 0.78 0.66 False
[LastWithPredicate_FirstElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.LastWithPredicate_FirstElementMatches(input%3a%20IList).html>) 12.20 ns 8.72 ns 0.71 0.03 True
[SingleWithPredicate_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input%3a%20IEnumerable).html>) 828.64 ns 272.38 ns 0.33 0.15 True
[FirstWithPredicate_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input%3a%20IOrderedEnumerable).html>) 2.97 μs 2.04 μs 0.69 0.32 False
[LastWithPredicate_FirstElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.LastWithPredicate_FirstElementMatches(input%3a%20IEnumerable).html>) 873.74 ns 282.78 ns 0.32 0.39 True
[Where - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Where(input%3a%20List).html>) 1.01 μs 723.68 ns 0.71 0.34 False
[WhereSingle_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.WhereSingle_LastElementMatches(input%3a%20List).html>) 434.40 ns 318.43 ns 0.73 0.38 False
[ToArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.ToArray(input%3a%20ICollection).html>) 57.40 ns 51.54 ns 0.90 0.31 False
[AnyWithPredicate_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.AnyWithPredicate_LastElementMatches(input%3a%20Array).html>) 844.92 ns 277.19 ns 0.33 0.11 True
[Reverse - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Reverse(input%3a%20IEnumerable).html>) 1.64 μs 1.10 μs 0.67 0.49 False
[SelectToList - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.SelectToList(input%3a%20List).html>) 302.43 ns 182.69 ns 0.60 0.35 False
[WhereFirst_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.WhereFirst_LastElementMatches(input%3a%20List).html>) 502.19 ns 332.97 ns 0.66 0.40 False
[ToArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.ToArray(input%3a%20IEnumerable).html>) 1.17 μs 696.14 ns 0.59 0.07 True
[ToDictionary - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.ToDictionary(input%3a%20IEnumerable).html>) 2.89 μs 2.30 μs 0.80 0.32 False
[AnyWithPredicate_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.AnyWithPredicate_LastElementMatches(input%3a%20List).html>) 1.68 μs 389.09 ns 0.23 0.65 False
[WhereLast_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.WhereLast_LastElementMatches(input%3a%20List).html>) 446.14 ns 325.84 ns 0.73 0.45 False
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Count(input%3a%20ICollection).html>) 4.47 ns 3.11 ns 0.70 0.32 False
[SingleWithPredicate_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input%3a%20List).html>) 1.07 μs 354.29 ns 0.33 0.62 False
[Max - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Max(input%3a%20IEnumerable).html>) 632.54 ns 207.27 ns 0.33 0.42 True
[FirstWithPredicate_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input%3a%20IEnumerable).html>) 856.46 ns 270.33 ns 0.32 0.15 True
[SelectToList - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.SelectToList(input%3a%20IList).html>) 460.11 ns 198.11 ns 0.43 0.43 False
[SelectToList - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.SelectToList(input%3a%20Range).html>) 304.69 ns 160.27 ns 0.53 0.41 False
[SelectToArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.SelectToArray(input%3a%20IList).html>) 449.88 ns 181.94 ns 0.40 0.38 False
[TakeLastHalf - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.TakeLastHalf(input%3a%20IEnumerable).html>) 1.81 μs 1.29 μs 0.71 0.35 False
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_Enumerable.Count(input%3a%20IEnumerable).html>) 503.78 ns 212.69 ns 0.42 0.24 True

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 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 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Linq.Tests.Perf_Enumerable*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Linq.Tests.Perf_Enumerable.Select(input: IList) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 824.5425690913021 < 1.1615759304277973. IsChangePoint: Marked as a change because one of 4/12/2023 2:59:13 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.002164800540974 (T) = (0 -812.1932971579241) / Math.Sqrt((66826.93066718148 / (299)) + (31.35497860860072 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.4194392390049722 = (1398.9806954329802 - 812.1932971579241) / 1398.9806954329802 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.ToDictionary(input: Array) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0281131289667427 < 1.0816561441094104. IsChangePoint: Marked as a change because one of 5/3/2023 4:46:09 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 69.5162243459514 (T) = (0 -1030.7949390429728) / Math.Sqrt((119.8815163366909 / (299)) + (32.25631921124941 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10962874829205066 = (1157.713635818381 - 1030.7949390429728) / 1157.713635818381 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.WhereSelect(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 811.0104914229388 < 1.368502151018034. IsChangePoint: Marked as a change because one of 4/12/2023 2:59:13 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 52.12116007022538 (T) = (0 -812.4635405198118) / Math.Sqrt((78947.10430819805 / (299)) + (106.82315231172925 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5148967317042642 = (1674.8259465951603 - 812.4635405198118) / 1674.8259465951603 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Zip(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.134309225494698 < 1.892813867336266. IsChangePoint: Marked as a change because one of 4/10/2023 5:02:03 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 65.25781003785525 (T) = (0 -1135.2973654989453) / Math.Sqrt((75727.61173881938 / (299)) + (276.33822122156585 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.49067640783745814 = (2229.0296050857874 - 1135.2973654989453) / 2229.0296050857874 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.All_AllElementsMatch(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 264.3548465275761 < 809.3350705716708. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 536.2546290261388 (T) = (0 -262.08663746734004) / Math.Sqrt((231.70681566861683 / (299)) + (5.3208747800689995 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6965570012952158 = (863.7096212007871 - 262.08663746734004) / 863.7096212007871 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input: Array) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 262.6201662156268 < 810.7257683447327. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 116.86393088986303 (T) = (0 -266.8406242343119) / Math.Sqrt((7894.04789099326 / (299)) + (12.360156909010126 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6967583731086769 = (879.9604030944712 - 266.8406242343119) / 879.9604030944712 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.SequenceEqual(input1: IEnumerable, input2: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 530.2243809315755 < 1.3894993937708553. IsChangePoint: Marked as a change because one of 4/7/2023 7:05:26 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 53.90349532785223 (T) = (0 -525.8058234778276) / Math.Sqrt((192049.07672451987 / (299)) + (32.76773494515812 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.7225424463488164 = (1895.085632229225 - 525.8058234778276) / 1895.085632229225 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Select(input: List) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 714.2401765330712 < 0.9599035716227143. IsChangePoint: Marked as a change because one of 3/22/2023 10:32:21 PM, 3/29/2023 12:02:44 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 44.906732782179716 (T) = (0 -717.0610308594371) / Math.Sqrt((20465.083607108754 / (299)) + (37.70915792554161 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3468030871069159 = (1097.771616346886 - 717.0610308594371) / 1097.771616346886 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.AnyWithPredicate_LastElementMatches(input: IOrderedEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.0402089714242595 < 2.8174596424098945. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 92.82487391724607 (T) = (0 -2037.741670031376) / Math.Sqrt((35948.86451877421 / (299)) + (99.39851025787772 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.34293609359115695 = (3101.2838327531535 - 2037.741670031376) / 3101.2838327531535 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.OrderByDescending(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.7831504014370654 < 4.262924901703965. IsChangePoint: Marked as a change because one of 4/11/2023 8:14:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 50.95126538510795 (T) = (0 -3783.734504076296) / Math.Sqrt((96448.48985362217 / (299)) + (1735.7272417192119 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2278791691215007 = (4900.443496351808 - 3783.734504076296) / 4900.443496351808 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.OrderBy(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.9295195371108402 < 3.4984568635167452. IsChangePoint: Marked as a change because one of 3/22/2023 10:32:21 PM, 4/11/2023 11:54:05 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 61.44417773682532 (T) = (0 -2933.5251937031703) / Math.Sqrt((73034.70878000166 / (299)) + (661.5560346757068 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.26763556997678956 = (4005.5538929030176 - 2933.5251937031703) / 4005.5538929030176 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Where(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 735.7248864474922 < 1.17395263918264. IsChangePoint: Marked as a change because one of 4/4/2023 10:11:10 PM, 4/11/2023 12:48:48 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.29288281013244 (T) = (0 -731.2103681298229) / Math.Sqrt((102548.04942264249 / (299)) + (50.86848710151595 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5004651123841642 = (1463.7823828876508 - 731.2103681298229) / 1463.7823828876508 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.SelectToList(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 631.5053774478093 < 1.151424877715776. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 174.61360822347078 (T) = (0 -636.987702603356) / Math.Sqrt((1786.0692418191095 / (299)) + (61.40144027762013 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.48235801029621145 = (1230.556475852859 - 636.987702603356) / 1230.556475852859 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.SelectToList(input: Array) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 175.26380730275773 < 293.72632717972215. IsChangePoint: Marked as a change because one of 4/26/2023 12:55:36 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 53.58749288789975 (T) = (0 -183.46136091811118) / Math.Sqrt((2068.4329203763946 / (299)) + (72.35856221724939 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.5235573903678942 = (385.0649736382192 - 183.46136091811118) / 385.0649736382192 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Except(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.3982012297660478 < 4.075629175624727. IsChangePoint: Marked as a change because one of 3/21/2023 8:47:40 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 54.28860295996075 (T) = (0 -3387.7712224202205) / Math.Sqrt((38651.3277634368 / (299)) + (2828.1183480099235 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23953781959487153 = (4454.884555357401 - 3387.7712224202205) / 4454.884555357401 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.ToList(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 556.4384429741465 < 922.7708442450447. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 121.4614915012602 (T) = (0 -558.1337545417166) / Math.Sqrt((3330.588024850813 / (299)) + (28.25668354679643 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.4462050358592184 = (1007.8346512371536 - 558.1337545417166) / 1007.8346512371536 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.LastWithPredicate_FirstElementMatches(input: IOrderedEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 607.9557770134468 < 1.2283159809002382. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 143.10238836412597 (T) = (0 -608.1188213732232) / Math.Sqrt((7228.717106848433 / (299)) + (12.257335434301861 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5420024694649136 = (1327.7775115135391 - 608.1188213732232) / 1327.7775115135391 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.WhereSingleOrDefault_LastElementMatches(input: Array) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 198.2310086026334 < 256.9176183696418. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 30.579167580488505 (T) = (0 -202.37251273058263) / Math.Sqrt((1757.6349930523627 / (299)) + (31.081247831472275 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3083375536922131 = (292.58855068810215 - 202.37251273058263) / 292.58855068810215 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.WhereSelect(input: List) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 750.1332924893323 < 1.1183500699640434. IsChangePoint: Marked as a change because one of 2/10/2023 11:47:22 AM, 4/8/2023 3:10:58 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 56.61605182929594 (T) = (0 -758.7297463579075) / Math.Sqrt((25925.35302623374 / (299)) + (59.93720212088882 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.41807865629662005 = (1303.8355691326065 - 758.7297463579075) / 1303.8355691326065 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.AnyWithPredicate_LastElementMatches(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 273.01610198361243 < 819.1618045354566. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 336.5512585544365 (T) = (0 -271.3991864218334) / Math.Sqrt((803.7119536882672 / (299)) + (5.3863155217030485 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.6901624886034528 = (875.9403766139911 - 271.3991864218334) / 875.9403766139911 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Take_All(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 748.8971558436756 < 1.1127178651425949. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 40.32441295128608 (T) = (0 -756.451823868923) / Math.Sqrt((68633.05079707094 / (299)) + (48.496435688040314 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.44914484041726355 = (1373.2318027880915 - 756.451823868923) / 1373.2318027880915 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Aggregate(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 205.68619368258578 < 797.1563551215497. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 89.93303696732457 (T) = (0 -200.75596883257055) / Math.Sqrt((18331.036487173926 / (299)) + (14.4100753421659 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.7801507654476243 = (913.152912455301 - 200.75596883257055) / 913.152912455301 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Sum(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 206.62881011758842 < 638.1898391921061. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 38.92936619083411 (T) = (0 -204.21295479707595) / Math.Sqrt((83852.24410546753 / (299)) + (3.4229332115885684 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.7615732094406298 = (856.5017140816027 - 204.21295479707595) / 856.5017140816027 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_FirstElementMatches(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 253.96090959604783 < 830.9821964487822. IsChangePoint: Marked as a change because one of 4/12/2023 6:21:10 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 43.67344158404691 (T) = (0 -256.19777329047434) / Math.Sqrt((88666.28511410698 / (299)) + (18.46459373094678 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.7464388134829073 = (1010.398226990486 - 256.19777329047434) / 1010.398226990486 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.ToDictionary(input: List) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0981506492504407 < 1.1619204066022988. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 65.5864681083064 (T) = (0 -1099.8469135478279) / Math.Sqrt((322.3126223350328 / (299)) + (53.194133680873755 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1266495958411172 = (1259.3420788613273 - 1099.8469135478279) / 1259.3420788613273 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_FirstElementMatches(input: Array) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 255.63523779443784 < 817.2302570318802. IsChangePoint: Marked as a change because one of 4/12/2023 2:59:13 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 49.0359558136034 (T) = (0 -253.85131931605946) / Math.Sqrt((66348.25214416347 / (299)) + (4.347902463710656 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.742271712516477 = (984.9571492313916 - 253.85131931605946) / 984.9571492313916 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.EmptyTakeSelectToArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.960264111553155 < 22.1444892708496. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.033494572582505 (T) = (0 -19.105748697909416) / Math.Sqrt((0.7732321465289893 / (299)) + (0.13777447868981338 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20073051531101685 = (23.904013682373932 - 19.105748697909416) / 23.904013682373932 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.SkipHalfTakeHalf(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 528.7953469772932 < 743.1390657726175. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 40.616197465863685 (T) = (0 -509.6649235271319) / Math.Sqrt((27916.642506908618 / (299)) + (54.109097534856645 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.4413592936662642 = (912.3304437873429 - 509.6649235271319) / 912.3304437873429 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input: Array) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 276.5407895487081 < 798.2594434811904. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 102.48821189554964 (T) = (0 -275.33093458882837) / Math.Sqrt((10510.534907724072 / (299)) + (16.09897239605725 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6925385930283825 = (895.4975432550623 - 275.33093458882837) / 895.4975432550623 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.TakeLastHalf(input: List) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 568.2510184712997 < 850.5623559376593. IsChangePoint: Marked as a change because one of 2/7/2023 2:48:42 AM, 4/11/2023 5:52:15 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 44.55285484702029 (T) = (0 -559.3203808336558) / Math.Sqrt((30532.109491299692 / (299)) + (39.94741776766887 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.45070722670804736 = (1018.2554878368542 - 559.3203808336558) / 1018.2554878368542 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Select(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 815.6058729576874 < 1.1820299515965802. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 38.37443469118069 (T) = (0 -810.2806884608283) / Math.Sqrt((77456.14430479308 / (299)) + (42.74556131943084 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.4343726276729239 = (1432.5344353955354 - 810.2806884608283) / 1432.5344353955354 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.ElementAt(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 112.52193177489488 < 259.7125931261263. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 233.27501159359176 (T) = (0 -112.8932754986186) / Math.Sqrt((77.63145358309612 / (299)) + (1.1478381183862865 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.5625051397090557 = (258.0448040544795 - 112.8932754986186) / 258.0448040544795 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Aggregate_Seed(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 204.22150129434638 < 799.5674031751031. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 105.72151074691527 (T) = (0 -200.5175513613964) / Math.Sqrt((12784.332104681183 / (299)) + (6.316599918105676 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.7763190823612047 = (896.4446027765158 - 200.5175513613964) / 896.4446027765158 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Average(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 210.6506778499479 < 620.5251115303192. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 183.11939963598198 (T) = (0 -212.46697588757814) / Math.Sqrt((1633.5929959585399 / (299)) + (16.29324605550914 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6943091623382488 = (695.038744087823 - 212.46697588757814) / 695.038744087823 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.SelectToArray(input: Array) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 163.22168273486375 < 274.97296571600435. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 48.49231906278936 (T) = (0 -167.31122373232301) / Math.Sqrt((2318.5431315400206 / (299)) + (23.033087010296917 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.4789413835429514 = (321.09866039632925 - 167.31122373232301) / 321.09866039632925 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.WhereSingle_LastElementMatches(input: Array) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 200.02962967499056 < 259.04650954761735. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 28.62154284128559 (T) = (0 -205.3159126183008) / Math.Sqrt((1569.584035749337 / (299)) + (42.137363112469934 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.29580668605829413 = (291.56186029238154 - 205.3159126183008) / 291.56186029238154 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input: List) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 383.9549087081893 < 1.005023482338516. IsChangePoint: Marked as a change because one of 4/18/2023 4:36:42 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 53.2667626423851 (T) = (0 -387.6010409682765) / Math.Sqrt((81682.5971153133 / (299)) + (12.749742518446661 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.6948177449825725 = (1270.0641488678382 - 387.6010409682765) / 1270.0641488678382 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.WhereAny_LastElementMatches(input: List) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 338.9649279053469 < 418.9416388222707. IsChangePoint: Marked as a change because one of 4/3/2023 7:47:24 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 43.0667458336765 (T) = (0 -347.80043223646624) / Math.Sqrt((1541.990921128247 / (299)) + (38.33862441438029 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.26687568201564754 = (474.40853304758275 - 347.80043223646624) / 474.40853304758275 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Where(input: Array) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 635.3197365754575 < 780.9344990598265. IsChangePoint: Marked as a change because one of 3/2/2023 11:15:04 AM, 3/3/2023 4:19:26 AM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 36.71014375072713 (T) = (0 -640.1779594128634) / Math.Sqrt((14226.277564955397 / (299)) + (50.14961390584931 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.29281723350235017 = (905.251074744609 - 640.1779594128634) / 905.251074744609 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.WhereSingleOrDefault_LastElementMatches(input: List) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 326.6431847640524 < 415.20323342484454. IsChangePoint: Marked as a change because one of 4/1/2023 5:53:03 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 43.59984265114805 (T) = (0 -324.0803691748978) / Math.Sqrt((1577.406703865132 / (299)) + (58.78931448836204 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.31002236594436555 = (469.6969194058926 - 324.0803691748978) / 469.6969194058926 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.SelectToArray(input: List) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 166.45548355964164 < 282.78017166267114. IsChangePoint: Marked as a change because one of 4/25/2023 6:51:20 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 56.46669329224451 (T) = (0 -167.935757654514) / Math.Sqrt((2961.610386350442 / (299)) + (15.21042150725076 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5304451539313836 = (357.64886479304573 - 167.935757654514) / 357.64886479304573 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.SelectToArray(input: Range) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 146.98402389605215 < 261.1015760989319. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 52.53127326892892 (T) = (0 -152.03728342584657) / Math.Sqrt((1908.8658330595413 / (299)) + (20.37752407066482 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.4978952363183121 = (302.79992229317196 - 152.03728342584657) / 302.79992229317196 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.GroupBy(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.480146498091387 < 3.2692599378948914. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.273364745697684 (T) = (0 -2586.4610760768624) / Math.Sqrt((44020.94043227393 / (299)) + (23207.032169867198 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.24085573648553218 = (3407.0745184885 - 2586.4610760768624) / 3407.0745184885 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.WhereLast_LastElementMatches(input: Array) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 204.98456986300656 < 259.02694314512223. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 32.04096956387461 (T) = (0 -209.69577442952303) / Math.Sqrt((1601.5495370580243 / (299)) + (24.356632995789116 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2959816944552911 = (297.8555710526283 - 209.69577442952303) / 297.8555710526283 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Intersect(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.552689351191811 < 4.955164722213379. IsChangePoint: Marked as a change because one of 4/12/2023 2:59:13 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 85.66915817249216 (T) = (0 -3600.366963076929) / Math.Sqrt((95864.80796017352 / (299)) + (1825.7417069289713 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.34421139452026583 = (5490.133456105302 - 3600.366963076929) / 5490.133456105302 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.OrderByThenBy(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.517226723948006 < 4.997591559414928. IsChangePoint: Marked as a change because one of 4/11/2023 8:14:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 35.37824621588124 (T) = (0 -3653.532084185068) / Math.Sqrt((111816.63468800615 / (299)) + (29438.085456177196 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.34844573531801126 = (5607.410283728689 - 3653.532084185068) / 5607.410283728689 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.WhereSelect(input: Array) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 662.5067935361541 < 0.9570954062177601. IsChangePoint: Marked as a change because one of 4/18/2023 7:36:21 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 59.383290197486616 (T) = (0 -666.8330166529639) / Math.Sqrt((13387.08727547926 / (299)) + (67.93358930729156 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3886197668205715 = (1090.7009753736363 - 666.8330166529639) / 1090.7009753736363 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Repeat ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 502.01022346236994 < 622.8988660903108. IsChangePoint: Marked as a change because one of 4/11/2023 12:48:48 AM, 4/11/2023 11:54:05 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 35.53776809194059 (T) = (0 -496.2144972604305) / Math.Sqrt((9711.35478305618 / (299)) + (13.990497494932612 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2938200392605917 = (702.6742825452981 - 496.2144972604305) / 702.6742825452981 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.SelectToArray(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 693.238620181913 < 1.256603158484927. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 118.3483482059045 (T) = (0 -669.2856202649707) / Math.Sqrt((657.5672782228714 / (299)) + (318.39305553703497 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.49668329860261706 = (1329.7504700455997 - 669.2856202649707) / 1329.7504700455997 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Prepend(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.766525655207625 < 4.8703500592959985. IsChangePoint: Marked as a change because one of 5/16/2023 12:30:38 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 7.108089065680731 (T) = (0 -4375.167801378554) / Math.Sqrt((438306.8056727076 / (299)) + (377040.26522145094 / (19))) is greater than 1.9674995188240387 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (19) - 2, .975) and 0.19170060590057694 = (5412.805989113975 - 4375.167801378554) / 5412.805989113975 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.LastWithPredicate_FirstElementMatches(input: IList) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.716314991435114 < 11.584854495371355. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 125.87217855097505 (T) = (0 -8.694413063914153) / Math.Sqrt((0.17447840350517752 / (299)) + (0.004312396060319105 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.31138439928664063 = (12.625931005494687 - 8.694413063914153) / 12.625931005494687 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 272.38376267466487 < 805.4809523586623. IsChangePoint: Marked as a change because one of 3/21/2023 3:33:39 AM, 3/22/2023 9:02:35 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 170.37187288483165 (T) = (0 -265.29559346278563) / Math.Sqrt((3495.279845258979 / (299)) + (16.65122504831785 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.7012139156869808 = (887.9114771116724 - 265.29559346278563) / 887.9114771116724 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input: IOrderedEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.0428157529847364 < 2.8310279421700772. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 70.44492546459719 (T) = (0 -2031.4133079341157) / Math.Sqrt((47606.574507691665 / (299)) + (989.1378317394983 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3537384574006569 = (3143.330020479824 - 2031.4133079341157) / 3143.330020479824 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.LastWithPredicate_FirstElementMatches(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 282.7801921979701 < 825.3686720625184. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 204.3164522971593 (T) = (0 -290.1351303538131) / Math.Sqrt((1391.995000957035 / (299)) + (44.5367463797176 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6750754897147285 = (892.9308844663194 - 290.1351303538131) / 892.9308844663194 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Where(input: List) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 723.6763826165933 < 936.1014188511049. IsChangePoint: Marked as a change because one of 4/11/2023 2:19:19 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 45.65822368977599 (T) = (0 -722.2162016195177) / Math.Sqrt((18768.42330652899 / (299)) + (27.418675403982256 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.3384923141934981 = (1091.7729561055678 - 722.2162016195177) / 1091.7729561055678 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.WhereSingle_LastElementMatches(input: List) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 318.4312389906217 < 412.3349870814003. IsChangePoint: Marked as a change because one of 4/8/2023 3:10:58 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 38.56191185319298 (T) = (0 -327.66648138667784) / Math.Sqrt((1550.1948855839712 / (299)) + (87.16475957257737 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2987841404046448 = (467.2833292386764 - 327.66648138667784) / 467.2833292386764 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.ToArray(input: ICollection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 51.54492302935634 < 54.22881263241754. IsChangePoint: Marked as a change because one of 2/6/2023 2:52:08 AM, 3/5/2023 11:54:18 PM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 21.356035985720393 (T) = (0 -51.21343519842693) / Math.Sqrt((5.5837657148593065 / (299)) + (0.6614004778404505 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.11236962824607225 = (57.69680356614083 - 51.21343519842693) / 57.69680356614083 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.AnyWithPredicate_LastElementMatches(input: Array) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 277.19286114728243 < 807.8961512316426. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 310.85502706405003 (T) = (0 -271.9597319125893) / Math.Sqrt((707.9586731700083 / (299)) + (13.843930001440988 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.688868950860235 = (874.1002631030267 - 271.9597319125893) / 874.1002631030267 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Reverse(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0983430675269796 < 1.5681163204940465. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 59.50805396839546 (T) = (0 -1104.9899148485338) / Math.Sqrt((41405.61313722149 / (299)) + (68.00124731176778 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3931050126782584 = (1820.7267120872268 - 1104.9899148485338) / 1820.7267120872268 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.SelectToList(input: List) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 182.69313549014163 < 288.16715384540504. IsChangePoint: Marked as a change because one of 4/26/2023 8:38:54 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 50.97602355424718 (T) = (0 -182.28310460881207) / Math.Sqrt((5372.966559059186 / (299)) + (66.50457521131153 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5781411883340557 = (432.09505068524174 - 182.28310460881207) / 432.09505068524174 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.WhereFirst_LastElementMatches(input: List) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 332.9706849727661 < 405.54283790200157. IsChangePoint: Marked as a change because one of 4/10/2023 1:33:42 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.817412426681905 (T) = (0 -340.16299238502904) / Math.Sqrt((1778.8446421973358 / (299)) + (47.4777412989964 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.27274743835467125 = (467.73708382057504 - 340.16299238502904) / 467.73708382057504 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.ToArray(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 696.1351187695816 < 1.125699459742101. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 100.17692477931926 (T) = (0 -680.9037950025382) / Math.Sqrt((4364.107390047991 / (299)) + (130.2160019618447 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.43603679541032564 = (1207.3550002219506 - 680.9037950025382) / 1207.3550002219506 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.ToDictionary(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.302042194469984 < 2.727975269464532. IsChangePoint: Marked as a change because one of 4/9/2023 1:38:49 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 47.63993472766421 (T) = (0 -2307.487793175633) / Math.Sqrt((50881.09597283683 / (299)) + (330.6239541293866 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.22609114206593822 = (2981.6014760903986 - 2307.487793175633) / 2981.6014760903986 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.AnyWithPredicate_LastElementMatches(input: List) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 389.0924808456148 < 0.9766753992303668. IsChangePoint: Marked as a change because one of 3/17/2023 1:30:52 PM, 3/18/2023 3:40:27 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 47.4616140672304 (T) = (0 -387.32729071034225) / Math.Sqrt((106381.91995187747 / (299)) + (3.867915241731641 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6981110151042078 = (1283.0123326428827 - 387.32729071034225) / 1283.0123326428827 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.WhereLast_LastElementMatches(input: List) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 325.8403556941664 < 423.597732376086. IsChangePoint: Marked as a change because one of 4/17/2023 5:51:51 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 42.76538371574965 (T) = (0 -332.3788672686011) / Math.Sqrt((1804.6752317438786 / (299)) + (59.551013608412156 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3033118399492368 = (477.08413365943056 - 332.3788672686011) / 477.08413365943056 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Count(input: ICollection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.1101192153812014 < 4.323757852556908. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 5.864891956166198 (T) = (0 -2.8992878337878327) / Math.Sqrt((0.201729261541955 / (299)) + (0.9730182673134606 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3765293357377894 = (4.65023937769186 - 2.8992878337878327) / 4.65023937769186 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input: List) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 354.28572741701714 < 1.0137029999708356. IsChangePoint: Marked as a change because one of 4/21/2023 8:40:59 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 56.01311674873397 (T) = (0 -356.65209385235363) / Math.Sqrt((82989.81339007981 / (299)) + (12.0700046724514 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.7238845131371706 = (1291.6772539800847 - 356.65209385235363) / 1291.6772539800847 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Max(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 207.2678133478139 < 621.8540513059361. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 184.27047953040892 (T) = (0 -209.2921200839105) / Math.Sqrt((1826.9295100367065 / (299)) + (8.243579320510813 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6975154586627492 = (691.9101358325722 - 209.2921200839105) / 691.9101358325722 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 270.3339450973013 < 803.0234411027433. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 178.60043491345223 (T) = (0 -277.02952813458757) / Math.Sqrt((1974.2831300758912 / (299)) + (52.231854775650234 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6847511841700353 = (878.7646906943772 - 277.02952813458757) / 878.7646906943772 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.SelectToList(input: IList) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 198.10501960449594 < 442.0995701788884. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 85.2092249705902 (T) = (0 -197.09673041633613) / Math.Sqrt((3916.751307924426 / (299)) + (66.93876116380764 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.6579312755909497 = (576.1904446448171 - 197.09673041633613) / 576.1904446448171 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.SelectToList(input: Range) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 160.27359266305976 < 283.00920132718653. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 61.37103842619729 (T) = (0 -160.91342048557908) / Math.Sqrt((3221.195085982802 / (299)) + (23.86846665763704 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5784350819485004 = (381.7049607195289 - 160.91342048557908) / 381.7049607195289 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.SelectToArray(input: IList) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 181.9367827463641 < 426.92676192398426. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 120.77054944896095 (T) = (0 -184.0814962321518) / Math.Sqrt((1431.6109450536646 / (299)) + (21.887211700335126 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6307267784161275 = (498.4967375716998 - 184.0814962321518) / 498.4967375716998 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.TakeLastHalf(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2946734106518223 < 1.7249138734280318. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 86.21550503929274 (T) = (0 -1300.8211492133044) / Math.Sqrt((10910.228781046613 / (299)) + (122.59377371106469 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3138614103436159 = (1895.8577302360318 - 1300.8211492133044) / 1895.8577302360318 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Count(input: IEnumerable) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 212.69179977550075 < 476.9562085193574. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 280.3041109694561 (T) = (0 -210.43621189678478) / Math.Sqrt((232.60434524311395 / (299)) + (1.34169835554382 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5582257019228432 = (476.34326580952813 - 210.43621189678478) / 476.34326580952813 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 9.54 μs 8.69 μs 0.91 0.00 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeToString(Mode%3a%20Reflection).html>) 11.71 μs 10.34 μs 0.88 0.00 True
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeToStream(Mode%3a%20SourceGen).html>) 9.22 μs 8.37 μs 0.91 0.01 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 11.22 μs 9.96 μs 0.89 0.00 True
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeToStream(Mode%3a%20Reflection).html>) 11.06 μs 9.40 μs 0.85 0.00 True
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeToWriter(Mode%3a%20Reflection).html>) 10.16 μs 8.62 μs 0.85 0.00 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeToString(Mode%3a%20SourceGen).html>) 10.62 μs 9.71 μs 0.91 0.00 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeObjectProperty(Mode%3a%20Reflection).html>) 12.09 μs 10.49 μs 0.87 0.00 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 10.71 μs 9.24 μs 0.86 0.00 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;Dictionary&lt;String, String&gt;&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeToUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.694709868499286 < 9.082681063180042. IsChangePoint: Marked as a change because one of 4/9/2023 1:58:52 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 99.24395442407123 (T) = (0 -8680.606794477999) / Math.Sqrt((18502.834545423633 / (299)) + (1011.759880955259 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12420024462832013 = (9911.634184910276 - 8680.606794477999) / 9911.634184910276 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeToString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.335169046640042 < 11.115173449832108. IsChangePoint: Marked as a change because one of 4/4/2023 10:11:10 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 133.22514027443214 (T) = (0 -10293.434934791245) / Math.Sqrt((10820.350507263187 / (299)) + (1259.449807448726 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.137095179377965 = (11928.818438366241 - 10293.434934791245) / 11928.818438366241 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeToStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.365410837789659 < 8.79416422747649. IsChangePoint: Marked as a change because one of 4/9/2023 9:22:58 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 62.150775593213766 (T) = (0 -8404.161871121052) / Math.Sqrt((18011.660901947827 / (299)) + (2821.1714375429606 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.12507899251099003 = (9605.623592512286 - 8404.161871121052) / 9605.623592512286 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeObjectProperty(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.96410707790612 < 10.491281164754922. IsChangePoint: Marked as a change because one of 4/4/2023 3:37:20 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 66.66875649765748 (T) = (0 -9988.032260249387) / Math.Sqrt((13732.146811844137 / (299)) + (3501.3023448234953 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11299393910972105 = (11260.387837964152 - 9988.032260249387) / 11260.387837964152 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeToStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.400163957087218 < 10.52079023767645. IsChangePoint: Marked as a change because one of 4/4/2023 10:11:10 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 86.88324586436788 (T) = (0 -9475.418833777136) / Math.Sqrt((18519.50421708956 / (299)) + (4502.465017654689 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16600724083712418 = (11361.51211107412 - 9475.418833777136) / 11361.51211107412 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.624768511117235 < 9.627198714662153. IsChangePoint: Marked as a change because one of 4/3/2023 11:26:06 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 147.20158677783084 (T) = (0 -8648.257590191028) / Math.Sqrt((14614.456702956964 / (299)) + (939.0530482019826 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.16901182827300132 = (10407.196978770242 - 8648.257590191028) / 10407.196978770242 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeToString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.707458898735855 < 10.087809735950128. IsChangePoint: Marked as a change because one of 4/5/2023 6:15:03 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 78.16510418344271 (T) = (0 -9735.64066873575) / Math.Sqrt((16152.382210797756 / (299)) + (1870.3336541026918 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10728418432688035 = (10905.643764578033 - 9735.64066873575) / 10905.643764578033 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.492590861784338 < 11.438995167115435. IsChangePoint: Marked as a change because one of 3/14/2023 10:43:28 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 109.27176575783328 (T) = (0 -10544.96858832674) / Math.Sqrt((16453.78664378341 / (299)) + (1934.8433629517915 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.14041866371427036 = (12267.56345582349 - 10544.96858832674) / 12267.56345582349 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.240027920211421 < 10.173839167541479. IsChangePoint: Marked as a change because one of 4/4/2023 10:11:10 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 74.7577806257828 (T) = (0 -9340.1426240659) / Math.Sqrt((11938.8716209543 / (299)) + (4517.99487344366 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14523528052520301 = (10927.150373970597 - 9340.1426240659) / 10927.150373970597 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Numerics.Tests.Perf_BigInteger

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Numerics.Tests.Perf_BigInteger.Parse(numberString%3a%20-2147483648).html>) 222.49 ns 153.45 ns 0.69 0.02 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Numerics.Tests.Perf_BigInteger.Parse(numberString%3a%201234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012.html>) 2.27 μs 2.10 μs 0.93 0.01 False
[ModPow - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Numerics.Tests.Perf_BigInteger.ModPow(arguments%3a%2016384%2c16384%2c64%20bits).html>) 2.44 ms 1.99 ms 0.82 0.00 True
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Numerics.Tests.Perf_BigInteger.Parse(numberString%3a%20123).html>) 145.23 ns 99.08 ns 0.68 0.04 True
[ToStringD - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Numerics.Tests.Perf_BigInteger.ToStringD(numberString%3a%20123).html>) 33.36 ns 28.59 ns 0.86 0.10 False
[ModPow - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Numerics.Tests.Perf_BigInteger.ModPow(arguments%3a%201024%2c1024%2c64%20bits).html>) 132.65 μs 103.71 μs 0.78 0.00 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_BigInteger*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Numerics.Tests.Perf_BigInteger.Parse(numberString: -2147483648) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 153.44968047555713 < 212.69895595686077. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.663931379762584 (T) = (0 -160.9442399576643) / Math.Sqrt((35.81563079268108 / (299)) + (48.510120855751055 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.25338624762821244 = (215.5655979365348 - 160.9442399576643) / 215.5655979365348 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Parse(numberString: 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.0988935354365874 < 2.15585215352391. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 4/8/2023 3:10:58 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 9.556092049375376 (T) = (0 -2053.6950391087894) / Math.Sqrt((1279.6971315864387 / (299)) + (4896.649680370995 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.09372268635884734 = (2266.077952296581 - 2053.6950391087894) / 2266.077952296581 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.ModPow(arguments: 16384,16384,64 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.9896782806153845 < 2.331924064673681. IsChangePoint: Marked as a change because one of 4/1/2023 8:54:51 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 190.54075239422875 (T) = (0 -1996527.3667000441) / Math.Sqrt((1061430302.2742932 / (299)) + (39128004.612614386 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20282080400620314 = (2504490.0528432503 - 1996527.3667000441) / 2504490.0528432503 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Parse(numberString: 123) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 99.08462669727304 < 138.17219291217774. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 28.168596149120596 (T) = (0 -94.63712553656097) / Math.Sqrt((21.54393264041 / (299)) + (28.827730446922487 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3281510564366142 = (140.86071942692934 - 94.63712553656097) / 140.86071942692934 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.ToStringD(numberString: 123) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 28.5869119659046 < 31.86302129462914. IsChangePoint: Marked as a change because one of 4/26/2023 12:55:36 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 30.141129379581688 (T) = (0 -28.217314250002936) / Math.Sqrt((0.6431443775119005 / (299)) + (0.2530385097908664 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14487149695382706 = (32.997747297027395 - 28.217314250002936) / 32.997747297027395 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.ModPow(arguments: 1024,1024,64 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 103.71019649558497 < 122.8813058544864. IsChangePoint: Marked as a change because one of 4/1/2023 8:54:51 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 49.08879847457536 (T) = (0 -99380.49492109567) / Math.Sqrt((6811859.266140667 / (299)) + (4555641.099816218 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2461384378183525 = (131828.57424577026 - 99380.49492109567) / 131828.57424577026 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Concurrent.IsEmpty<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Concurrent.IsEmpty(String).Queue(Size%3a%200).html>) 19.42 ns 13.29 ns 0.68 0.26 False
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Concurrent.IsEmpty(String).Dictionary(Size%3a%20512).html>) 8.31 ns 4.44 ns 0.53 0.37 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Concurrent.IsEmpty&lt;String&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.Concurrent.IsEmpty<String>.Queue(Size: 0) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.29112377921595 < 18.29610064184884. IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 28.081591277184994 (T) = (0 -13.44293905615213) / Math.Sqrt((5.687717533646948 / (299)) + (0.048896942759858564 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2424294206232754 = (17.744800843786763 - 13.44293905615213) / 17.744800843786763 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Concurrent.IsEmpty<String>.Dictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.44334083910993 < 7.896075631569848. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 10.462579208779013 (T) = (0 -4.7293688260390265) / Math.Sqrt((0.5165384708564041 / (299)) + (1.4912087783009564 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.45046071135327814 = (8.606061338554012 - 4.7293688260390265) / 8.606061338554012 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20False%2c%20TestRandomAccess%3a%20True%2c%20TestCase%3a%20HelloWorld).html>) 368.74 ns 310.28 ns 0.84 0.05 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20False%2c%20TestRandomAccess%3a%20True%2c%20TestCase%3a%20BasicJson).html>) 1.77 μs 1.56 μs 0.88 0.00 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20True%2c%20TestRandomAccess%3a%20False%2c%20TestCase%3a%20BasicJson).html>) 1.42 μs 1.16 μs 0.81 0.00 True
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20False%2c%20TestRandomAccess%3a%20False%2c%20TestCase%3a%20HelloWorld).html>) 284.86 ns 237.02 ns 0.83 0.09 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20True%2c%20TestRandomAccess%3a%20False%2c%20TestCase%3a%20Json400B).html>) 1.65 μs 1.37 μs 0.83 0.01 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20False%2c%20TestRandomAccess%3a%20False%2c%20TestCase%3a%20BasicJson).html>) 1.09 μs 906.57 ns 0.83 0.01 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20False%2c%20TestRandomAccess%3a%20True%2c%20TestCase%3a%20Json400B).html>) 2.84 μs 2.54 μs 0.89 0.00 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20True%2c%20TestRandomAccess%3a%20True%2c%20TestCase%3a%20HelloWorld).html>) 397.80 ns 318.79 ns 0.80 0.04 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20True%2c%20TestRandomAccess%3a%20False%2c%20TestCase%3a%20Json400KB).html>) 1.24 ms 1.01 ms 0.82 0.01 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20True%2c%20TestRandomAccess%3a%20True%2c%20TestCase%3a%20Json400B).html>) 3.08 μs 2.81 μs 0.91 0.00 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20False%2c%20TestRandomAccess%3a%20False%2c%20TestCase%3a%20Json400KB).html>) 958.64 μs 739.26 μs 0.77 0.01 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20False%2c%20TestRandomAccess%3a%20False%2c%20TestCase%3a%20Json400B).html>) 1.38 μs 1.08 μs 0.79 0.00 True
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20True%2c%20TestRandomAccess%3a%20False%2c%20TestCase%3a%20HelloWorld).html>) 293.15 ns 249.28 ns 0.85 0.07 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20True%2c%20TestRandomAccess%3a%20True%2c%20TestCase%3a%20BasicJson).html>) 2.05 μs 1.83 μs 0.89 0.01 False

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
python3 .\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: True, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 310.2831398440812 < 349.30959343435865. IsChangePoint: Marked as a change because one of 2/20/2023 3:29:46 AM, 4/25/2023 6:51:20 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.325240666433809 (T) = (0 -301.59765251878315) / Math.Sqrt((114.55239677811504 / (299)) + (137.04153388787242 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.13901560763980683 = (350.29398348560267 - 301.59765251878315) / 350.29398348560267 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: True, TestCase: BasicJson) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.5566652376773527 < 1.679461001301796. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.93118421838401 (T) = (0 -1566.3152563764374) / Math.Sqrt((617.7766970147202 / (299)) + (430.5870111266616 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.10354147136566728 = (1747.2255618590257 - 1566.3152563764374) / 1747.2255618590257 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: False, TestCase: BasicJson) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.1562276879308662 < 1.321879285349987. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 40.43585796696954 (T) = (0 -1168.0417055812945) / Math.Sqrt((375.92621389625316 / (299)) + (263.6459118553968 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14811691463781892 = (1371.1291204763122 - 1168.0417055812945) / 1371.1291204763122 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: False, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 237.0211060999823 < 261.53013128462464. IsChangePoint: Marked as a change because one of 3/8/2023 2:17:54 AM, 4/7/2023 2:04:00 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 10.249564463488024 (T) = (0 -227.8472439601696) / Math.Sqrt((72.00517024682739 / (299)) + (132.40644359711814 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13616139065733418 = (263.7613571515968 - 227.8472439601696) / 263.7613571515968 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: False, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3731700971072942 < 1.5683401759306506. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 62.2072491828341 (T) = (0 -1370.3310531093005) / Math.Sqrt((445.1729724080355 / (299)) + (186.55105783077056 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16316615648986008 = (1637.518682754728 - 1370.3310531093005) / 1637.518682754728 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: False, TestCase: BasicJson) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 906.5670889828612 < 1.0442352738399343. IsChangePoint: Marked as a change because one of 4/18/2023 2:18:01 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 29.341585160105385 (T) = (0 -904.4119864138213) / Math.Sqrt((710.6920977509329 / (299)) + (256.0646634986818 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.146480744735985 = (1059.626927964342 - 904.4119864138213) / 1059.626927964342 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: True, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.5371892377206993 < 2.6911189539380636. IsChangePoint: Marked as a change because one of 3/8/2023 8:26:35 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 32.955289524895846 (T) = (0 -2537.556188992165) / Math.Sqrt((1846.4033533657234 / (299)) + (546.9597365738057 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08850453186442753 = (2783.9482232233527 - 2537.556188992165) / 2783.9482232233527 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: True, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 318.7897118492366 < 376.31442216934516. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 21.163028529274257 (T) = (0 -307.9902482364756) / Math.Sqrt((141.65315633574866 / (299)) + (76.14420562685102 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.16347303258490606 = (368.1773095590443 - 307.9902482364756) / 368.1773095590443 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: False, TestCase: Json400KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.013632769809138 < 1.176191106682529. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 186.60923764724555 (T) = (0 -1014472.9946937219) / Math.Sqrt((112468662.12391709 / (299)) + (9608081.039288074 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17055606028443487 = (1223076.0225237252 - 1014472.9946937219) / 1223076.0225237252 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: True, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.808617879808822 < 2.9089670282389286. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 32.36358861731942 (T) = (0 -2817.4878071486196) / Math.Sqrt((1248.0475933594244 / (299)) + (475.9930155105718 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.07332039359332726 = (3040.4120125982 - 2817.4878071486196) / 3040.4120125982 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: False, TestCase: Json400KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 739.2623630069239 < 911.0705154501916. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 235.0927382868956 (T) = (0 -741708.9436161834) / Math.Sqrt((118511251.99645159 / (299)) + (3664691.2749371054 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21304523435071537 = (942505.1807192873 - 741708.9436161834) / 942505.1807192873 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: False, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.084447936750466 < 1.330017352511371. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 61.745004859522304 (T) = (0 -1102.7434569424179) / Math.Sqrt((371.79085010829107 / (299)) + (199.09351655275617 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19759694935455047 = (1374.3011770149376 - 1102.7434569424179) / 1374.3011770149376 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: False, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 249.2788893443587 < 278.49527448328337. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 4/6/2023 11:23:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.26542761710021 (T) = (0 -235.06428449444638) / Math.Sqrt((91.27732967008208 / (299)) + (143.09861576531046 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15994230728919218 = (279.81921543496645 - 235.06428449444638) / 279.81921543496645 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: True, TestCase: BasicJson) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.8260294888198378 < 1.9438389096861215. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.371960948241217 (T) = (0 -1850.9058449856516) / Math.Sqrt((636.9261306383529 / (299)) + (736.6930405714883 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10229397249466275 = (2061.817330255864 - 1850.9058449856516) / 2061.817330255864 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Perf_Convert

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ToDateTime_String - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Perf_Convert.ToDateTime_String(value%3a%20%2212%2f12%2f1999%2011%3a59%3a59%20PM%22).html>) 423.19 ns 376.64 ns 0.89 0.00 True
[ToDateTime_String - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Perf_Convert.ToDateTime_String(value%3a%20%22February%2026%2c%202009%22).html>) 283.83 ns 244.35 ns 0.86 0.01 False
[ToDateTime_String - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Perf_Convert.ToDateTime_String(value%3a%20%22Thursday%2c%20February%2026%2c%202009%22).html>) 417.23 ns 366.90 ns 0.88 0.01 False
[FromBase64Chars - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Perf_Convert.FromBase64Chars.html>) 93.76 ns 83.45 ns 0.89 0.01 False
[FromBase64String - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Perf_Convert.FromBase64String.html>) 97.81 ns 81.47 ns 0.83 0.01 False
[GetTypeCode - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Perf_Convert.GetTypeCode.html>) 5.74 ns 4.31 ns 0.75 0.24 False
[ToDateTime_String - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Perf_Convert.ToDateTime_String(value%3a%20%22Fri%2c%2027%20Feb%202009%2003%3a11%3a21%20GMT%22).html>) 1.08 μs 971.85 ns 0.90 0.01 True
[ToDateTime_String - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Perf_Convert.ToDateTime_String(value%3a%20%2212%2f12%2f1999%22).html>) 232.09 ns 195.16 ns 0.84 0.00 True
[ChangeType - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Perf_Convert.ChangeType.html>) 37.23 ns 30.71 ns 0.82 0.32 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Perf_Convert*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Perf_Convert.ToDateTime_String(value: "12/12/1999 11:59:59 PM") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 376.6387493348169 < 402.81518341475225. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 77.00485282326716 (T) = (0 -378.215054597882) / Math.Sqrt((10.69983165408709 / (299)) + (3.458533663824872 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10752995811863139 = (423.78459427118355 - 378.215054597882) / 423.78459427118355 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.ToDateTime_String(value: "February 26, 2009") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 244.34628770776996 < 269.6145311189302. IsChangePoint: Marked as a change because one of 4/24/2023 7:54:29 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 55.73801400712702 (T) = (0 -244.6761790969982) / Math.Sqrt((18.322665752823028 / (299)) + (3.3663341730683554 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.1256441349971918 = (279.8359213799205 - 244.6761790969982) / 279.8359213799205 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.ToDateTime_String(value: "Thursday, February 26, 2009") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 366.8991482750174 < 396.58972924850195. IsChangePoint: Marked as a change because one of 2/13/2023 11:10:05 PM, 4/23/2023 10:00:36 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 58.790568424026866 (T) = (0 -368.1091034113502) / Math.Sqrt((30.03105595518708 / (299)) + (4.453175705099055 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10195151921461913 = (409.89892114668845 - 368.1091034113502) / 409.89892114668845 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.FromBase64Chars ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 83.44971667691087 < 88.94309640161966. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.723488258016864 (T) = (0 -83.23400114680807) / Math.Sqrt((12.792905090287677 / (299)) + (1.4927797541253878 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.06066476117539423 = (88.60947370712839 - 83.23400114680807) / 88.60947370712839 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.FromBase64String ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 81.46769638666325 < 89.65878013824063. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.877190875397668 (T) = (0 -82.38254837519275) / Math.Sqrt((13.998120854557323 / (299)) + (1.2116763252150728 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.05831727900158254 = (87.48440057161376 - 82.38254837519275) / 87.48440057161376 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.GetTypeCode ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.305870419543085 < 5.410579918483337. IsChangePoint: Marked as a change because one of 5/2/2023 12:51:17 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 8.562863431384885 (T) = (0 -3.8942285824476675) / Math.Sqrt((0.1846536273073352 / (299)) + (0.3644790060227622 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2877333062975186 = (5.467374253041113 - 3.8942285824476675) / 5.467374253041113 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.ToDateTime_String(value: "Fri, 27 Feb 2009 03:11:21 GMT") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 971.8450441335748 < 1.024315293538965. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 61.01292632788858 (T) = (0 -971.4983406306937) / Math.Sqrt((79.86733121769234 / (299)) + (20.938882454756495 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.08800743534694844 = (1065.248093333173 - 971.4983406306937) / 1065.248093333173 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.ToDateTime_String(value: "12/12/1999") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 195.15796400998946 < 220.5904732639341. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 198.2196842546711 (T) = (0 -195.66559527688014) / Math.Sqrt((2.25823099745083 / (299)) + (0.28334018464596245 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15604328527105218 = (231.84316430223762 - 195.66559527688014) / 231.84316430223762 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.ChangeType ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 30.71345824435588 < 36.42814574122494. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.180181570043175 (T) = (0 -31.287333156905675) / Math.Sqrt((4.463277639601575 / (299)) + (0.6816140981312395 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13876850472221094 = (36.328598441251835 - 31.287333156905675) / 36.328598441251835 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Linq.Tests.Perf_OrderBy

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[OrderByCustomComparer - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_OrderBy.OrderByCustomComparer(NumberOfPeople%3a%20512).html>) 105.81 μs 76.03 μs 0.72 0.05 True
[OrderByValueType - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Linq.Tests.Perf_OrderBy.OrderByValueType(NumberOfPeople%3a%20512).html>) 39.41 μs 35.63 μs 0.90 0.42 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Linq.Tests.Perf_OrderBy*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Linq.Tests.Perf_OrderBy.OrderByCustomComparer(NumberOfPeople: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 76.02599384535368 < 100.79408500289097. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 108.4920116909223 (T) = (0 -76947.05921245927) / Math.Sqrt((4285411.7981321355 / (299)) + (710892.0219634015 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2837665654996791 = (107432.93388159302 - 76947.05921245927) / 107432.93388159302 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_OrderBy.OrderByValueType(NumberOfPeople: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 35.632567939996505 < 37.56051340213327. IsChangePoint: Marked as a change because one of 1/27/2023 7:12:54 PM, 2/13/2023 5:42:59 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 46.47323432672216 (T) = (0 -35639.21037685608) / Math.Sqrt((4624814.037443515 / (299)) + (24125.523013860566 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.14847632971929858 = (41853.458242808156 - 35639.21037685608) / 41853.458242808156 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(StructRecord).DeserializeFromString(Mode%3a%20Reflection).html>) 948.72 ns 700.02 ns 0.74 0.01 True
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(StructRecord).DeserializeFromReader(Mode%3a%20SourceGen).html>) 1.35 μs 994.77 ns 0.74 0.01 True
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(StructRecord).DeserializeFromString(Mode%3a%20SourceGen).html>) 924.93 ns 671.12 ns 0.73 0.01 True
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(StructRecord).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 864.06 ns 611.89 ns 0.71 0.03 True
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(StructRecord).DeserializeFromReader(Mode%3a%20Reflection).html>) 1.38 μs 1.05 μs 0.76 0.02 True
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(StructRecord).DeserializeFromStream(Mode%3a%20SourceGen).html>) 1.23 μs 914.38 ns 0.74 0.01 True
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(StructRecord).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 861.17 ns 619.55 ns 0.72 0.01 True
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(StructRecord).DeserializeFromStream(Mode%3a%20Reflection).html>) 1.23 μs 927.51 ns 0.75 0.01 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;StructRecord&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 700.0189582894315 < 906.5004569231368. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 76.38711281040739 (T) = (0 -686.9847389722845) / Math.Sqrt((362.6943347179731 / (299)) + (125.61466359581141 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2832575355393819 = (958.4819834684587 - 686.9847389722845) / 958.4819834684587 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromReader(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 994.7748970439097 < 1.3109174769578658. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 80.44681246738507 (T) = (0 -1014.6283537130806) / Math.Sqrt((552.4169935096417 / (299)) + (188.94605647966736 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2653007022177847 = (1381.0117374221907 - 1014.6283537130806) / 1381.0117374221907 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 671.1156697879586 < 901.5062087807256. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 76.3554998531738 (T) = (0 -686.4516390288727) / Math.Sqrt((402.43354872278263 / (299)) + (135.3111497360271 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.29123823158945633 = (968.522385975046 - 686.4516390288727) / 968.522385975046 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 611.8914032603299 < 820.7995292978507. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 99.16860762708289 (T) = (0 -609.940574879124) / Math.Sqrt((253.5650912260404 / (299)) + (61.82564117803679 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.29254334316393005 = (862.1596376051316 - 609.940574879124) / 862.1596376051316 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromReader(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0456170596597727 < 1.3047071290531411. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 58.606051502027626 (T) = (0 -1025.233386899768) / Math.Sqrt((721.0486066287001 / (299)) + (370.1467495288611 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2555498636223779 = (1377.168646765777 - 1025.233386899768) / 1377.168646765777 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 914.3796209069347 < 1.168779210923369. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 118.67254843899201 (T) = (0 -925.5843185901066) / Math.Sqrt((612.9708555841706 / (299)) + (63.39653135998509 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.26383357393307794 = (1257.3030850308912 - 925.5843185901066) / 1257.3030850308912 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 619.5454565941217 < 819.0048776754921. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 82.87134463298173 (T) = (0 -611.8867990302521) / Math.Sqrt((270.7656107658165 / (299)) + (94.34746624088343 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2943129934896839 = (867.079588238539 - 611.8867990302521) / 867.079588238539 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 927.5108680140542 < 1.1596162883224372. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 87.43971292172886 (T) = (0 -931.2784227061901) / Math.Sqrt((605.7711801316418 / (299)) + (121.34236421772823 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2533277654374095 = (1247.2385868904635 - 931.2784227061901) / 1247.2385868904635 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Enumerate - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Tests.Perf_PriorityQueue(Int32%2c%20Int32).Enumerate(Size%3a%201000).html>) 2.32 μs 2.14 μs 0.92 0.00 False
[K_Max_Elements - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Tests.Perf_PriorityQueue(Int32%2c%20Int32).K_Max_Elements(Size%3a%20100).html>) 590.82 ns 347.60 ns 0.59 0.01 False
[K_Max_Elements - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Tests.Perf_PriorityQueue(Int32%2c%20Int32).K_Max_Elements(Size%3a%2010).html>) 127.35 ns 81.40 ns 0.64 0.01 True
[Dequeue_And_Enqueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Tests.Perf_PriorityQueue(Int32%2c%20Int32).Dequeue_And_Enqueue(Size%3a%2010).html>) 452.03 ns 308.67 ns 0.68 0.01 False
[HeapSort - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Tests.Perf_PriorityQueue(Int32%2c%20Int32).HeapSort(Size%3a%2010).html>) 184.00 ns 141.76 ns 0.77 0.01 True
[K_Max_Elements - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Tests.Perf_PriorityQueue(Int32%2c%20Int32).K_Max_Elements(Size%3a%201000).html>) 4.49 μs 2.69 μs 0.60 0.01 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Perf_PriorityQueue&lt;Int32, Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.Enumerate(Size: 1000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.1396692382363756 < 2.1996854107448978. IsChangePoint: Marked as a change because one of 4/18/2023 7:36:21 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.55199146499061 (T) = (0 -2142.226625913478) / Math.Sqrt((593.9203252566887 / (299)) + (115.25096826187443 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.06119317129754402 = (2281.8609328548378 - 2142.226625913478) / 2281.8609328548378 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.K_Max_Elements(Size: 100) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 347.6021289691455 < 561.296007677945. IsChangePoint: Marked as a change because one of 3/31/2023 8:29:50 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 124.76111840163126 (T) = (0 -352.5934378564301) / Math.Sqrt((1272.3771519029492 / (299)) + (7.248000111923498 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.439587841899684 = (629.1680734615941 - 352.5934378564301) / 629.1680734615941 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.K_Max_Elements(Size: 10) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 81.3961242210554 < 120.84269882882828. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 175.77597278725645 (T) = (0 -81.27732814386184) / Math.Sqrt((3.381706981688006 / (299)) + (0.6921106359263205 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3707605085380957 = (129.16755741924467 - 81.27732814386184) / 129.16755741924467 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.Dequeue_And_Enqueue(Size: 10) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 308.6671962854408 < 429.363491237023. IsChangePoint: Marked as a change because one of 3/31/2023 8:29:50 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 99.63421809335641 (T) = (0 -316.0660802006964) / Math.Sqrt((384.7769644541842 / (299)) + (13.302650879619515 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3324647011049531 = (473.48219745663187 - 316.0660802006964) / 473.48219745663187 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.HeapSort(Size: 10) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 141.75671157135878 < 174.87012070611726. IsChangePoint: Marked as a change because one of 3/31/2023 8:29:50 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 29.42596211173264 (T) = (0 -148.41970284765316) / Math.Sqrt((9.053029932279637 / (299)) + (17.296720524711166 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.20824708009425777 = (187.45709566227106 - 148.41970284765316) / 187.45709566227106 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.K_Max_Elements(Size: 1000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.6912287624913853 < 4.27081429409379. IsChangePoint: Marked as a change because one of 3/31/2023 8:29:50 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 265.75924100620216 (T) = (0 -2693.758090053516) / Math.Sqrt((15506.16950212385 / (299)) + (6.758904293060264 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.4167966007731539 = (4618.8998445904745 - 2693.758090053516) / 4618.8998445904745 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_SByte

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_SByte.ToString(value%3a%20127).html>) 3.83 ns 1.37 ns 0.36 0.53 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_SByte.ToString(value%3a%20-128).html>) 24.38 ns 22.43 ns 0.92 0.20 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_SByte*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_SByte.ToString(value: 127) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.369043422938455 < 3.6355136648336357. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.05400151812729 (T) = (0 -1.16799206291303) / Math.Sqrt((0.468715429578938 / (299)) + (0.027594808575599882 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.5041627456317193 = (2.355595616551857 - 1.16799206291303) / 2.355595616551857 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_SByte.ToString(value: -128) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.43336907275811 < 24.109748164214132. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 8.329897220241087 (T) = (0 -21.808459996999012) / Math.Sqrt((0.8792326063607375 / (299)) + (0.7025115227215837 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08985279982759684 = (23.961464687105536 - 21.808459996999012) / 23.961464687105536 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Node.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](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20LotsOfStrings).html>) 9.13 μs 7.81 μs 0.86 0.28 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20Json4KB).html>) 48.49 μs 39.29 μs 0.81 0.15 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20Json4KB).html>) 52.21 μs 42.80 μs 0.82 0.07 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20Json400B).html>) 7.05 μs 5.24 μs 0.74 0.29 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20DeepTree).html>) 46.62 μs 39.83 μs 0.85 0.04 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20LotsOfNumbers).html>) 18.54 μs 15.65 μs 0.84 0.03 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20BroadTree).html>) 70.60 μs 54.34 μs 0.77 0.12 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20LotsOfStrings).html>) 10.28 μs 8.79 μs 0.86 0.24 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20Json400B).html>) 8.01 μs 6.12 μs 0.76 0.23 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20LotsOfNumbers).html>) 17.05 μs 14.24 μs 0.84 0.12 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20HelloWorld).html>) 840.08 ns 751.66 ns 0.89 0.27 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Node.Tests.Perf_ParseThenWrite*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: LotsOfStrings) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.80702930442871 < 9.106862067007814. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.329079098736738 (T) = (0 -7864.947787065621) / Math.Sqrt((71997.59459275723 / (299)) + (34562.731164495075 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16297479529822798 = (9396.309385770364 - 7864.947787065621) / 9396.309385770364 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 39.28707195500184 < 45.675665041668736. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 22.315741149923184 (T) = (0 -38710.39757664014) / Math.Sqrt((1105027.9122184608 / (299)) + (1262091.746701037 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.1720322615276327 = (46753.50956072556 - 38710.39757664014) / 46753.50956072556 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 42.80475770499817 < 49.37191110926105. IsChangePoint: Marked as a change because one of 2/8/2023 4:01:29 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 30.485847365632743 (T) = (0 -42844.46843236074) / Math.Sqrt((1225996.497428032 / (299)) + (613945.5456521765 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1483324452892192 = (50306.564099310286 - 42844.46843236074) / 50306.564099310286 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.243192559217997 < 6.854030453527197. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 22.504904122834464 (T) = (0 -5592.1625286165345) / Math.Sqrt((50414.88437233407 / (299)) + (54858.33190047739 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.22418267772432776 = (7208.091863962614 - 5592.1625286165345) / 7208.091863962614 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 39.828022730885394 < 45.05316667121348. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 22.211153618331544 (T) = (0 -40338.96539653149) / Math.Sqrt((848853.7053937423 / (299)) + (1003780.4225031337 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14449267912660746 = (47152.09842430009 - 40338.96539653149) / 47152.09842430009 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.64851000354366 < 17.201829457778366. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 4/26/2023 2:24:59 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 15.003549723159773 (T) = (0 -15279.20914095283) / Math.Sqrt((154554.75638308164 / (299)) + (357072.25365499884 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15133569267608396 = (18003.83144323884 - 15279.20914095283) / 18003.83144323884 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 54.34410371819962 < 67.11991516590231. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 3.341396810870096 (T) = (0 -59917.20275033361) / Math.Sqrt((3203055.930190114 / (299)) + (67436553.74554846 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1214195234622284 = (68197.73982054525 - 59917.20275033361) / 68197.73982054525 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: LotsOfStrings) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.791220523787821 < 9.765807566840763. IsChangePoint: Marked as a change because one of 2/8/2023 4:01:29 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.700578575242478 (T) = (0 -8623.426849371808) / Math.Sqrt((88453.01847568843 / (299)) + (44323.17247264845 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16388290669016703 = (10313.659316825253 - 8623.426849371808) / 10313.659316825253 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.116738767664427 < 7.4007716492189095. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.65021017605944 (T) = (0 -5974.017303608557) / Math.Sqrt((45843.62282627568 / (299)) + (71094.88238436707 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.20114296667914028 = (7478.20580457868 - 5974.017303608557) / 7478.20580457868 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.238699211224876 < 16.379715189089193. IsChangePoint: Marked as a change because one of 4/23/2023 10:00:36 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.706644084594267 (T) = (0 -14047.071983693815) / Math.Sqrt((195317.0527419218 / (299)) + (271220.07500012463 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16703897363791004 = (16864.020691392496 - 14047.071983693815) / 16864.020691392496 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 751.6593620295429 < 805.5389540730619. IsChangePoint: Marked as a change because one of 4/20/2023 5:25:38 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 11.398361857160586 (T) = (0 -726.2703361807351) / Math.Sqrt((929.044644794441 / (299)) + (609.4741781080579 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10718526056112825 = (813.4614092921352 - 726.2703361807351) / 813.4614092921352 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.ContainsTrueComparer<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ImmutableHashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.ContainsTrueComparer(Int32).ImmutableHashSet(Size%3a%20512).html>) 21.65 μs 11.54 μs 0.53 0.25 True
[HashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.ContainsTrueComparer(Int32).HashSet(Size%3a%20512).html>) 8.20 μs 6.71 μs 0.82 0.04 False
[SortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.ContainsTrueComparer(Int32).SortedSet(Size%3a%20512).html>) 29.60 μs 18.97 μs 0.64 0.39 False
[ImmutableSortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.ContainsTrueComparer(Int32).ImmutableSortedSet(Size%3a%20512).html>) 27.20 μs 20.35 μs 0.75 0.36 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsTrueComparer&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.ContainsTrueComparer<Int32>.ImmutableHashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.543830899758456 < 20.974311996110877. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 96.77785604768225 (T) = (0 -11495.584400532474) / Math.Sqrt((406253.4723783448 / (299)) + (105957.2440384674 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.47929399946334506 = (22076.91939152763 - 11495.584400532474) / 22076.91939152763 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsTrueComparer<Int32>.HashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.712725547975087 < 7.790478143253126. IsChangePoint: Marked as a change because one of 5/4/2023 12:54:08 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 56.068870272137566 (T) = (0 -6453.981269378323) / Math.Sqrt((74301.55740181469 / (299)) + (15548.300668802016 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2694969132817935 = (8834.981517152662 - 6453.981269378323) / 8834.981517152662 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsTrueComparer<Int32>.SortedSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.973101679782083 < 28.13756722550409. IsChangePoint: Marked as a change because one of 3/16/2023 10:20:48 AM, 4/6/2023 5:23:20 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 49.16587712151282 (T) = (0 -18306.816428132577) / Math.Sqrt((18136983.972287327 / (299)) + (131582.75146225898 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.41986561999453303 = (31556.165362859654 - 18306.816428132577) / 31556.165362859654 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsTrueComparer<Int32>.ImmutableSortedSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.34569108539765 < 25.82450507089172. IsChangePoint: Marked as a change because one of 4/12/2023 6:21:10 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 51.68537909173036 (T) = (0 -20280.598252100022) / Math.Sqrt((9201355.533433363 / (299)) + (49736.875355619035 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.32377161411207317 = (29990.752644123964 - 20280.598252100022) / 29990.752644123964 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(IndexViewModel).DeserializeFromStream(Mode%3a%20SourceGen).html>) 35.22 μs 27.80 μs 0.79 0.01 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(IndexViewModel).DeserializeFromStream(Mode%3a%20Reflection).html>) 36.22 μs 28.02 μs 0.77 0.02 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(IndexViewModel).DeserializeFromReader(Mode%3a%20SourceGen).html>) 45.64 μs 36.11 μs 0.79 0.03 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(IndexViewModel).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 32.38 μs 25.97 μs 0.80 0.03 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(IndexViewModel).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 32.40 μs 25.92 μs 0.80 0.01 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(IndexViewModel).DeserializeFromReader(Mode%3a%20Reflection).html>) 46.10 μs 35.78 μs 0.78 0.03 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(IndexViewModel).DeserializeFromString(Mode%3a%20SourceGen).html>) 34.16 μs 27.31 μs 0.80 0.01 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(IndexViewModel).DeserializeFromString(Mode%3a%20Reflection).html>) 33.62 μs 27.07 μs 0.81 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
python3 .\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>.DeserializeFromStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 27.799395290540293 < 33.51602858064903. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 66.68901514429896 (T) = (0 -27552.52930291826) / Math.Sqrt((276514.13442259445 / (299)) + (124164.57111879722 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2110342701954315 = (34922.33979509248 - 27552.52930291826) / 34922.33979509248 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.DeserializeFromStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 28.017100400254368 < 34.32251794908811. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 71.60739250684206 (T) = (0 -28045.616083719382) / Math.Sqrt((420828.0328129894 / (299)) + (86618.41978312605 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2039533697731024 = (35231.12217148074 - 28045.616083719382) / 35231.12217148074 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.DeserializeFromReader(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 36.10553478616443 < 43.38998647086482. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 93.38333980865146 (T) = (0 -36044.19064575191) / Math.Sqrt((264565.99844315037 / (299)) + (88068.66413702563 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19633088363370896 = (44849.540577995685 - 36044.19064575191) / 44849.540577995685 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.DeserializeFromUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 25.966952375988445 < 30.873728288595448. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 57.01211187730486 (T) = (0 -25866.53683849367) / Math.Sqrt((338690.5943617224 / (299)) + (123853.0203945478 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19701850088296452 = (32213.116823907785 - 25866.53683849367) / 32213.116823907785 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.DeserializeFromUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 25.922031757461756 < 30.952067436740936. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 63.843923444256724 (T) = (0 -25576.97302544924) / Math.Sqrt((256084.29237208876 / (299)) + (105166.1355293883 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20303897047229263 = (32093.128870562952 - 25576.97302544924) / 32093.128870562952 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.DeserializeFromReader(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 35.7799834731887 < 43.79118445859425. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 70.9428294054887 (T) = (0 -36363.12803527725) / Math.Sqrt((377769.204815508 / (299)) + (149228.76945238136 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19197267324787903 = (45002.34934063361 - 36363.12803527725) / 45002.34934063361 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.DeserializeFromString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 27.307367022857772 < 32.459064014818416. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 50.92810018833471 (T) = (0 -27425.303738114115) / Math.Sqrt((292151.9568455425 / (299)) + (139152.30989275125 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.18474780954756173 = (33640.26991806544 - 27425.303738114115) / 33640.26991806544 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 27.07415072651884 < 32.01609712818012. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 76.1847503990482 (T) = (0 -27754.133375146193) / Math.Sqrt((279356.16316155856 / (299)) + (56088.658448017006 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17574346195194807 = (33671.71759519389 - 27754.133375146193) / 33671.71759519389 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Location).DeserializeFromReader(Mode%3a%20Reflection).html>) 2.24 μs 1.81 μs 0.81 0.01 True
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Location).DeserializeFromString(Mode%3a%20SourceGen).html>) 1.60 μs 1.21 μs 0.75 0.00 True
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Location).DeserializeFromString(Mode%3a%20Reflection).html>) 1.62 μs 1.22 μs 0.75 0.01 True
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Location).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 1.54 μs 1.13 μs 0.73 0.00 True
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Location).DeserializeFromReader(Mode%3a%20SourceGen).html>) 2.27 μs 1.76 μs 0.78 0.01 True
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Location).DeserializeFromStream(Mode%3a%20SourceGen).html>) 2.00 μs 1.51 μs 0.76 0.01 True
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Location).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 1.53 μs 1.17 μs 0.76 0.01 True
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Location).DeserializeFromStream(Mode%3a%20Reflection).html>) 2.03 μs 1.52 μs 0.75 0.01 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;Location&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromReader(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.8131998976633126 < 2.1351090587813726. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 96.20659169807934 (T) = (0 -1792.58287890596) / Math.Sqrt((1263.6286162801748 / (299)) + (207.40863382336502 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2049891136460207 = (2254.7903552956013 - 1792.58287890596) / 2254.7903552956013 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.206095915078391 < 1.5229957770421787. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 61.617936577214884 (T) = (0 -1215.6607944798745) / Math.Sqrt((609.9046269088764 / (299)) + (373.56456581144505 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23320038505506402 = (1585.3695943328967 - 1215.6607944798745) / 1585.3695943328967 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2156378108761599 < 1.532101455813436. IsChangePoint: Marked as a change because one of 2/11/2023 4:30:46 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 100.0416977464815 (T) = (0 -1221.311471679855) / Math.Sqrt((588.161724766147 / (299)) + (114.65989209704065 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.230900564788075 = (1587.9760350406748 - 1221.311471679855) / 1587.9760350406748 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.1311038739062196 < 1.4270819363180829. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 107.12822973908986 (T) = (0 -1136.7479842300352) / Math.Sqrt((475.91543287333104 / (299)) + (102.33489392213644 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23726108779311084 = (1490.3500608628945 - 1136.7479842300352) / 1490.3500608628945 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromReader(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.7615800751977972 < 2.1377560780482274. IsChangePoint: Marked as a change because one of 2/17/2023 12:28:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 74.16307413890011 (T) = (0 -1773.914261468715) / Math.Sqrt((1025.9702344442533 / (299)) + (386.41103078128174 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20610348419468114 = (2234.440164621806 - 1773.914261468715) / 2234.440164621806 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.5111070389655945 < 1.9058572352076033. IsChangePoint: Marked as a change because one of 2/8/2023 4:01:29 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 113.27246598867991 (T) = (0 -1521.0131112805013) / Math.Sqrt((770.6295877816352 / (299)) + (145.29651010635266 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2283291386240898 = (1971.0645916686467 - 1521.0131112805013) / 1971.0645916686467 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.1709288401576932 < 1.453869213553565. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 92.17736190229999 (T) = (0 -1158.6752233802888) / Math.Sqrt((632.2023695600417 / (299)) + (126.01753034370495 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2266424522409099 = (1498.2400142569368 - 1158.6752233802888) / 1498.2400142569368 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.5183018494219012 < 1.9153667716306357. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 144.782547615711 (T) = (0 -1517.195509733857) / Math.Sqrt((831.606977172227 / (299)) + (82.40275794620754 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23421661851300038 = (1981.2332657151217 - 1517.195509733857) / 1981.2332657151217 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Double

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.ToStringWithFormat(value%3a%2012345%2c%20format%3a%20%22G%22).html>) 141.39 ns 128.07 ns 0.91 0.01 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.ToStringWithFormat(value%3a%20-1.7976931348623157E%2b308%2c%20format%3a%20%22G%22).html>) 237.49 ns 223.02 ns 0.94 0.00 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.ToStringWithFormat(value%3a%2012345%2c%20format%3a%20%22F50%22).html>) 360.62 ns 305.53 ns 0.85 0.01 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.ToString(value%3a%2012345).html>) 141.41 ns 130.11 ns 0.92 0.01 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.ToStringWithFormat(value%3a%20-1.7976931348623157E%2b308%2c%20format%3a%20%22G17%22).html>) 214.82 ns 199.71 ns 0.93 0.00 False
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.TryParse(value%3a%20%2212345%22).html>) 74.85 ns 62.87 ns 0.84 0.01 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.ToStringWithFormat(value%3a%2012345%2c%20format%3a%20%22R%22).html>) 143.04 ns 128.94 ns 0.90 0.01 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.Parse(value%3a%20%221.7976931348623157e%2b308%22).html>) 176.01 ns 128.94 ns 0.73 0.01 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.Parse(value%3a%20%2212345%22).html>) 76.61 ns 65.02 ns 0.85 0.03 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.Parse(value%3a%20%22-1.7976931348623157e%2b308%22).html>) 184.11 ns 130.31 ns 0.71 0.01 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.ToStringWithFormat(value%3a%201.7976931348623157E%2b308%2c%20format%3a%20%22R%22).html>) 236.80 ns 220.97 ns 0.93 0.00 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.ToString(value%3a%201.7976931348623157E%2b308).html>) 234.87 ns 221.93 ns 0.94 0.00 False
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.TryParse(value%3a%20%221.7976931348623157e%2b308%22).html>) 176.65 ns 127.66 ns 0.72 0.01 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.ToStringWithFormat(value%3a%20-1.7976931348623157E%2b308%2c%20format%3a%20%22E%22).html>) 161.36 ns 145.28 ns 0.90 0.01 False
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.TryParse(value%3a%20%22-1.7976931348623157e%2b308%22).html>) 183.88 ns 128.97 ns 0.70 0.01 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.ToStringWithFormat(value%3a%201.7976931348623157E%2b308%2c%20format%3a%20%22G%22).html>) 235.85 ns 220.71 ns 0.94 0.00 False
[ToStringWithCultureInfo - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.ToStringWithCultureInfo(value%3a%201.7976931348623157E%2b308%2c%20culture%3a%20zh).html>) 227.10 ns 213.84 ns 0.94 0.00 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.ToStringWithFormat(value%3a%2012345%2c%20format%3a%20%22G17%22).html>) 215.02 ns 179.96 ns 0.84 0.02 True
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.ToStringWithFormat(value%3a%20-1.7976931348623157E%2b308%2c%20format%3a%20%22R%22).html>) 238.72 ns 222.78 ns 0.93 0.01 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.ToStringWithFormat(value%3a%201.7976931348623157E%2b308%2c%20format%3a%20%22E%22).html>) 158.50 ns 141.78 ns 0.89 0.00 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.ToStringWithFormat(value%3a%2012345%2c%20format%3a%20%22E%22).html>) 164.20 ns 144.46 ns 0.88 0.00 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Double.ToStringWithFormat(value%3a%201.7976931348623157E%2b308%2c%20format%3a%20%22G17%22).html>) 213.38 ns 196.90 ns 0.92 0.01 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Double*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_Double.ToStringWithFormat(value: 12345, format: "G") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 128.06941789632592 < 132.3609708632455. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/25/2023 1:02:54 PM, 5/11/2023 10:01:37 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 36.04117701357382 (T) = (0 -128.78961405143875) / Math.Sqrt((7.277523001740652 / (299)) + (0.14538441789819248 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.05144263038373856 = (135.7741958228004 - 128.78961405143875) / 135.7741958228004 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.ToStringWithFormat(value: -1.7976931348623157E+308, format: "G") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 223.01600550919048 < 225.60402859378217. IsChangePoint: Marked as a change because one of 2/17/2023 12:28:21 PM, 4/6/2023 1:55:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 68.68847612722321 (T) = (0 -222.7520182004597) / Math.Sqrt((9.913757938389196 / (299)) + (0.3453836779596383 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.07265541246350475 = (240.20414977802778 - 222.7520182004597) / 240.20414977802778 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.ToStringWithFormat(value: 12345, format: "F50") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 305.5310410423487 < 340.3205651840561. IsChangePoint: Marked as a change because one of 4/12/2023 6:21:10 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 35.59253211865253 (T) = (0 -305.2011123376531) / Math.Sqrt((151.70628311351985 / (299)) + (6.397481510437287 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.1110357487920756 = (343.3221436328243 - 305.2011123376531) / 343.3221436328243 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.ToString(value: 12345) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 130.109705391091 < 134.1705821514593. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 24.312705982514313 (T) = (0 -128.8082298437245) / Math.Sqrt((13.390901651478611 / (299)) + (0.4767104811096073 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.05305877290170288 = (136.02558021307226 - 128.8082298437245) / 136.02558021307226 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.ToStringWithFormat(value: -1.7976931348623157E+308, format: "G17") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 199.7124859222235 < 204.61888072880495. IsChangePoint: Marked as a change because one of 2/17/2023 12:28:21 PM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 41.799014467515896 (T) = (0 -198.32046461592645) / Math.Sqrt((10.632766169661027 / (299)) + (0.851840739555278 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.06616240909294438 = (212.3714728845877 - 198.32046461592645) / 212.3714728845877 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.TryParse(value: "12345") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 62.872154843069296 < 71.01389941586457. IsChangePoint: Marked as a change because one of 4/1/2023 8:54:51 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 36.76188732763705 (T) = (0 -62.564281593814684) / Math.Sqrt((6.0433102186275836 / (299)) + (0.4436674219682294 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12631778032758256 = (71.60988307313022 - 62.564281593814684) / 71.60988307313022 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.ToStringWithFormat(value: 12345, format: "R") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 128.94390761593183 < 135.11506353286916. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.6376342789937 (T) = (0 -128.92450459840958) / Math.Sqrt((9.967102753690645 / (299)) + (0.1722112245378944 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.06371416737823778 = (137.69780563420326 - 128.92450459840958) / 137.69780563420326 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.Parse(value: "1.7976931348623157e+308") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 128.94102047074782 < 167.1954525304855. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 43.483115984622266 (T) = (0 -129.18163588516558) / Math.Sqrt((117.32763815980498 / (299)) + (0.37556926979457134 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.18021847368747204 = (157.58056474660938 - 129.18163588516558) / 157.58056474660938 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.Parse(value: "12345") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 65.01825248293196 < 72.67495014137539. IsChangePoint: Marked as a change because one of 4/1/2023 8:54:51 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 32.15129191120289 (T) = (0 -64.19070154737639) / Math.Sqrt((7.529318747592963 / (299)) + (0.5717323161762167 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12213561920453951 = (73.12143305006997 - 64.19070154737639) / 73.12143305006997 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.Parse(value: "-1.7976931348623157e+308") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 130.3053641990993 < 174.70684695038003. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 48.611421499032986 (T) = (0 -130.37785044167816) / Math.Sqrt((127.03048213856054 / (299)) + (0.7045724363891659 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20679172599862725 = (164.3677388587761 - 130.37785044167816) / 164.3677388587761 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.ToStringWithFormat(value: 1.7976931348623157E+308, format: "R") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 220.96662851015816 < 225.04829430962675. IsChangePoint: Marked as a change because one of 2/17/2023 12:28:21 PM, 4/6/2023 1:55:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 76.40399211957482 (T) = (0 -220.34652786823963) / Math.Sqrt((12.017991528245801 / (299)) + (0.2561041422315309 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.08168267838552451 = (239.94595624184979 - 220.34652786823963) / 239.94595624184979 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.ToString(value: 1.7976931348623157E+308) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 221.93248807463533 < 223.92467335824284. IsChangePoint: Marked as a change because one of 2/17/2023 6:56:12 PM, 4/6/2023 1:55:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 65.40093862498173 (T) = (0 -220.63366325830802) / Math.Sqrt((11.191278310624066 / (299)) + (0.391516248178209 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.07416055867385557 = (238.3066149593703 - 220.63366325830802) / 238.3066149593703 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.TryParse(value: "1.7976931348623157e+308") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 127.65523585527922 < 167.68815481166155. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 44.47272484553935 (T) = (0 -127.68536940652874) / Math.Sqrt((131.0083529221567 / (299)) + (0.019932373089690782 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.18770150237696218 = (157.19020751628116 - 127.68536940652874) / 157.19020751628116 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.ToStringWithFormat(value: -1.7976931348623157E+308, format: "E") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 145.27625390966864 < 151.9374444337499. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.65453776441439 (T) = (0 -144.36960069487426) / Math.Sqrt((17.854860588035248 / (299)) + (0.5248986926685504 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08259394823293434 = (157.367177180482 - 144.36960069487426) / 157.367177180482 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.TryParse(value: "-1.7976931348623157e+308") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 128.96747300013922 < 174.87039279798688. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 53.360312202878795 (T) = (0 -128.95622949563364) / Math.Sqrt((129.43791866030003 / (299)) + (0.10328675847531746 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21580241312195425 = (164.4435428691114 - 128.95622949563364) / 164.4435428691114 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.ToStringWithFormat(value: 1.7976931348623157E+308, format: "G") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 220.7115211227751 < 224.1927915585212. IsChangePoint: Marked as a change because one of 2/17/2023 12:28:21 PM, 4/6/2023 1:55:21 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 56.184103956861776 (T) = (0 -220.2847333545301) / Math.Sqrt((11.36178039028609 / (299)) + (0.6729274082393777 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.07434918667331575 = (237.97822049423982 - 220.2847333545301) / 237.97822049423982 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.ToStringWithCultureInfo(value: 1.7976931348623157E+308, culture: zh) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 213.83849216928138 < 216.33970967302704. IsChangePoint: Marked as a change because one of 2/17/2023 12:28:21 PM, 4/6/2023 1:55:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 70.34960323988105 (T) = (0 -214.08209366301864) / Math.Sqrt((13.229714288428069 / (299)) + (0.30763253085883924 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08114064135533133 = (232.9867913396376 - 214.08209366301864) / 232.9867913396376 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.ToStringWithFormat(value: 12345, format: "G17") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 179.9586790677304 < 204.87455221055308. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 125.82447601958889 (T) = (0 -178.57807797257325) / Math.Sqrt((9.191449727987692 / (299)) + (0.559043788129037 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.17177406670821868 = (215.6151730999478 - 178.57807797257325) / 215.6151730999478 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.ToStringWithFormat(value: -1.7976931348623157E+308, format: "R") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 222.77927780461758 < 227.12199003633472. IsChangePoint: Marked as a change because one of 2/17/2023 12:28:21 PM, 4/6/2023 1:55:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 60.331724693603626 (T) = (0 -223.44957188807905) / Math.Sqrt((14.280939383558445 / (299)) + (0.6047772115828025 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.07965128939424373 = (242.78794473565213 - 223.44957188807905) / 242.78794473565213 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.ToStringWithFormat(value: 1.7976931348623157E+308, format: "E") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 141.78019388322818 < 150.1712742676307. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 45.82381679855348 (T) = (0 -142.27622240345985) / Math.Sqrt((15.262081365383947 / (299)) + (0.31016877387807884 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.08446936562566734 = (155.40301663492718 - 142.27622240345985) / 155.40301663492718 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.ToStringWithFormat(value: 12345, format: "E") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 144.45810842387272 < 156.43826591999712. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 52.5468520750121 (T) = (0 -144.60312526187545) / Math.Sqrt((16.53329767867684 / (299)) + (0.4896109080107816 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.10742606192397752 = (162.0068871533187 - 144.60312526187545) / 162.0068871533187 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Double.ToStringWithFormat(value: 1.7976931348623157E+308, format: "G17") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 196.90266457816375 < 202.24495381961566. IsChangePoint: Marked as a change because one of 2/17/2023 12:28:21 PM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.17497719606262 (T) = (0 -195.95626868782392) / Math.Sqrt((10.666140525369103 / (299)) + (0.9165264242361987 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.06451318825723425 = (209.46983562789845 - 195.95626868782392) / 209.46983562789845 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(LargeStructWithProperties).DeserializeFromReader(Mode%3a%20SourceGen).html>) 2.28 μs 1.61 μs 0.71 0.00 True
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(LargeStructWithProperties).DeserializeFromReader(Mode%3a%20Reflection).html>) 2.20 μs 1.64 μs 0.75 0.02 True
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(LargeStructWithProperties).DeserializeFromStream(Mode%3a%20SourceGen).html>) 1.97 μs 1.35 μs 0.69 0.02 True
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(LargeStructWithProperties).DeserializeFromString(Mode%3a%20Reflection).html>) 1.57 μs 1.06 μs 0.67 0.08 True
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(LargeStructWithProperties).DeserializeFromString(Mode%3a%20SourceGen).html>) 1.62 μs 1.06 μs 0.65 0.10 True
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(LargeStructWithProperties).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 1.47 μs 992.07 ns 0.68 0.09 True
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(LargeStructWithProperties).DeserializeFromStream(Mode%3a%20Reflection).html>) 1.90 μs 1.38 μs 0.72 0.00 True
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(LargeStructWithProperties).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 1.46 μs 1.04 μs 0.71 0.07 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;LargeStructWithProperties&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromReader(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.6124890017858429 < 2.1607104998166347. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 120.79348211508278 (T) = (0 -1600.1110768686287) / Math.Sqrt((821.3731088869229 / (299)) + (279.5998051869806 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.28603865618122454 = (2241.1732662024688 - 1600.1110768686287) / 2241.1732662024688 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromReader(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.6368058642496124 < 2.0916196207277973. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 108.42552473743709 (T) = (0 -1632.63325625395) / Math.Sqrt((1925.5545696307597 / (299)) + (253.20510419834142 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.26495094517425233 = (2221.1214959537438 - 1632.63325625395) / 2221.1214959537438 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.349265954022367 < 1.8599846470745622. IsChangePoint: Marked as a change because one of 2/9/2023 1:20:08 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 79.69982549127168 (T) = (0 -1363.6265114004639) / Math.Sqrt((1159.7246961882947 / (299)) + (541.5316615268702 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.29870671103753565 = (1944.4454023193282 - 1363.6265114004639) / 1944.4454023193282 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.056858664269868 < 1.4863656212913299. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 70.59300347124808 (T) = (0 -1086.0770462739013) / Math.Sqrt((1816.6898397874538 / (299)) + (490.7908761992585 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3163709261750523 = (1588.6934711498325 - 1086.0770462739013) / 1588.6934711498325 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0574811002116191 < 1.5192871796643943. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 69.0019170730196 (T) = (0 -1080.1228806327194) / Math.Sqrt((1756.5621344103915 / (299)) + (583.5761043729502 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3290367925011674 = (1609.8094031998003 - 1080.1228806327194) / 1609.8094031998003 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 992.0741459254276 < 1.4386853908180257. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 69.84421978116842 (T) = (0 -986.1295826908822) / Math.Sqrt((1330.6337961748338 / (299)) + (522.9390210327481 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.33805074029157156 = (1489.7359098569682 - 986.1295826908822) / 1489.7359098569682 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3754959694798712 < 1.8081419865394739. IsChangePoint: Marked as a change because one of 2/8/2023 4:01:29 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 78.71241080845303 (T) = (0 -1375.8512029556628) / Math.Sqrt((1252.603010959245 / (299)) + (494.30465615393024 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2862163609781522 = (1927.5465669696446 - 1375.8512029556628) / 1927.5465669696446 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.035147870842481 < 1.384179479310696. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 72.48582813530992 (T) = (0 -1022.2177826588722) / Math.Sqrt((1484.7555428523783 / (299)) + (348.7046069799788 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.30918104536746827 = (1479.7187827635996 - 1022.2177826588722) / 1479.7187827635996 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Microsoft.Extensions.Logging.LoggingOverhead

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[TwoArguments_DefineMessage_FilteredByLevel - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Logging.LoggingOverhead.TwoArguments_DefineMessage_FilteredByLevel.html>) 8.79 ns 6.07 ns 0.69 0.26 False
[NoArguments_DefineMessage - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Logging.LoggingOverhead.NoArguments_DefineMessage.html>) 41.83 ns 35.86 ns 0.86 0.22 False
[NoArguments_DefineMessage_FilteredByLevel - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Logging.LoggingOverhead.NoArguments_DefineMessage_FilteredByLevel.html>) 8.18 ns 5.08 ns 0.62 0.25 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Logging.LoggingOverhead*'
### Payloads [Baseline]() [Compare]() ### Histogram #### Microsoft.Extensions.Logging.LoggingOverhead.TwoArguments_DefineMessage_FilteredByLevel ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.067628874407235 < 8.5044033678773. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 29.421345917493365 (T) = (0 -6.219854192883122) / Math.Sqrt((0.09558818097904914 / (299)) + (0.09619313534842547 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.31051354936978776 = (9.020995535442328 - 6.219854192883122) / 9.020995535442328 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.LoggingOverhead.NoArguments_DefineMessage ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 35.856375623940416 < 38.84731228709318. IsChangePoint: Marked as a change because one of 5/10/2023 6:05:58 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 27.311474267070643 (T) = (0 -36.04730723554549) / Math.Sqrt((2.29406781247714 / (299)) + (0.6789689568126748 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1663830064275879 = (43.242049422561635 - 36.04730723554549) / 43.242049422561635 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.LoggingOverhead.NoArguments_DefineMessage_FilteredByLevel ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.0792265300279915 < 7.841522681369307. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.12461670855479 (T) = (0 -5.977561743228342) / Math.Sqrt((0.08146999183711397 / (299)) + (0.2552671780264363 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.29245322596429485 = (8.448291989423577 - 5.977561743228342) / 8.448291989423577 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.CtorFromCollection<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ImmutableSortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CtorFromCollection(Int32).ImmutableSortedDictionary(Size%3a%20512).html>) 87.85 μs 68.08 μs 0.77 0.41 False
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CtorFromCollection(Int32).SortedDictionary(Size%3a%20512).html>) 65.97 μs 52.62 μs 0.80 0.35 False
[ConcurrentQueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CtorFromCollection(Int32).ConcurrentQueue(Size%3a%20512).html>) 8.67 μs 7.21 μs 0.83 0.30 False
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CtorFromCollection(Int32).SortedList(Size%3a%20512).html>) 11.25 μs 9.76 μs 0.87 0.00 False
[SortedDictionaryDeepCopy - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CtorFromCollection(Int32).SortedDictionaryDeepCopy(Size%3a%20512).html>) 13.42 μs 10.72 μs 0.80 0.57 False
[HashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CtorFromCollection(Int32).HashSet(Size%3a%20512).html>) 10.55 μs 5.62 μs 0.53 0.36 False
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CtorFromCollection(Int32).ImmutableDictionary(Size%3a%20512).html>) 128.64 μs 94.42 μs 0.73 0.46 False
[FrozenDictionaryOptimized - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CtorFromCollection(Int32).FrozenDictionaryOptimized(Size%3a%20512).html>) 91.08 μs 49.40 μs 0.54 0.03 True
[ImmutableHashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CtorFromCollection(Int32).ImmutableHashSet(Size%3a%20512).html>) 142.31 μs 83.91 μs 0.59 0.35 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorFromCollection&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.CtorFromCollection<Int32>.ImmutableSortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 68.0791325860507 < 84.9809304309236. IsChangePoint: Marked as a change because one of 4/9/2023 11:24:15 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.773277206090032 (T) = (0 -70076.94107774149) / Math.Sqrt((22867088.028873652 / (299)) + (5529130.191516093 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.22587415388687673 = (90523.96510153612 - 70076.94107774149) / 90523.96510153612 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<Int32>.SortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 52.621919031531526 < 62.99954703696126. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 42.26869251389757 (T) = (0 -51559.65686636562) / Math.Sqrt((9902958.157544859 / (299)) + (1075043.422654521 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.23513788249835224 = (67410.3942221384 - 51559.65686636562) / 67410.3942221384 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<Int32>.ConcurrentQueue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.214878096661849 < 8.27592883641188. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 68.41682082350523 (T) = (0 -7202.888236151552) / Math.Sqrt((143660.03712586575 / (299)) + (251.73835515893657 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.17599746481831344 = (8741.342324345358 - 7202.888236151552) / 8741.342324345358 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<Int32>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.757054295825581 < 10.706500860619593. IsChangePoint: Marked as a change because one of 4/5/2023 11:58:06 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 119.84985622627232 (T) = (0 -9695.779407558932) / Math.Sqrt((47250.52494610898 / (299)) + (925.8585276266451 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16133484940861167 = (11560.966138538022 - 9695.779407558932) / 11560.966138538022 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<Int32>.SortedDictionaryDeepCopy(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.716206628757964 < 12.815244898691612. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 7.254678646979288 (T) = (0 -12078.860805944028) / Math.Sqrt((4157592.655388832 / (299)) + (2138430.1353169465 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21514619362132986 = (15389.9499598226 - 12078.860805944028) / 15389.9499598226 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<Int32>.HashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.621311279166869 < 10.084326308705677. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 108.48718092448584 (T) = (0 -5618.622800584364) / Math.Sqrt((813698.1349530579 / (299)) + (349.170392123175 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5032597178911592 = (11310.986853595392 - 5618.622800584364) / 11310.986853595392 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<Int32>.ImmutableDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 94.41663050278035 < 127.38590778289029. IsChangePoint: Marked as a change because one of 4/5/2023 12:23:38 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 59.851736815431664 (T) = (0 -93329.41937866858) / Math.Sqrt((63533671.70877312 / (299)) + (4466916.070437085 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3352717304437262 = (140402.36236826333 - 93329.41937866858) / 140402.36236826333 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<Int32>.FrozenDictionaryOptimized(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 49.39588747457053 < 87.08890712166635. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 245.72217076407082 (T) = (0 -49473.98090361492) / Math.Sqrt((2838478.7360738358 / (177)) + (150091.91587438673 / (11))) is greater than 1.9728001139952875 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (177) + (11) - 2, .975) and 0.46111268633882074 = (91807.65560705194 - 49473.98090361492) / 91807.65560705194 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<Int32>.ImmutableHashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 83.9136506237006 < 135.49631837251243. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 54.78923462241043 (T) = (0 -86350.66088201223) / Math.Sqrt((60263239.47233924 / (299)) + (5604144.735369189 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.348542450973293 = (132549.94283360775 - 86350.66088201223) / 132549.94283360775 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.TryGetValueFalse<Int32, Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[FrozenDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueFalse(Int32%2c%20Int32).FrozenDictionary(Size%3a%20512).html>) 8.30 μs 4.62 μs 0.56 0.05 True
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueFalse(Int32%2c%20Int32).SortedList(Size%3a%20512).html>) 31.79 μs 23.92 μs 0.75 0.03 True
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueFalse(Int32%2c%20Int32).ImmutableDictionary(Size%3a%20512).html>) 18.58 μs 13.79 μs 0.74 0.00 True
[FrozenDictionaryOptimized - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueFalse(Int32%2c%20Int32).FrozenDictionaryOptimized(Size%3a%20512).html>) 3.36 μs 2.67 μs 0.79 0.01 True
[IDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueFalse(Int32%2c%20Int32).IDictionary(Size%3a%20512).html>) 7.37 μs 4.19 μs 0.57 0.05 False
[ConcurrentDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueFalse(Int32%2c%20Int32).ConcurrentDictionary(Size%3a%20512).html>) 5.64 μs 3.44 μs 0.61 0.13 True
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueFalse(Int32%2c%20Int32).Dictionary(Size%3a%20512).html>) 7.09 μs 4.39 μs 0.62 0.07 False
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueFalse(Int32%2c%20Int32).SortedDictionary(Size%3a%20512).html>) 46.02 μs 28.63 μs 0.62 0.38 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueFalse&lt;Int32, Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.TryGetValueFalse<Int32, Int32>.FrozenDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.623463461160276 < 7.829989230208807. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 120.26375069646853 (T) = (0 -4618.315168153921) / Math.Sqrt((105564.5602955513 / (177)) + (3614.4408472596415 / (11))) is greater than 1.9728001139952875 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (177) + (11) - 2, .975) and 0.44196190051986695 = (8275.985407548933 - 4618.315168153921) / 8275.985407548933 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueFalse<Int32, Int32>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 23.91663565602645 < 30.17824750969965. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 102.48932066231602 (T) = (0 -23714.56635193126) / Math.Sqrt((475800.1003421893 / (299)) + (41342.899447258285 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2401817037935363 = (31210.83878912986 - 23714.56635193126) / 31210.83878912986 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueFalse<Int32, Int32>.ImmutableDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.78815462761324 < 17.681201804154117. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 61.99513270305866 (T) = (0 -14129.95870837674) / Math.Sqrt((93815.95006583029 / (299)) + (44760.16330022683 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.22508643883347385 = (18234.23852217275 - 14129.95870837674) / 18234.23852217275 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueFalse<Int32, Int32>.FrozenDictionaryOptimized(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.666295236669518 < 3.1601904430146788. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 194.65194163414716 (T) = (0 -2668.203866389622) / Math.Sqrt((1998.7566210203677 / (176)) + (23.254861086510562 / (11))) is greater than 1.9728699462106976 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (176) + (11) - 2, .975) and 0.21120268329145514 = (3382.6228992808615 - 2668.203866389622) / 3382.6228992808615 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueFalse<Int32, Int32>.IDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.1861381084036875 < 7.0009510645219315. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 24.036104639336862 (T) = (0 -4269.89913181847) / Math.Sqrt((344499.63123535865 / (299)) + (340394.61739283806 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5021181493332884 = (8576.129308792166 - 4269.89913181847) / 8576.129308792166 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueFalse<Int32, Int32>.ConcurrentDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.437381921720555 < 5.357123515689899. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 84.41074078289888 (T) = (0 -3437.444109537767) / Math.Sqrt((267839.28473094135 / (299)) + (0.07412978474319758 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.4236187934481426 = (5963.837943471354 - 3437.444109537767) / 5963.837943471354 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueFalse<Int32, Int32>.Dictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.390835590425031 < 6.813098599790933. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 57.78181648698815 (T) = (0 -4309.553324197248) / Math.Sqrt((261280.6195166961 / (299)) + (6678.018355563628 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.34035806109317124 = (6533.170603644641 - 4309.553324197248) / 6533.170603644641 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueFalse<Int32, Int32>.SortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 28.63197754008081 < 43.79502731949895. IsChangePoint: Marked as a change because one of 4/10/2023 5:02:03 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 47.43436912302751 (T) = (0 -26096.8185272796) / Math.Sqrt((17266710.107612636 / (299)) + (1835324.4666296612 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.4627708636264612 = (48576.69988534337 - 26096.8185272796) / 48576.69988534337 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(TreeRecord).SerializeToWriter(Mode%3a%20Reflection).html>) 18.45 μs 13.66 μs 0.74 0.34 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(TreeRecord).SerializeToString(Mode%3a%20Reflection).html>) 17.75 μs 14.76 μs 0.83 0.40 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(TreeRecord).SerializeToStream(Mode%3a%20SourceGen).html>) 18.19 μs 15.18 μs 0.83 0.45 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(TreeRecord).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 17.91 μs 14.84 μs 0.83 0.41 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(TreeRecord).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 17.50 μs 15.28 μs 0.87 0.36 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(TreeRecord).SerializeToWriter(Mode%3a%20SourceGen).html>) 18.41 μs 13.37 μs 0.73 0.35 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(TreeRecord).SerializeToStream(Mode%3a%20Reflection).html>) 18.24 μs 15.12 μs 0.83 0.35 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(TreeRecord).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 16.73 μs 14.60 μs 0.87 0.37 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(TreeRecord).SerializeObjectProperty(Mode%3a%20Reflection).html>) 17.56 μs 13.57 μs 0.77 0.39 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(TreeRecord).SerializeToString(Mode%3a%20SourceGen).html>) 17.91 μs 15.20 μs 0.85 0.37 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;TreeRecord&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.657207512297452 < 17.511543224815384. IsChangePoint: Marked as a change because one of 4/24/2023 7:54:29 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.347420328267496 (T) = (0 -14879.77575744996) / Math.Sqrt((536656.7537123725 / (299)) + (186132.77472895366 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1950034340155264 = (18484.27233879275 - 14879.77575744996) / 18484.27233879275 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.755877389007598 < 17.72954203935133. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.44762924729371 (T) = (0 -14261.631111843355) / Math.Sqrt((603583.567307006 / (299)) + (530162.5410675197 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.22300103066086377 = (18354.761942571626 - 14261.631111843355) / 18354.761942571626 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.175492565297214 < 17.246569377467097. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.160996499512372 (T) = (0 -14704.605940735799) / Math.Sqrt((529131.8714402365 / (299)) + (412324.17622186866 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17881230815596363 = (17906.510395590005 - 14704.605940735799) / 17906.510395590005 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.836101397775192 < 16.765678875997178. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.523340535797264 (T) = (0 -14513.490224512534) / Math.Sqrt((480799.6654883283 / (299)) + (345592.8634460501 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17993593476318098 = (17697.995607600868 - 14513.490224512534) / 17697.995607600868 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeObjectProperty(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.27922706632462 < 16.71647811541044. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 21.927393927907037 (T) = (0 -15159.67982853188) / Math.Sqrt((446049.27769696823 / (299)) + (210886.74259326083 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.17854487798813173 = (18454.66589995023 - 15159.67982853188) / 18454.66589995023 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToWriter(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.373289707834303 < 17.59129186573108. IsChangePoint: Marked as a change because one of 3/13/2023 3:41:35 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.513860032623747 (T) = (0 -14349.402138030115) / Math.Sqrt((493725.5878109067 / (299)) + (535400.0327681607 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20519354563695452 = (18053.957739346322 - 14349.402138030115) / 18053.957739346322 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.1159161864964 < 17.211147664702033. IsChangePoint: Marked as a change because one of 3/9/2023 3:58:44 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.969082314422998 (T) = (0 -14549.260246269998) / Math.Sqrt((589440.1316427705 / (299)) + (496467.5968400113 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20200055675629966 = (18232.168417474462 - 14549.260246269998) / 18232.168417474462 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.598832973206571 < 16.579972688091704. IsChangePoint: Marked as a change because one of 3/15/2023 10:57:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.376017989663705 (T) = (0 -14003.130202353263) / Math.Sqrt((574958.799783297 / (299)) + (551681.121364245 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.22067834487464033 = (17968.357622631127 - 14003.130202353263) / 17968.357622631127 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.573181165856393 < 17.429401385772913. IsChangePoint: Marked as a change because one of 3/14/2023 10:43:28 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.92085831939077 (T) = (0 -14902.9315303998) / Math.Sqrt((641336.2751873914 / (299)) + (412158.480767134 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1931173251139595 = (18469.762698157578 - 14902.9315303998) / 18469.762698157578 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.197050814831428 < 17.676669234069635. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.008330032469434 (T) = (0 -14896.061919633894) / Math.Sqrt((522919.9338235315 / (299)) + (261620.51029798348 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17670277369150567 = (18093.176368909873 - 14896.061919633894) / 18093.176368909873 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(HashSet(String)).DeserializeFromString(Mode%3a%20SourceGen).html>) 14.58 μs 11.96 μs 0.82 0.04 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(HashSet(String)).DeserializeFromString(Mode%3a%20Reflection).html>) 14.48 μs 12.07 μs 0.83 0.04 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(HashSet(String)).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 14.05 μs 11.63 μs 0.83 0.00 True
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(HashSet(String)).DeserializeFromStream(Mode%3a%20SourceGen).html>) 17.00 μs 13.29 μs 0.78 0.01 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(HashSet(String)).DeserializeFromReader(Mode%3a%20SourceGen).html>) 17.96 μs 14.60 μs 0.81 0.01 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(HashSet(String)).DeserializeFromStream(Mode%3a%20Reflection).html>) 16.39 μs 13.33 μs 0.81 0.01 True
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(HashSet(String)).DeserializeFromReader(Mode%3a%20Reflection).html>) 17.78 μs 14.46 μs 0.81 0.01 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(HashSet(String)).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 14.23 μs 11.70 μs 0.82 0.01 True

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
python3 .\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>>.DeserializeFromString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.96393178373845 < 13.842349625425458. IsChangePoint: Marked as a change because one of 2/8/2023 4:01:29 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 123.6807283343285 (T) = (0 -11996.313705245784) / Math.Sqrt((42847.67148107309 / (299)) + (3638.935468252054 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.18843648168459853 = (14781.73110854843 - 11996.313705245784) / 14781.73110854843 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.070164727305025 < 13.753065080094295. IsChangePoint: Marked as a change because one of 2/6/2023 11:23:26 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 143.02140525997146 (T) = (0 -11978.255222699343) / Math.Sqrt((32421.409229509583 / (299)) + (3033.6905879389114 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.18965667694413643 = (14781.70410231613 - 11978.255222699343) / 14781.70410231613 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.625117920619502 < 13.4062206072211. IsChangePoint: Marked as a change because one of 3/9/2023 9:43:16 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 154.02587707695398 (T) = (0 -11597.7519517934) / Math.Sqrt((33004.29491564419 / (299)) + (2304.1356388293552 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19192949437141033 = (14352.401023189961 - 11597.7519517934) / 14352.401023189961 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.287302663502107 < 15.470065037180877. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 126.28185959268254 (T) = (0 -13319.07981984275) / Math.Sqrt((45720.019369490175 / (299)) + (5087.749188628005 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19042146997879347 = (16451.868874899465 - 13319.07981984275) / 16451.868874899465 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromReader(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.59796823328541 < 17.142609562254687. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 121.54983955233268 (T) = (0 -14675.603500928904) / Math.Sqrt((41349.898194221234 / (299)) + (8404.070215871354 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19922524079092274 = (18326.755847579352 - 14675.603500928904) / 18326.755847579352 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.327071988758904 < 15.597961997390088. IsChangePoint: Marked as a change because one of 2/9/2023 1:20:08 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 166.8429029586503 (T) = (0 -13233.399703975068) / Math.Sqrt((43434.67235735598 / (299)) + (2607.985127341971 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1977731997556598 = (16495.83347246 - 13233.399703975068) / 16495.83347246 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromReader(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.45671511534907 < 17.156413743734575. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 166.08489395098235 (T) = (0 -14562.3084856405) / Math.Sqrt((46303.42213025841 / (299)) + (3611.400058250037 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.20576600621093646 = (18335.035517893015 - 14562.3084856405) / 18335.035517893015 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.699774285652872 < 13.399066805262697. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 147.2570192001139 (T) = (0 -11639.755189348338) / Math.Sqrt((52163.429206614426 / (299)) + (1886.6449323320808 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1904911279069361 = (14378.786435351374 - 11639.755189348338) / 14378.786435351374 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetHashCodeBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).GetHashCodeBenchmark.html>) 21.03 ns 18.77 ns 0.89 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Runtime.Intrinsics.Tests.Perf_Vector128Of&lt;UInt32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.GetHashCodeBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.770715799383385 < 19.969278535417573. IsChangePoint: Marked as a change because one of 2/14/2023 11:21:41 AM, 3/3/2023 4:19:26 AM, 4/12/2023 8:39:35 PM, 4/28/2023 1:33:49 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 44.05058489307456 (T) = (0 -18.908879219288806) / Math.Sqrt((0.2966371531589766 / (299)) + (0.023601301033666935 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.11885079576380626 = (21.459338700395904 - 18.908879219288806) / 21.459338700395904 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22%5c%5cp%7bL%7d%22%2c%20Options%3a%20NonBacktracking).html>) 52.75 ms 45.99 ms 0.87 0.05 False
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22%5c%5cp%7bLl%7d%22%2c%20Options%3a%20None).html>) 36.91 ms 32.63 ms 0.88 0.16 False
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22the%22%2c%20Options%3a%20None).html>) 882.50 μs 807.66 μs 0.92 0.00 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22%5c%5cs%5ba-zA-Z%5d%7b0%2c12%7ding%5c%5cs%22%2c%20Options%3a%20None).html>) 24.64 ms 20.26 ms 0.82 0.01 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22%5c%5cp%7bLu%7d%22%2c%20Options%3a%20NonBacktracking).html>) 2.94 ms 2.74 ms 0.93 0.01 False
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22%5c%5cw%2b%5c%5cs%2bHolmes%22%2c%20Options%3a%20None).html>) 14.38 ms 13.16 ms 0.92 0.00 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22.*%22%2c%20Options%3a%20None).html>) 2.25 ms 1.84 ms 0.82 0.08 False
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22(%3fi)Sherlock%7cHolmes%7cWatson%7cIrene%7cAdler%7cJohn%7cBaker%22%2c%20Options%3a%20None).html>) 38.53 ms 33.29 ms 0.86 0.00 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22%5ba-zA-Z%5d%2bing%22%2c%20Options%3a%20None).html>) 21.48 ms 18.13 ms 0.84 0.01 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22the%5c%5cs%2b%5c%5cw%2b%22%2c%20Options%3a%20NonBacktracking).html>) 1.70 ms 1.44 ms 0.85 0.00 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22the%22%2c%20Options%3a%20NonBacktracking).html>) 1.26 ms 1.02 ms 0.81 0.02 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22Sherlock%7cHolmes%7cWatson%7cIrene%7cAdler%7cJohn%7cBaker%22%2c%20Options%3a%20None).html>) 3.06 ms 2.74 ms 0.89 0.00 False
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22%5c%5cb%5c%5cw%2bn%5c%5cb%22%2c%20Options%3a%20None).html>) 40.90 ms 33.41 ms 0.82 0.00 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22%5c%5cw%2b%5c%5cs%2bHolmes%5c%5cs%2b%5c%5cw%2b%22%2c%20Options%3a%20None).html>) 14.36 ms 13.15 ms 0.92 0.00 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22Sherlock%7cHolmes%7cWatson%22%2c%20Options%3a%20None).html>) 524.58 μs 465.20 μs 0.89 0.00 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22%5ba-q%5d%5b%5eu-z%5d%7b13%7dx%22%2c%20Options%3a%20NonBacktracking).html>) 116.91 μs 109.78 μs 0.94 0.00 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22(%3fi)Sher%5ba-z%5d%2b%7cHol%5ba-z%5d%2b%22%2c%20Options%3a%20None).html>) 7.56 ms 6.88 ms 0.91 0.02 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22%5b%5e%5c%5cn%5d*%22%2c%20Options%3a%20None).html>) 2.10 ms 1.84 ms 0.87 0.03 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22.*%22%2c%20Options%3a%20NonBacktracking).html>) 9.23 ms 7.98 ms 0.86 0.01 False
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22Sher%5ba-z%5d%2b%7cHol%5ba-z%5d%2b%22%2c%20Options%3a%20None).html>) 370.51 μs 325.01 μs 0.88 0.00 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22%5c%5cp%7bLl%7d%22%2c%20Options%3a%20NonBacktracking).html>) 51.51 ms 42.43 ms 0.82 0.07 False
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22Holmes.%7b0%2c25%7dWatson%7cWatson.%7b0%2c25%7dHolmes%22%2c%20Options%3a%20None).html>) 576.89 μs 487.75 μs 0.85 0.00 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22Sherlock%7cHolmes%22%2c%20Options%3a%20None).html>) 347.11 μs 313.89 μs 0.90 0.00 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22%5c%5cp%7bL%7d%22%2c%20Options%3a%20None).html>) 39.19 ms 33.29 ms 0.85 0.11 False
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22Sher%5ba-z%5d%2b%7cHol%5ba-z%5d%2b%22%2c%20Options%3a%20NonBacktracking).html>) 261.55 μs 237.70 μs 0.91 0.00 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22%5c%5cw%2b%22%2c%20Options%3a%20NonBacktracking).html>) 20.75 ms 16.64 ms 0.80 0.01 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22%5b%5e%5c%5cn%5d*%22%2c%20Options%3a%20NonBacktracking).html>) 9.17 ms 8.22 ms 0.90 0.01 False
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22Sherlock%7cStreet%22%2c%20Options%3a%20None).html>) 164.07 μs 149.15 μs 0.91 0.00 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22The%22%2c%20Options%3a%20NonBacktracking).html>) 235.07 μs 218.93 μs 0.93 0.01 False
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22%5c%5cp%7bLu%7d%22%2c%20Options%3a%20None).html>) 2.44 ms 2.28 ms 0.93 0.00 False
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22(%3fi)Sherlock%7cHolmes%7cWatson%22%2c%20Options%3a%20None).html>) 12.53 ms 10.33 ms 0.82 0.40 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 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\\p{L}", Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 45.9858272625 < 49.9616204359375. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 37.80345883503496 (T) = (0 -45173248.99090909) / Math.Sqrt((1293111946730.51 / (299)) + (474100953779.5514 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15415094149532546 = (53405803.951319814 - 45173248.99090909) / 53405803.951319814 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\\p{Ll}", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 32.626439928571436 < 35.60355470558823. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 32.9076367821001 (T) = (0 -32854302.38138528) / Math.Sqrt((2755531082549.9946 / (299)) + (113670008959.41048 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12284268981008094 = (37455427.89157373 - 32854302.38138528) / 37455427.89157373 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "the", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 807.6620514583332 < 836.7200471122685. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 160.31892913005984 (T) = (0 -806944.9337916666) / Math.Sqrt((67603140.07051809 / (299)) + (790552.8151568713 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.0988951242535605 = (895506.1231060652 - 806944.9337916666) / 895506.1231060652 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\\s[a-zA-Z]{0,12}ing\\s", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.263573153846153 < 23.367875142916667. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.651299256645927 (T) = (0 -20835465.893044457) / Math.Sqrt((37385879434.70695 / (299)) + (211042005551.88626 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14608898590428035 = (24400043.504660655 - 20835465.893044457) / 24400043.504660655 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\\p{Lu}", Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.7357331499999997 < 2.8576878788152604. IsChangePoint: Marked as a change because one of 3/16/2023 8:14:39 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.753005307814565 (T) = (0 -2663024.6140572447) / Math.Sqrt((5723436483.244713 / (299)) + (3862423819.516774 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1249033496863764 = (3043120.56628585 - 2663024.6140572447) / 3043120.56628585 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\\w+\\s+Holmes", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.164770683333334 < 13.655339484940475. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 86.98741568719848 (T) = (0 -13186941.951565104) / Math.Sqrt((4983027866.511604 / (299)) + (1956030259.255038 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08424363489010611 = (14400054.920702217 - 13186941.951565104) / 14400054.920702217 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: ".*", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.8368839154411762 < 2.1315931092669453. IsChangePoint: Marked as a change because one of 5/5/2023 3:18:41 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 11.98477872920474 (T) = (0 -1877090.6059559798) / Math.Sqrt((2557613568.3559384 / (299)) + (4864598049.245675 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11937731991353823 = (2131549.2416930282 - 1877090.6059559798) / 2131549.2416930282 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sherlock|Holmes|Watson|Irene|Adler|John|Baker", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 33.28531844761905 < 36.45191145291667. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 82.10587356193655 (T) = (0 -33342434.965800866) / Math.Sqrt((37971084799.26387 / (299)) + (41640230198.690506 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13347061632006843 = (38478135.4144091 - 33342434.965800866) / 38478135.4144091 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-zA-Z]+ing", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.13322601923077 < 20.407869584166665. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 88.32228033300774 (T) = (0 -18190082.522916667) / Math.Sqrt((53462333296.399574 / (299)) + (11944019913.86209 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.15249204807869932 = (21463022.832623277 - 18190082.522916667) / 21463022.832623277 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "the\\s+\\w+", Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.4408589873563222 < 1.609607192697493. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 61.490337289907444 (T) = (0 -1442912.3150783903) / Math.Sqrt((178723679.65117893 / (299)) + (159802416.35431972 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.1478579653580148 = (1693276.7736127563 - 1442912.3150783903) / 1693276.7736127563 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "the", Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0171401737127372 < 1.1901206587836801. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 28.653118841322517 (T) = (0 -1027595.6366841354) / Math.Sqrt((443180986.10786164 / (299)) + (646841651.4010646 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17796957583974768 = (1250070.0782867968 - 1027595.6366841354) / 1250070.0782867968 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes|Watson|Irene|Adler|John|Baker", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.73790480962963 < 2.907845599841721. IsChangePoint: Marked as a change because one of 3/16/2023 8:14:39 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 89.08597187006357 (T) = (0 -2738076.5351452255) / Math.Sqrt((5134367967.985647 / (299)) + (4669029.847406845 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12009128691846398 = (3111773.408352991 - 2738076.5351452255) / 3111773.408352991 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\\b\\w+n\\b", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 33.411048542857145 < 38.89098911229396. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 93.48167083599274 (T) = (0 -33323294.316628017) / Math.Sqrt((16339859109.716928 / (299)) + (72846966483.86337 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1864829505466928 = (40962010.985537 - 33323294.316628017) / 40962010.985537 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\\w+\\s+Holmes\\s+\\w+", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.147617142857143 < 13.691420824791667. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 128.28969150858316 (T) = (0 -13187848.119605394) / Math.Sqrt((2768297153.9804754 / (299)) + (930882795.6365852 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08613799599070196 = (14430896.636196306 - 13187848.119605394) / 14430896.636196306 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes|Watson", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 465.2018551733193 < 498.48533758680554. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 165.24827891840468 (T) = (0 -464263.96959027497) / Math.Sqrt((4623972.97181715 / (299)) + (1417661.1711596728 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11912048677415796 = (527045.9383146601 - 464263.96959027497) / 527045.9383146601 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-q][^u-z]{13}x", Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 109.78172888693871 < 111.32224015086507. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 35.810320837414594 (T) = (0 -109158.14950034412) / Math.Sqrt((524995.9704723525 / (299)) + (471065.44966983004 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.06477927196116907 = (116719.12974945505 - 109158.14950034412) / 116719.12974945505 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sher[a-z]+|Hol[a-z]+", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.875709122222221 < 7.186481870566934. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 2.322790941965878 (T) = (0 -7039299.532647907) / Math.Sqrt((6172039034.225244 / (299)) + (628947980026.3016 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.07314456806668468 = (7594819.310671489 - 7039299.532647907) / 7594819.310671489 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[^\\n]*", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.8363518563725492 < 1.9987320636363526. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 29.457090825095648 (T) = (0 -1854096.2037420934) / Math.Sqrt((763489276.4730586 / (299)) + (826917805.068794 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12286105291431489 = (2113799.8830200983 - 1854096.2037420934) / 2113799.8830200983 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: ".*", Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.984277225641026 < 8.790466672179486. IsChangePoint: Marked as a change because one of 4/11/2023 11:54:05 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.83022615872333 (T) = (0 -8202741.743788609) / Math.Sqrt((48398475261.427574 / (299)) + (22203425872.190258 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10143384643447662 = (9128700.99907504 - 8202741.743788609) / 9128700.99907504 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sher[a-z]+|Hol[a-z]+", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 325.0102470238094 < 350.5016954138715. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 130.23970862328088 (T) = (0 -326317.82875) / Math.Sqrt((2317641.837217706 / (299)) + (1068870.4211734682 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.11904745031899795 = (370414.76168967504 - 326317.82875) / 370414.76168967504 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\\p{Ll}", Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 42.43231255 < 48.633011520937494. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 11.832596419834847 (T) = (0 -44509621.89393939) / Math.Sqrt((1077107753376.9702 / (299)) + (4116809224946.832 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1404610404761589 = (51783134.90129219 - 44509621.89393939) / 51783134.90129219 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Holmes.{0,25}Watson|Watson.{0,25}Holmes", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 487.7469203192641 < 548.0761826891599. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 60.60991959975962 (T) = (0 -491138.9360387114) / Math.Sqrt((7429102.83703628 / (299)) + (19610540.59496046 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.1481440614870307 = (576551.6372358234 - 491138.9360387114) / 576551.6372358234 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 313.8941543269231 < 329.84165907089437. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 143.544243530781 (T) = (0 -312355.83513636875) / Math.Sqrt((2214305.2008931832 / (299)) + (558724.5167586344 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.10362248744186418 = (348464.60421005986 - 312355.83513636875) / 348464.60421005986 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\\p{L}", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 33.29188175714285 < 36.1327878071875. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 37.832744483788844 (T) = (0 -33493617.327857137) / Math.Sqrt((1939397024388.8406 / (299)) + (95852950286.7351 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.12526039377023793 = (38289814.57947108 - 33493617.327857137) / 38289814.57947108 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sher[a-z]+|Hol[a-z]+", Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 237.69859453447728 < 247.72492511306282. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 33.054613725354464 (T) = (0 -237451.50766369043) / Math.Sqrt((5140178.795469378 / (299)) + (6060175.154037358 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.099013047459288 = (263546.00029900094 - 237451.50766369043) / 263546.00029900094 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\\w+", Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.64223719387755 < 19.775534091249998. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 21.80532239921046 (T) = (0 -17135380.336502783) / Math.Sqrt((41442413650.32277 / (299)) + (310392962300.2183 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1764703011798234 = (20807240.2987429 - 17135380.336502783) / 20807240.2987429 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[^\\n]*", Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.217312160098523 < 8.689731294287752. IsChangePoint: Marked as a change because one of 4/12/2023 6:21:10 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 29.207982025266613 (T) = (0 -8074671.02148166) / Math.Sqrt((18544202194.48539 / (299)) + (12710616102.068335 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11207140685440631 = (9093829.260386996 - 8074671.02148166) / 9093829.260386996 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Street", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 149.15374150793653 < 155.2459162170194. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 180.3173812682366 (T) = (0 -149043.08742664082) / Math.Sqrt((543497.3720578761 / (299)) + (39575.460782237016 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08175305126489771 = (162312.6410950232 - 149043.08742664082) / 162312.6410950232 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "The", Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 218.9316152729384 < 222.78467034353994. IsChangePoint: Marked as a change because one of 3/16/2023 8:14:39 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 28.682717949828298 (T) = (0 -217912.87210200206) / Math.Sqrt((28050623.83578632 / (299)) + (5671437.010122612 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.09666582327257897 = (241231.73651134508 - 217912.87210200206) / 241231.73651134508 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\\p{Lu}", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.2750375721212124 < 2.325216087781548. IsChangePoint: Marked as a change because one of 3/17/2023 1:20:12 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 35.29775387964139 (T) = (0 -2284896.07846469) / Math.Sqrt((4230919338.8253026 / (299)) + (259653580.02682972 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08669321901145262 = (2501783.7664487264 - 2284896.07846469) / 2501783.7664487264 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sherlock|Holmes|Watson", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.326877716666667 < 12.3292116725. IsChangePoint: Marked as a change because one of 2/23/2023 8:54:44 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 33.79832641854912 (T) = (0 -10158897.150393773) / Math.Sqrt((1785448813706.8093 / (299)) + (8873440916.091597 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.21601297172869208 = (12957991.37492638 - 10158897.150393773) / 12957991.37492638 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in GuardedDevirtualization.ThreeClassInterface

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.ThreeClassInterface.Call(testInput%3a%20pB%3d0.00%20pD%3d0.33).html>) 5.81 ns 2.28 ns 0.39 0.36 False
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.ThreeClassInterface.Call(testInput%3a%20pB%3d0.67%20pD%3d0.33).html>) 4.83 ns 2.06 ns 0.43 0.41 False
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.ThreeClassInterface.Call(testInput%3a%20pB%3d0.67%20pD%3d0.00).html>) 4.81 ns 2.06 ns 0.43 0.38 False
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.ThreeClassInterface.Call(testInput%3a%20pB%3d0.00%20pD%3d0.67).html>) 4.85 ns 2.03 ns 0.42 0.39 False
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.ThreeClassInterface.Call(testInput%3a%20pB%3d0.33%20pD%3d0.67).html>) 5.81 ns 3.82 ns 0.66 0.39 False
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.ThreeClassInterface.Call(testInput%3a%20pB%3d0.33%20pD%3d0.00).html>) 5.83 ns 2.34 ns 0.40 0.40 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'GuardedDevirtualization.ThreeClassInterface*'
### Payloads [Baseline]() [Compare]() ### Histogram #### GuardedDevirtualization.ThreeClassInterface.Call(testInput: pB=0.00 pD=0.33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.283967566978622 < 5.524661476085185. IsChangePoint: Marked as a change because one of 4/19/2023 6:20:25 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.681734652987732 (T) = (0 -2.6108224628362082) / Math.Sqrt((0.35518038317668915 / (299)) + (0.38002192561529335 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.599595045488533 = (6.52045493798064 - 2.6108224628362082) / 6.52045493798064 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.ThreeClassInterface.Call(testInput: pB=0.67 pD=0.33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.064404531244257 < 4.592241609416558. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 72.4229105612276 (T) = (0 -2.0571294895203063) / Math.Sqrt((0.42346152195708103 / (299)) + (0.008972295658892158 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6245169541754467 = (5.478621504741688 - 2.0571294895203063) / 5.478621504741688 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.ThreeClassInterface.Call(testInput: pB=0.67 pD=0.00) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.0637876618916797 < 4.593585696845535. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 66.53935780412957 (T) = (0 -2.087007666821455) / Math.Sqrt((0.3998098988893373 / (299)) + (0.013849360155000203 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6189766976871781 = (5.477375410252501 - 2.087007666821455) / 5.477375410252501 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.ThreeClassInterface.Call(testInput: pB=0.00 pD=0.67) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.0328678292738673 < 4.603832976686248. IsChangePoint: Marked as a change because one of 2/12/2023 11:53:55 PM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 78.9061624210715 (T) = (0 -2.050931394657263) / Math.Sqrt((0.4654232726662682 / (299)) + (0.004341348196514298 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6295594380892174 = (5.536465510359561 - 2.050931394657263) / 5.536465510359561 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.ThreeClassInterface.Call(testInput: pB=0.33 pD=0.67) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.819089509708343 < 5.524719780879997. IsChangePoint: Marked as a change because one of 4/19/2023 6:20:25 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.148267495120773 (T) = (0 -2.7884495462146264) / Math.Sqrt((0.3276450718728165 / (299)) + (0.4993608131423696 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5700797406341958 = (6.485969166300746 - 2.7884495462146264) / 6.485969166300746 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.ThreeClassInterface.Call(testInput: pB=0.33 pD=0.00) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.3366990624999997 < 5.5290768537956785. IsChangePoint: Marked as a change because one of 4/19/2023 6:20:25 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 15.871449914273647 (T) = (0 -3.1898214122004194) / Math.Sqrt((0.33372734660344794 / (299)) + (0.4710574437560454 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5105201277242845 = (6.51675705758877 - 3.1898214122004194) / 6.51675705758877 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Globalization.Tests.StringEquality

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Compare_DifferentFirstChar - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count%3a%201024%2c%20Options%3a%20(en-US%2c%20Ordinal)).html>) 18.00 ns 9.51 ns 0.53 0.23 True
[Compare_Same_Upper - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.StringEquality.Compare_Same_Upper(Count%3a%201024%2c%20Options%3a%20(en-US%2c%20Ordinal)).html>) 27.17 ns 20.76 ns 0.76 0.01 True
[Compare_Same - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.StringEquality.Compare_Same(Count%3a%201024%2c%20Options%3a%20(en-US%2c%20Ordinal)).html>) 134.23 ns 125.93 ns 0.94 0.01 True
[Compare_DifferentFirstChar - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count%3a%201024%2c%20Options%3a%20(en-US%2c%20OrdinalIgnoreCase)).html>) 16.98 ns 8.05 ns 0.47 0.07 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Globalization.Tests.StringEquality*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count: 1024, Options: (en-US, Ordinal)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.511974076255056 < 17.10074773595577. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 81.19674157149475 (T) = (0 -9.538186556204355) / Math.Sqrt((0.5430880580965423 / (299)) + (0.09317324361825904 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.4633451830378982 = (17.77341086808494 - 9.538186556204355) / 17.77341086808494 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.StringEquality.Compare_Same_Upper(Count: 1024, Options: (en-US, Ordinal)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.76368212245845 < 25.81137179138144. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 96.04498942340794 (T) = (0 -20.54548656500954) / Math.Sqrt((0.20174500508494572 / (299)) + (0.04869309103909813 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.25031238255331295 = (27.405396710411324 - 20.54548656500954) / 27.405396710411324 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.StringEquality.Compare_Same(Count: 1024, Options: (en-US, Ordinal)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 125.92561116933896 < 127.17860282153305. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 119.94621099464675 (T) = (0 -126.05829343065433) / Math.Sqrt((0.2393847356617131 / (299)) + (0.03173218758807862 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.054609289665365386 = (133.33989011382837 - 126.05829343065433) / 133.33989011382837 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count: 1024, Options: (en-US, OrdinalIgnoreCase)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.052905489398933 < 15.64902905515732. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 87.31285959778006 (T) = (0 -8.037773731359064) / Math.Sqrt((0.3344578746680632 / (299)) + (0.08674514212031129 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5075821097374692 = (16.32307414150561 - 8.037773731359064) / 16.32307414150561 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Formats.Cbor.Tests.Perf_CborWriter

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[WriteCoseKey - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Formats.Cbor.Tests.Perf_CborWriter.WriteCoseKey(publicKey%3a%20ECDSA_P256).html>) 631.92 ns 486.26 ns 0.77 0.10 False
[WriteCoseKey - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Formats.Cbor.Tests.Perf_CborWriter.WriteCoseKey(publicKey%3a%20ECDSA_P521).html>) 767.33 ns 618.18 ns 0.81 0.49 False
[WriteCoseKey - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Formats.Cbor.Tests.Perf_CborWriter.WriteCoseKey(publicKey%3a%20ECDSA_P384).html>) 740.12 ns 593.10 ns 0.80 0.40 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Formats.Cbor.Tests.Perf_CborWriter*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Formats.Cbor.Tests.Perf_CborWriter.WriteCoseKey(publicKey: ECDSA_P256) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 486.2567442332938 < 605.626185530623. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 34.309219834701246 (T) = (0 -502.3279802123184) / Math.Sqrt((222.10618338221596 / (299)) + (146.97894206243225 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.211595489955105 = (637.144985616221 - 502.3279802123184) / 637.144985616221 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Formats.Cbor.Tests.Perf_CborWriter.WriteCoseKey(publicKey: ECDSA_P521) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 618.1805460130906 < 721.7144833013174. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 11.165854475944473 (T) = (0 -641.4958845639229) / Math.Sqrt((1158.603387709013 / (299)) + (1568.0568029563126 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17397925594317024 = (776.6098965182748 - 641.4958845639229) / 776.6098965182748 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Formats.Cbor.Tests.Perf_CborWriter.WriteCoseKey(publicKey: ECDSA_P384) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 593.0977940095502 < 708.3904318585102. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.950569152100652 (T) = (0 -567.0514665912547) / Math.Sqrt((662.3932717623834 / (299)) + (775.3800003452276 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20311349725235345 = (711.5837257075808 - 567.0514665912547) / 711.5837257075808 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Microsoft.Extensions.Configuration.ConfigurationBinderBenchmarks

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Get - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Configuration.ConfigurationBinderBenchmarks.Get(ConfigurationProvidersCount%3a%2016%2c%20KeysCountPerProvider%3a%2010).html>) 1.82 ms 1.51 ms 0.83 0.06 False
[Get - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Configuration.ConfigurationBinderBenchmarks.Get(ConfigurationProvidersCount%3a%208%2c%20KeysCountPerProvider%3a%2020).html>) 1.12 ms 945.51 μs 0.84 0.07 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Configuration.ConfigurationBinderBenchmarks*'
### Payloads [Baseline]() [Compare]() ### Histogram #### Microsoft.Extensions.Configuration.ConfigurationBinderBenchmarks.Get(ConfigurationProvidersCount: 16, KeysCountPerProvider: 10) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.5123246587412587 < 1.7221227997863249. IsChangePoint: Marked as a change because one of 4/25/2023 1:02:54 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 64.65627461611689 (T) = (0 -1511089.0608172514) / Math.Sqrt((2217855829.532279 / (299)) + (111464537.1898518 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15200603143293534 = (1781957.3214308128 - 1511089.0608172514) / 1781957.3214308128 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Configuration.ConfigurationBinderBenchmarks.Get(ConfigurationProvidersCount: 8, KeysCountPerProvider: 20) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 945.507641919192 < 1.0772646787156281. IsChangePoint: Marked as a change because one of 4/25/2023 6:51:20 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 15.583313672707453 (T) = (0 -967218.7253414255) / Math.Sqrt((742634024.8178287 / (299)) + (970297272.8600576 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1330234797303741 = (1115622.7449396492 - 967218.7253414255) / 1115622.7449396492 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[TryGetValueHit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.TryGetValueHit.html>) 53.35 ns 47.58 ns 0.89 0.25 False
[GetMiss - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.GetMiss.html>) 52.42 ns 46.93 ns 0.90 0.19 False
[TryGetValueMiss - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.TryGetValueMiss.html>) 55.09 ns 46.15 ns 0.84 0.20 False
[SetOverride - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.SetOverride.html>) 174.83 ns 159.39 ns 0.91 0.16 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests*'
### Payloads [Baseline]() [Compare]() ### Histogram #### Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.TryGetValueHit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 47.58258907732215 < 50.772690563914715. IsChangePoint: Marked as a change because one of 2/2/2023 8:18:56 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.001465800542285 (T) = (0 -46.930057068131184) / Math.Sqrt((2.748374607465638 / (299)) + (2.2521250287921104 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14351333882245162 = (54.793681204105354 - 46.930057068131184) / 54.793681204105354 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.GetMiss ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 46.93059782155616 < 51.62826674256784. IsChangePoint: Marked as a change because one of 2/9/2023 1:41:04 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 22.39120968642828 (T) = (0 -47.57455598403349) / Math.Sqrt((2.406008380676419 / (299)) + (0.9747020480016986 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1276467836914203 = (54.53588649027783 - 47.57455598403349) / 54.53588649027783 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.TryGetValueMiss ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 46.14625708897813 < 52.71658358863026. IsChangePoint: Marked as a change because one of 2/9/2023 1:41:04 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.766045604572017 (T) = (0 -47.23886899409371) / Math.Sqrt((2.151486293254739 / (299)) + (1.312845824859368 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.13473039248457713 = (54.59439298895253 - 47.23886899409371) / 54.59439298895253 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.SetOverride ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 159.39434593170424 < 163.6257568246434. IsChangePoint: Marked as a change because one of 2/3/2023 10:29:12 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 14.469095483033309 (T) = (0 -140.52908401390496) / Math.Sqrt((32.561907725616564 / (299)) + (69.09810143004981 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20652682802497294 = (177.10628283009905 - 140.52908401390496) / 177.10628283009905 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
[SystemTextJsonReflection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_FromStream(IndexViewModel).SystemTextJsonReflection.html>) 34.89 μs 27.36 μs 0.78 0.02 False
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.JsonFromStream(IndexViewModel).JsonNet.html>) 83.99 μs 65.60 μs 0.78 0.02 True
[DataContractJsonSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.JsonFromStream(IndexViewModel).DataContractJsonSerializer.html>) 389.56 μs 317.94 μs 0.82 0.00 True
[SystemTextJsonSourceGen - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_FromStream(IndexViewModel).SystemTextJsonSourceGen.html>) 35.34 μs 27.22 μs 0.77 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
python3 .\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_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 27.35942087478881 < 33.0928145487528. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 72.28225573106907 (T) = (0 -27438.544588168512) / Math.Sqrt((339360.9983126509 / (299)) + (96885.69618376093 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20803274686496798 = (34646.059517678295 - 27438.544588168512) / 34646.059517678295 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_FromStream<IndexViewModel>.JsonNet_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 65.60174765271388 < 80.35150106933429. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 13.550889140621264 (T) = (0 -67264.13724581896) / Math.Sqrt((2115606.2891130424 / (299)) + (22287253.082656305 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.22315535946076367 = (86586.34395563115 - 67264.13724581896) / 86586.34395563115 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_FromStream<IndexViewModel>.DataContractJsonSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 317.9415855810009 < 367.2757739098. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 68.28690521090219 (T) = (0 -313056.5307285388) / Math.Sqrt((13770314.272339184 / (299)) + (12786189.412701055 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19341010558905983 = (388123.5469199212 - 313056.5307285388) / 388123.5469199212 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_FromStream<IndexViewModel>.SystemTextJson_SourceGen_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 27.21813462782634 < 32.99818470542809. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 73.43882067129853 (T) = (0 -26975.9981357918) / Math.Sqrt((273965.3782792822 / (299)) + (104453.66809763022 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21739875017797913 = (34469.658899633345 - 26975.9981357918) / 34469.658899633345 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.CreateAddAndClear<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ImmutableSortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CreateAddAndClear(Int32).ImmutableSortedSet(Size%3a%20512).html>) 180.71 μs 139.74 μs 0.77 0.50 False
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CreateAddAndClear(Int32).ImmutableDictionary(Size%3a%20512).html>) 285.80 μs 233.38 μs 0.82 0.51 False
[IDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CreateAddAndClear(Int32).IDictionary(Size%3a%20512).html>) 13.80 μs 10.48 μs 0.76 0.01 True
[SortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CreateAddAndClear(Int32).SortedSet(Size%3a%20512).html>) 46.66 μs 39.55 μs 0.85 0.39 False
[ImmutableHashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CreateAddAndClear(Int32).ImmutableHashSet(Size%3a%20512).html>) 234.85 μs 215.17 μs 0.92 0.51 False
[ImmutableArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CreateAddAndClear(Int32).ImmutableArray(Size%3a%20512).html>) 50.12 μs 47.23 μs 0.94 0.02 False
[ImmutableSortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CreateAddAndClear(Int32).ImmutableSortedDictionary(Size%3a%20512).html>) 187.88 μs 161.64 μs 0.86 0.53 False
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CreateAddAndClear(Int32).SortedDictionary(Size%3a%20512).html>) 63.65 μs 46.20 μs 0.73 0.37 False
[List - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CreateAddAndClear(Int32).List(Size%3a%20512).html>) 1.74 μs 1.54 μs 0.88 0.29 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CreateAddAndClear&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.CreateAddAndClear<Int32>.ImmutableSortedSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 139.74016598294725 < 172.05412456324245. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 15.761175669545922 (T) = (0 -146497.7976321074) / Math.Sqrt((90834057.88956165 / (299)) + (88613993.94573727 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2372610545479743 = (192068.07061004036 - 146497.7976321074) / 192068.07061004036 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<Int32>.ImmutableDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 233.3826514423077 < 249.37659887180226. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 13.51804919910522 (T) = (0 -215232.17752625438) / Math.Sqrt((205837934.63560176 / (299)) + (243846527.57331696 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23092802964418108 = (279859.6045915898 - 215232.17752625438) / 279859.6045915898 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<Int32>.IDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.483418543220502 < 13.140637561473058. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 158.83760745851913 (T) = (0 -10428.383856360788) / Math.Sqrt((30391.331100517422 / (299)) + (3808.279907386094 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.25866679317138863 = (14067.066954916163 - 10428.383856360788) / 14067.066954916163 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<Int32>.SortedSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 39.554787522603974 < 44.29521536008634. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 29.353908028718713 (T) = (0 -39694.36139561764) / Math.Sqrt((3973751.58539595 / (299)) + (690951.8569095731 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1694386265046647 = (47792.20737001993 - 39694.36139561764) / 47792.20737001993 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<Int32>.ImmutableHashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 215.17154611486487 < 227.02699860941138. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 10.853324794912067 (T) = (0 -194344.04578182776) / Math.Sqrt((190933566.154948 / (299)) + (303015435.1329537 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2370119629087086 = (254714.40747972636 - 194344.04578182776) / 254714.40747972636 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<Int32>.ImmutableArray(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 47.233074563880514 < 47.92806620286837. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 11.484499187222953 (T) = (0 -47164.66877200762) / Math.Sqrt((517550.88494441734 / (299)) + (630483.1893010763 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.058357832936300036 = (50087.67706216903 - 47164.66877200762) / 50087.67706216903 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<Int32>.ImmutableSortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 161.63773622125296 < 187.52085672461482. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.07549362484142 (T) = (0 -149790.8148755414) / Math.Sqrt((116538751.74378689 / (299)) + (75225938.24321185 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.25505699620414546 = (201076.87985830166 - 149790.8148755414) / 201076.87985830166 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<Int32>.SortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 46.200592806653916 < 59.664251545340335. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 45.33799472859002 (T) = (0 -47253.82719619629) / Math.Sqrt((9750132.667563101 / (299)) + (908362.0883587771 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2521144879969502 = (63183.2365219071 - 47253.82719619629) / 63183.2365219071 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<Int32>.List(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.540036622394609 < 1.6411912606168924. IsChangePoint: Marked as a change because one of 3/26/2023 1:36:36 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.62376883842018 (T) = (0 -1558.9055276998026) / Math.Sqrt((5548.803556672004 / (299)) + (1225.2279360808068 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1141589461334192 = (1759.8027556923255 - 1558.9055276998026) / 1759.8027556923255 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Ctor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas.Ctor(Pattern%3a%20%22%5b%5c%5cw%5d%2b%3a%2f%2f%5b%5e%2f%5c%5cs%3f%23%5d%2b%5b%5e%5c%5cs%3f%23%5d%2b(%3f%3a%5c%5c%3f%5b%5e%5c%5cs%23%5d)%3f(%3f%3a%23%5b%5e%5c%5cs%5d)%3f%22%2c%20Options%3a%20Compiled).html>) 38.49 μs 35.68 μs 0.93 0.25 False
[Ctor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas.Ctor(Pattern%3a%20%22%5b%5c%5cw%5d%2b%3a%2f%2f%5b%5e%2f%5c%5cs%3f%23%5d%2b%5b%5e%5c%5cs%3f%23%5d%2b(%3f%3a%5c%5c%3f%5b%5e%5c%5cs%23%5d)%3f(%3f%3a%23%5b%5e%5c%5cs%5d)%3f%22%2c%20Options%3a%20None).html>) 5.48 μs 4.93 μs 0.90 0.20 False
[Ctor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas.Ctor(Pattern%3a%20%22(%3f%3a(%3f%3a25%5b0-5%5d%7c2%5b0-4%5d%5b0-9%5d%7c%5b01%5d%3f%5b0-9%5d%5b0-9%5d)%5c%5c.)%7b3%7d(%3f%3a25%5b0-5%5d%7c2%5b0-4%5d%5b0-9%5d%7c%5b01%5d%3f%5b0-9%5d%5b0-9%5d)%22%2c%20Options%3a%20None).html>) 12.43 μs 10.90 μs 0.88 0.12 False
[Ctor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas.Ctor(Pattern%3a%20%22(%3f%3a(%3f%3a25%5b0-5%5d%7c2%5b0-4%5d%5b0-9%5d%7c%5b01%5d%3f%5b0-9%5d%5b0-9%5d)%5c%5c.)%7b3%7d(%3f%3a25%5b0-5%5d%7c2%5b0-4%5d%5b0-9%5d%7c%5b01%5d%3f%5b0-9%5d%5b0-9%5d)%22%2c%20Options%3a%20Compiled).html>) 43.35 μs 40.73 μs 0.94 0.19 False
[Ctor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas.Ctor(Pattern%3a%20%22%5b%5c%5cw%5c%5c.%2b-%5d%2b%40%5b%5c%5cw%5c%5c.-%5d%2b%5c%5c.%5b%5c%5cw%5c%5c.-%5d%2b%22%2c%20Options%3a%20Compiled).html>) 29.48 μs 25.79 μs 0.87 0.18 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas.Ctor(Pattern: "[\\w]+://[^/\\s?#]+[^\\s?#]+(?:\\?[^\\s#]*)?(?:#[^\\s]*)?", Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 35.6794834356412 < 36.586292959058355. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 15.370405411305173 (T) = (0 -34758.33251407485) / Math.Sqrt((2021169.3855245532 / (299)) + (474874.7507129052 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08992589719233623 = (38192.85968784535 - 34758.33251407485) / 38192.85968784535 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas.Ctor(Pattern: "[\\w]+://[^/\\s?#]+[^\\s?#]+(?:\\?[^\\s#]*)?(?:#[^\\s]*)?", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.932864994586081 < 5.255689974140917. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 24.25731551853775 (T) = (0 -4780.335951935498) / Math.Sqrt((26511.574341234693 / (299)) + (9923.02984512253 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.14298194542781767 = (5577.87076530355 - 4780.335951935498) / 5577.87076530355 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas.Ctor(Pattern: "(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9])", Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.902261432988473 < 11.83241923014824. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.93363732882683 (T) = (0 -10763.876038546445) / Math.Sqrt((78881.56577099496 / (299)) + (91247.98206098816 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12705256366875142 = (12330.497336453584 - 10763.876038546445) / 12330.497336453584 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas.Ctor(Pattern: "(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9])", Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 40.73400577048523 < 42.31248827809535. IsChangePoint: Marked as a change because one of 3/21/2023 12:49:42 AM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.95132380028205 (T) = (0 -39043.65926111077) / Math.Sqrt((2144728.2234823834 / (299)) + (957550.6159068223 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.0924125070377527 = (43019.16847011339 - 39043.65926111077) / 43019.16847011339 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas.Ctor(Pattern: "[\\w\\.+-]+@[\\w\\.-]+\\.[\\w\\.-]+", Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 25.793807881908688 < 28.071706259654974. IsChangePoint: Marked as a change because one of 4/9/2023 1:38:49 AM, 4/26/2023 8:38:54 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 22.415427068465938 (T) = (0 -25412.243859675793) / Math.Sqrt((792637.4905663198 / (299)) + (177311.70243251382 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10781815993194255 = (28483.256123815852 - 25412.243859675793) / 28483.256123815852 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Xml.Linq.Perf_XElement

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Xml.Linq.Perf_XElement.GetValue.html>) 91.96 ns 66.09 ns 0.72 0.44 False
[CreateElementsWithNamespace - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Xml.Linq.Perf_XElement.CreateElementsWithNamespace.html>) 149.31 ns 120.45 ns 0.81 0.45 False
[CreateElement - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Xml.Linq.Perf_XElement.CreateElement.html>) 50.25 ns 40.19 ns 0.80 0.37 False
[GetElementWithNamespace - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Xml.Linq.Perf_XElement.GetElementWithNamespace.html>) 90.99 ns 69.53 ns 0.76 0.02 True
[GetElement - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Xml.Linq.Perf_XElement.GetElement.html>) 42.50 ns 35.57 ns 0.84 0.43 False
[GetAttribute - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Xml.Linq.Perf_XElement.GetAttribute.html>) 27.04 ns 18.41 ns 0.68 0.38 False
[CreateElementWithNamespace - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Xml.Linq.Perf_XElement.CreateElementWithNamespace.html>) 98.79 ns 79.59 ns 0.81 0.15 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Xml.Linq.Perf_XElement*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Xml.Linq.Perf_XElement.GetValue ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 66.0920158232919 < 82.60240243648907. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 45.57399089427382 (T) = (0 -67.57117864591596) / Math.Sqrt((17.345057894359645 / (299)) + (1.2836167492449886 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21991199727658006 = (86.61994340383839 - 67.57117864591596) / 86.61994340383839 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XElement.CreateElementsWithNamespace ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 120.44981700625337 < 134.362414902076. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.384127256212768 (T) = (0 -121.99359315807435) / Math.Sqrt((27.88596813567202 / (299)) + (21.69683680979206 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.17652410801736926 = (148.14470507977848 - 121.99359315807435) / 148.14470507977848 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XElement.CreateElement ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 40.185143731969724 < 43.69757812192876. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 15.492085079730577 (T) = (0 -37.276371240810704) / Math.Sqrt((6.687120889417059 / (299)) + (4.312322371056848 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21106811013372348 = (47.249162721929046 - 37.276371240810704) / 47.249162721929046 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XElement.GetElementWithNamespace ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 69.52712208786116 < 84.67126252452273. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 79.85648135887152 (T) = (0 -69.35533907686917) / Math.Sqrt((1.9205638700332754 / (299)) + (0.5189058402990446 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.21755538053563372 = (88.63929452840684 - 69.35533907686917) / 88.63929452840684 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XElement.GetElement ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 35.571258727109345 < 40.71640458185696. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.94804942021339 (T) = (0 -35.30899484917029) / Math.Sqrt((3.7767845864526506 / (299)) + (2.498384288575506 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19030197808719307 = (43.607609125383995 - 35.30899484917029) / 43.607609125383995 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XElement.GetAttribute ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.407879364251666 < 28.48095090403638. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 28.686898790394338 (T) = (0 -18.70238462913959) / Math.Sqrt((1.7315095587847977 / (299)) + (1.0579993307804212 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.32877400370907 = (27.863021892008785 - 18.70238462913959) / 27.863021892008785 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XElement.CreateElementWithNamespace ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 79.59085997542645 < 93.83727695522552. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 37.8378289463345 (T) = (0 -77.33719765290415) / Math.Sqrt((6.187308231864421 / (299)) + (4.027567333724345 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23330487887435827 = (100.8708618614394 - 77.33719765290415) / 100.8708618614394 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Tests.Perf_DateTimes

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[WriteDateTimes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted%3a%20False%2c%20SkipValidation%3a%20False).html>) 5.79 ms 5.30 ms 0.91 0.00 False
[WriteDateTimes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted%3a%20True%2c%20SkipValidation%3a%20False).html>) 6.34 ms 5.76 ms 0.91 0.01 True
[WriteDateTimes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted%3a%20False%2c%20SkipValidation%3a%20True).html>) 5.69 ms 5.27 ms 0.93 0.00 False
[WriteDateTimes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted%3a%20True%2c%20SkipValidation%3a%20True).html>) 6.27 ms 5.75 ms 0.92 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_DateTimes*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted: False, SkipValidation: False) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.297311224637682 < 5.496712730840193. IsChangePoint: Marked as a change because one of 4/9/2023 1:38:49 AM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 80.14076254620382 (T) = (0 -5293534.805862994) / Math.Sqrt((3100927843.123993 / (299)) + (416892074.0782925 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.09517287685325353 = (5850327.284015865 - 5293534.805862994) / 5850327.284015865 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted: True, SkipValidation: False) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.761801805860804 < 6.025782240583029. IsChangePoint: Marked as a change because one of 4/9/2023 1:38:49 AM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 47.42127796910535 (T) = (0 -5796104.4822168965) / Math.Sqrt((3989447719.925184 / (299)) + (1719396584.03084 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.09630276260668427 = (6413768.065658323 - 5796104.4822168965) / 6413768.065658323 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted: False, SkipValidation: True) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.271240043971631 < 5.370306283241342. IsChangePoint: Marked as a change because one of 2/9/2023 1:41:04 PM, 4/9/2023 1:38:49 AM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 50.35710195396792 (T) = (0 -5280359.4659843175) / Math.Sqrt((3829983091.4437838 / (299)) + (588371409.6865829 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.07469308271159113 = (5706603.254905186 - 5280359.4659843175) / 5706603.254905186 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted: True, SkipValidation: True) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.748439484794276 < 5.937773807586309. IsChangePoint: Marked as a change because one of 4/9/2023 1:38:49 AM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 56.23073419001408 (T) = (0 -5776471.64852425) / Math.Sqrt((3068979667.681608 / (299)) + (730776865.4635972 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.0816145560419776 = (6289811.850271748 - 5776471.64852425) / 6289811.850271748 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_ToStream<MyEventsListerViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.JsonToStream(MyEventsListerViewModel).JsonNet.html>) 866.84 μs 600.21 μs 0.69 0.03 True
[SystemTextJsonSourceGen - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_ToStream(MyEventsListerViewModel).SystemTextJsonSourceGen.html>) 401.93 μs 319.03 μs 0.79 0.06 False
[DataContractJsonSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.JsonToStream(MyEventsListerViewModel).DataContractJsonSerializer.html>) 956.60 μs 703.38 μs 0.74 0.01 False
[SystemTextJsonReflection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_ToStream(MyEventsListerViewModel).SystemTextJsonReflection.html>) 400.19 μs 310.66 μs 0.78 0.12 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToStream&lt;MyEventsListerViewModel&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Json_ToStream<MyEventsListerViewModel>.JsonNet_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 600.214551035503 < 820.0817106337105. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 62.10678948935287 (T) = (0 -610453.3562999668) / Math.Sqrt((197860554.43118498 / (299)) + (159054041.0648646 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2834732676106548 = (851961.7324874065 - 610453.3562999668) / 851961.7324874065 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToStream<MyEventsListerViewModel>.SystemTextJson_SourceGen_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 319.0311023076922 < 378.49035631956224. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 50.41734308784032 (T) = (0 -319997.0527930697) / Math.Sqrt((112958029.81742822 / (299)) + (31653424.316463947 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2213487786294122 = (410963.2708593309 - 319997.0527930697) / 410963.2708593309 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToStream<MyEventsListerViewModel>.DataContractJsonSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 703.3831461032864 < 911.310858817936. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 118.31496738496497 (T) = (0 -707200.4168238067) / Math.Sqrt((1052774480.071173 / (299)) + (21838147.62309263 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2819073756623793 = (984831.7513024714 - 707200.4168238067) / 984831.7513024714 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToStream<MyEventsListerViewModel>.SystemTextJson_Reflection_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 310.6593106949646 < 380.6728984230397. IsChangePoint: Marked as a change because one of 4/23/2023 10:00:36 AM, 4/24/2023 1:33:55 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 9.56321699086081 (T) = (0 -328424.93895031) / Math.Sqrt((328757869.0379775 / (299)) + (909803323.8177195 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21046672245648437 = (415973.5229554129 - 328424.93895031) / 415973.5229554129 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Xml_FromStream<ClassImplementingIXmlSerialiable>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DataContractSerializerBinaryXml - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Xml_FromStream(ClassImplementingIXmlSerialiable).DataContractSerializerBinaryXml.html>) 908.67 ns 655.30 ns 0.72 0.03 True
[DataContractSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.XmlFromStream(ClassImplementingIXmlSerialiable).DataContractSerializer.html>) 2.66 μs 2.17 μs 0.81 0.39 False
[XmlSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.XmlFromStream(ClassImplementingIXmlSerialiable).XmlSerializer.html>) 3.46 μs 3.08 μs 0.89 0.50 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;ClassImplementingIXmlSerialiable&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Xml_FromStream<ClassImplementingIXmlSerialiable>.DataContractSerializer_BinaryXml_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 655.3045876503226 < 849.7859373648611. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 76.12712136850996 (T) = (0 -658.5922984718288) / Math.Sqrt((337.2624113983865 / (218)) + (104.72344922449504 / (11))) is greater than 1.9704695126513152 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (218) + (11) - 2, .975) and 0.27774022031564144 = (911.8496100664034 - 658.5922984718288) / 911.8496100664034 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Xml_FromStream<ClassImplementingIXmlSerialiable>.DataContractSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.16636859297498 < 2.404026214611478. IsChangePoint: Marked as a change because one of 4/19/2023 10:34:24 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.200270811921884 (T) = (0 -2212.6045225144226) / Math.Sqrt((10596.488152504036 / (299)) + (5814.99203656872 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.12045988076497455 = (2515.6379727610624 - 2212.6045225144226) / 2515.6379727610624 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Xml_FromStream<ClassImplementingIXmlSerialiable>.XmlSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.0839418376532612 < 3.2835948203871106. IsChangePoint: Marked as a change because one of 5/18/2023 7:10:13 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 7.0014622918356455 (T) = (0 -3048.0703990500583) / Math.Sqrt((31924.357835471354 / (299)) + (26779.63049861564 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.09997228742419298 = (3386.6406072394434 - 3048.0703990500583) / 3386.6406072394434 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes%3a%208192%2c%20TestCase%3a%20Json4KB).html>) 9.60 μs 7.69 μs 0.80 0.01 True
[ReadMultiSegmentSequenceUsingSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize%3a%204096%2c%20TestCase%3a%20Json400KB).html>) 964.27 μs 805.12 μs 0.83 0.02 False
[ReadSingleSegmentSequence - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequence(TestCase%3a%20Json40KB).html>) 94.67 μs 80.45 μs 0.85 0.01 False
[ReadMultiSegmentSequence - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize%3a%204096%2c%20TestCase%3a%20Json400KB).html>) 989.47 μs 868.86 μs 0.88 0.01 False
[ReadSingleSegmentSequence - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequence(TestCase%3a%20Json400KB).html>) 952.00 μs 816.46 μs 0.86 0.02 False
[ReadMultiSegmentSequenceUsingSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize%3a%208192%2c%20TestCase%3a%20Json40KB).html>) 95.06 μs 80.19 μs 0.84 0.01 False
[ReadSingleSegmentSequence - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequence(TestCase%3a%20Json4KB).html>) 9.52 μs 7.90 μs 0.83 0.01 False
[ReadMultiSegmentSequence - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize%3a%204096%2c%20TestCase%3a%20Json40KB).html>) 97.78 μs 85.61 μs 0.88 0.01 False
[ReadSingleSegmentSequenceByN - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes%3a%204096%2c%20TestCase%3a%20Json400KB).html>) 952.92 μs 800.90 μs 0.84 0.02 False
[ReadMultiSegmentSequenceUsingSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize%3a%208192%2c%20TestCase%3a%20Json400KB).html>) 957.66 μs 821.10 μs 0.86 0.01 False
[ReadMultiSegmentSequenceUsingSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize%3a%204096%2c%20TestCase%3a%20Json4KB).html>) 9.78 μs 7.92 μs 0.81 0.01 False
[ReadSingleSegmentSequenceByN - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes%3a%204096%2c%20TestCase%3a%20Json40KB).html>) 95.16 μs 79.05 μs 0.83 0.01 False
[ReadMultiSegmentSequence - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize%3a%208192%2c%20TestCase%3a%20Json400KB).html>) 983.76 μs 867.55 μs 0.88 0.01 False
[ReadMultiSegmentSequenceUsingSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize%3a%204096%2c%20TestCase%3a%20Json40KB).html>) 96.07 μs 80.36 μs 0.84 0.01 False
[ReadSingleSegmentSequenceByN - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes%3a%208192%2c%20TestCase%3a%20Json40KB).html>) 95.23 μs 79.94 μs 0.84 0.02 False
[ReadSingleSegmentSequenceByN - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes%3a%204096%2c%20TestCase%3a%20Json4KB).html>) 9.54 μs 7.77 μs 0.81 0.00 True
[ReadMultiSegmentSequenceUsingSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize%3a%208192%2c%20TestCase%3a%20Json4KB).html>) 9.62 μs 7.87 μs 0.82 0.01 False
[ReadMultiSegmentSequence - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize%3a%208192%2c%20TestCase%3a%20Json40KB).html>) 97.66 μs 85.48 μs 0.88 0.01 False
[ReadSingleSegmentSequenceByN - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes%3a%208192%2c%20TestCase%3a%20Json400KB).html>) 954.59 μs 798.52 μs 0.84 0.02 False

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
python3 .\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: 8192, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.694185503942829 < 8.989027711044454. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 107.780596649003 (T) = (0 -7726.014013580945) / Math.Sqrt((3699.63657177361 / (299)) + (2777.319868262137 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1850266269864999 = (9480.0815209615 - 7726.014013580945) / 9480.0815209615 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 4096, TestCase: Json400KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 805.1222570203641 < 916.5350487451736. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 247.7559554946681 (T) = (0 -804997.0594356878) / Math.Sqrt((70046387.51484449 / (299)) + (2106356.1878996147 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1672367236454483 = (966657.7313058143 - 804997.0594356878) / 966657.7313058143 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequence(TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 80.44702209401711 < 90.2106645250056. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 231.76978339533454 (T) = (0 -80532.24389507395) / Math.Sqrt((374645.9734594053 / (299)) + (25642.44920329826 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14697415700682834 = (94407.74222325477 - 80532.24389507395) / 94407.74222325477 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize: 4096, TestCase: Json400KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 868.8612522648086 < 939.776298114844. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 192.55790296614592 (T) = (0 -869223.8214116242) / Math.Sqrt((30719517.17877214 / (299)) + (3217318.241678525 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1222434618963705 = (990278.9482942047 - 869223.8214116242) / 990278.9482942047 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequence(TestCase: Json400KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 816.4624803921569 < 907.9287791926777. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.149120058415633 (T) = (0 -821655.966854928) / Math.Sqrt((35320300.100052 / (299)) + (468861481.741584 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13817022728303485 = (953385.4513573056 - 821655.966854928) / 953385.4513573056 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 8192, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 80.18702546768706 < 90.68616763197772. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 309.10054271193314 (T) = (0 -80280.69375084652) / Math.Sqrt((342940.29768206005 / (299)) + (13540.638511606136 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.16146192908361728 = (95738.87761960893 - 80280.69375084652) / 95738.87761960893 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequence(TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.898897892992424 < 8.98747275661231. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 235.50571726333843 (T) = (0 -7902.912134056099) / Math.Sqrt((5604.634294981575 / (299)) + (285.2523638256222 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16609963097674152 = (9477.04597290528 - 7902.912134056099) / 9477.04597290528 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize: 4096, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 85.60819659584192 < 93.23326207760371. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 231.66065962166363 (T) = (0 -85775.94152471308) / Math.Sqrt((252479.55162929257 / (299)) + (21948.80059624195 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12581460603009492 = (98120.99597681682 - 85775.94152471308) / 98120.99597681682 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes: 4096, TestCase: Json400KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 800.9004793140406 < 908.1724285435702. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 115.82125513048696 (T) = (0 -803215.3068905353) / Math.Sqrt((70963901.69178092 / (299)) + (16456945.739066508 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.1651865182534302 = (962149.4195446798 - 803215.3068905353) / 962149.4195446798 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 8192, TestCase: Json400KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 821.0950228070177 < 907.108328065134. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 87.28111955060912 (T) = (0 -805397.0292406667) / Math.Sqrt((66515797.76519098 / (299)) + (32749930.71574232 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16237413393164923 = (961523.5893096761 - 805397.0292406667) / 961523.5893096761 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 4096, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.916192136686993 < 9.284265401901523. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 217.0518124227202 (T) = (0 -7893.705124873797) / Math.Sqrt((6144.412218386409 / (299)) + (445.5214212536161 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.18708490994241067 = (9710.36855068662 - 7893.705124873797) / 9710.36855068662 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes: 4096, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 79.05245862470862 < 90.21186516477272. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 95.63946305177211 (T) = (0 -79774.94110527758) / Math.Sqrt((571469.3510340608 / (299)) + (262967.4112365276 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16151789998612578 = (95142.09200644541 - 79774.94110527758) / 95142.09200644541 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize: 8192, TestCase: Json400KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 867.5541535423924 < 937.4440005775924. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 203.60990152073774 (T) = (0 -866447.7415629327) / Math.Sqrt((28968798.0663079 / (299)) + (2759289.393372606 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.121707376116316 = (986513.7404110547 - 866447.7415629327) / 986513.7404110547 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 4096, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 80.36294681623932 < 90.81452878683942. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 300.8554533001001 (T) = (0 -80283.03948680406) / Math.Sqrt((379769.42295202904 / (299)) + (16074.572818742401 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16377713707709451 = (96006.75016966817 - 80283.03948680406) / 96006.75016966817 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes: 8192, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 79.93913167517006 < 89.95144137299197. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 110.25475215459792 (T) = (0 -79296.08694765308) / Math.Sqrt((529193.1915035018 / (299)) + (197678.97835214116 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.163429138977954 = (94787.05348495685 - 79296.08694765308) / 94787.05348495685 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes: 4096, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.769992169307121 < 8.996849086873963. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 110.96754238141496 (T) = (0 -7799.142040409884) / Math.Sqrt((2465.8705529282934 / (299)) + (2574.204515814597 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.18130753477721667 = (9526.339097658087 - 7799.142040409884) / 9526.339097658087 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 8192, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.865240405121746 < 9.12729199939115. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 355.3127093494804 (T) = (0 -7843.046433724727) / Math.Sqrt((2802.452962831865 / (299)) + (161.7914433092939 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.18633106391226983 = (9639.11252583334 - 7843.046433724727) / 9639.11252583334 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize: 8192, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 85.47784334566832 < 92.77737477578923. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 163.28135106270392 (T) = (0 -85474.10889346918) / Math.Sqrt((231406.894831233 / (299)) + (48593.03776367712 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.125398248063242 = (97729.17639850528 - 85474.10889346918) / 97729.17639850528 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes: 8192, TestCase: Json400KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 798.5231718849839 < 907.4710170284472. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 98.61708606439885 (T) = (0 -802768.5449889257) / Math.Sqrt((70607743.2719424 / (299)) + (24876290.701819755 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16258057754639227 = (958621.8368769663 - 802768.5449889257) / 958621.8368769663 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Tests.Utf8JsonReaderCommentsTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Utf8JsonReaderCommentParsing - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling%3a%20Allow%2c%20SegmentSize%3a%200%2c%20TestCase%3a%20ShortMultiLine).html>) 95.08 ns 79.81 ns 0.84 0.04 False
[Utf8JsonReaderCommentParsing - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling%3a%20Allow%2c%20SegmentSize%3a%20100%2c%20TestCase%3a%20ShortSingleLine).html>) 112.63 ns 103.64 ns 0.92 0.25 False
[Utf8JsonReaderCommentParsing - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling%3a%20Allow%2c%20SegmentSize%3a%200%2c%20TestCase%3a%20ShortSingleLine).html>) 93.91 ns 79.88 ns 0.85 0.04 False
[Utf8JsonReaderCommentParsing - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling%3a%20Skip%2c%20SegmentSize%3a%20100%2c%20TestCase%3a%20LongMultiLine).html>) 19.73 μs 17.81 μs 0.90 0.00 True
[Utf8JsonReaderCommentParsing - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling%3a%20Skip%2c%20SegmentSize%3a%200%2c%20TestCase%3a%20ShortMultiLine).html>) 97.97 ns 78.88 ns 0.81 0.01 True
[Utf8JsonReaderCommentParsing - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling%3a%20Skip%2c%20SegmentSize%3a%200%2c%20TestCase%3a%20ShortSingleLine).html>) 91.76 ns 84.13 ns 0.92 0.03 False
[Utf8JsonReaderCommentParsing - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling%3a%20Allow%2c%20SegmentSize%3a%20100%2c%20TestCase%3a%20LongMultiLine).html>) 19.73 μs 17.97 μs 0.91 0.00 True
[Utf8JsonReaderCommentParsing - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling%3a%20Allow%2c%20SegmentSize%3a%20100%2c%20TestCase%3a%20ShortMultiLine).html>) 119.31 ns 93.99 ns 0.79 0.29 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Utf8JsonReaderCommentsTests*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Allow, SegmentSize: 0, TestCase: ShortMultiLine) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 79.80544212711531 < 90.6456462756141. IsChangePoint: Marked as a change because one of 4/27/2023 10:53:57 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.028620047819178 (T) = (0 -82.92211265008275) / Math.Sqrt((3.843192082991191 / (299)) + (3.8753242042446927 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15943730068257247 = (98.65071661806908 - 82.92211265008275) / 98.65071661806908 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Allow, SegmentSize: 100, TestCase: ShortSingleLine) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 103.64411168876553 < 106.59504434126043. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 7.772766334216207 (T) = (0 -100.03891257032791) / Math.Sqrt((9.923114648714872 / (299)) + (19.615140293198923 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.09478942581272028 = (110.51452051379901 - 100.03891257032791) / 110.51452051379901 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Allow, SegmentSize: 0, TestCase: ShortSingleLine) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 79.88460269380806 < 88.76311037720964. IsChangePoint: Marked as a change because one of 5/3/2023 1:18:01 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 22.300082058934173 (T) = (0 -82.52095421590684) / Math.Sqrt((4.853471768822315 / (299)) + (3.9283718897247035 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.14736777651130015 = (96.7837620284363 - 82.52095421590684) / 96.7837620284363 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Skip, SegmentSize: 100, TestCase: LongMultiLine) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 17.806705262908125 < 18.85025367111576. IsChangePoint: Marked as a change because one of 3/29/2023 11:36:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 90.22117215611247 (T) = (0 -17745.831596187345) / Math.Sqrt((29562.5100163115 / (299)) + (4364.3559151759055 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10167722962361603 = (19754.404743355335 - 17745.831596187345) / 19754.404743355335 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Skip, SegmentSize: 0, TestCase: ShortMultiLine) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 78.87733567121998 < 91.36105643786699. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 34.22421369411778 (T) = (0 -80.84467417148575) / Math.Sqrt((2.663422357121713 / (299)) + (2.37356041736451 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.18102715491692203 = (98.71471887848092 - 80.84467417148575) / 98.71471887848092 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Skip, SegmentSize: 0, TestCase: ShortSingleLine) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 84.12602424474842 < 87.77030369541473. IsChangePoint: Marked as a change because one of 5/4/2023 2:44:24 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.22875641508819 (T) = (0 -81.35335819942237) / Math.Sqrt((4.326610877778803 / (299)) + (3.417866625856283 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15529963296793783 = (96.31031472765355 - 81.35335819942237) / 96.31031472765355 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Allow, SegmentSize: 100, TestCase: LongMultiLine) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 17.970842817414653 < 18.91525611711637. IsChangePoint: Marked as a change because one of 3/29/2023 11:36:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 83.47429890130398 (T) = (0 -17948.155372131696) / Math.Sqrt((30488.44188989229 / (299)) + (4766.551253570298 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.10061787005719419 = (19956.095161989786 - 17948.155372131696) / 19956.095161989786 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Allow, SegmentSize: 100, TestCase: ShortMultiLine) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 93.99085286702945 < 109.00952327620735. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 9.661471221788881 (T) = (0 -99.04958787137052) / Math.Sqrt((11.250081291093549 / (299)) + (20.70849132211701 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11907112521258775 = (112.43766745104523 - 99.04958787137052) / 112.43766745104523 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in GuardedDevirtualization.TwoClassInterface

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.TwoClassInterface.Call(testInput%3a%20pB%20%3d%200.90).html>) 2.68 ns 0.99 ns 0.37 0.37 False
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.TwoClassInterface.Call(testInput%3a%20pB%20%3d%200.20).html>) 5.49 ns 1.42 ns 0.26 0.39 True
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.TwoClassInterface.Call(testInput%3a%20pB%20%3d%200.30).html>) 5.92 ns 2.06 ns 0.35 0.42 False
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.TwoClassInterface.Call(testInput%3a%20pB%20%3d%200.80).html>) 3.66 ns 1.35 ns 0.37 0.38 False
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.TwoClassInterface.Call(testInput%3a%20pB%20%3d%200.60).html>) 4.88 ns 2.39 ns 0.49 0.42 False
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.TwoClassInterface.Call(testInput%3a%20pB%20%3d%200.50).html>) 5.43 ns 3.50 ns 0.64 0.38 False
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.TwoClassInterface.Call(testInput%3a%20pB%20%3d%200.10).html>) 4.96 ns 1.03 ns 0.21 0.36 True
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.TwoClassInterface.Call(testInput%3a%20pB%20%3d%200.40).html>) 5.81 ns 2.76 ns 0.47 0.46 False
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.TwoClassInterface.Call(testInput%3a%20pB%20%3d%200.70).html>) 4.44 ns 1.87 ns 0.42 0.41 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'GuardedDevirtualization.TwoClassInterface*'
### Payloads [Baseline]() [Compare]() ### Histogram #### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.90) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.992098588974817 < 2.540761265662215. IsChangePoint: Marked as a change because one of 4/8/2023 3:10:58 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 56.60880914699782 (T) = (0 -0.9772064049596324) / Math.Sqrt((0.500525173017321 / (299)) + (5.580617899287173E-05 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.7035925815469055 = (3.29683518064266 - 0.9772064049596324) / 3.29683518064266 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.20) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.4217107209447966 < 5.217250703012835. IsChangePoint: Marked as a change because one of 4/17/2023 8:43:19 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 139.65685461131676 (T) = (0 -1.4191795939720568) / Math.Sqrt((0.3001439438209338 / (299)) + (0.0011467445418628592 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.7661224098627804 = (6.068044369447291 - 1.4191795939720568) / 6.068044369447291 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.30) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.0611144270349224 < 5.61914048942659. IsChangePoint: Marked as a change because one of 4/17/2023 8:43:19 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 14.896326451582553 (T) = (0 -2.685900927143558) / Math.Sqrt((0.3332087115435175 / (299)) + (0.6734959542985193 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.5920327025174548 = (6.583618205962877 - 2.685900927143558) / 6.583618205962877 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.80) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3524885894746042 < 3.4717924272494525. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 73.58839511880332 (T) = (0 -1.317118907845298) / Math.Sqrt((0.5042698003836215 / (299)) + (0.00041530762374070363 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6987950804405306 = (4.3728333181664665 - 1.317118907845298) / 4.3728333181664665 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.60) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.3882905578942495 < 4.6344889012754455. IsChangePoint: Marked as a change because one of 2/9/2023 7:28:55 PM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.337610345010606 (T) = (0 -2.4364460165298754) / Math.Sqrt((0.4403536715512195 / (299)) + (0.26485974265139434 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.5702812132682286 = (5.669861527489359 - 2.4364460165298754) / 5.669861527489359 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.50) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.4969163439635538 < 5.163402276824917. IsChangePoint: Marked as a change because one of 2/13/2023 11:10:05 PM, 4/17/2023 8:43:19 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.8508810374407 (T) = (0 -3.0901117945382537) / Math.Sqrt((0.3959917507810756 / (299)) + (0.13973437597310062 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.49769252977175127 = (6.151833244952749 - 3.0901117945382537) / 6.151833244952749 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.10) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0335807790006848 < 4.716091374088591. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 154.6276495635526 (T) = (0 -1.0498408353028124) / Math.Sqrt((0.2374708615698546 / (299)) + (0.00026146254749039065 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.8081523280728876 = (5.472262575600461 - 1.0498408353028124) / 5.472262575600461 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.40) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.7605356891392363 < 5.524292971494931. IsChangePoint: Marked as a change because one of 4/17/2023 8:43:19 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 41.81708656376383 (T) = (0 -3.063899320434332) / Math.Sqrt((0.34772258430068154 / (299)) + (0.061060632709516005 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5279284912682704 = (6.49032882468553 - 3.063899320434332) / 6.49032882468553 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.70) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.8656553230543318 < 4.2201627327364015. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 11.145619069939936 (T) = (0 -2.168287942697248) / Math.Sqrt((0.4449397073663056 / (299)) + (0.821988897408405 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5866190109648888 = (5.245253168894713 - 2.168287942697248) / 5.245253168894713 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromReader(Mode%3a%20SourceGen).html>) 658.30 ns 484.66 ns 0.74 0.07 True
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromStream(Mode%3a%20SourceGen).html>) 770.08 ns 585.34 ns 0.76 0.07 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromString(Mode%3a%20Reflection).html>) 460.56 ns 349.57 ns 0.76 0.04 True
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromString(Mode%3a%20SourceGen).html>) 474.14 ns 318.97 ns 0.67 0.05 True
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 394.70 ns 278.04 ns 0.70 0.04 True
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromReader(Mode%3a%20Reflection).html>) 625.52 ns 490.71 ns 0.78 0.07 True
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromStream(Mode%3a%20Reflection).html>) 720.34 ns 596.09 ns 0.83 0.04 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 411.66 ns 279.88 ns 0.68 0.02 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;SimpleStructWithProperties&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromReader(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 484.66185586316857 < 626.3497495217758. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 52.00868832311976 (T) = (0 -491.42704555752874) / Math.Sqrt((217.7946634889122 / (299)) + (115.53758787408898 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.26182067274018894 = (665.7285396784962 - 491.42704555752874) / 665.7285396784962 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 585.3444203102647 < 706.2745258092028. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 72.46354075508593 (T) = (0 -575.6236597913462) / Math.Sqrt((276.68092817372934 / (299)) + (41.46912171663302 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.22089184959244612 = (738.8238198897492 - 575.6236597913462) / 738.8238198897492 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 349.5652352484826 < 441.5690396384749. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 46.18836285562089 (T) = (0 -334.7952371697817) / Math.Sqrt((124.63697097857546 / (299)) + (76.50850718742828 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2815356074979136 = (465.98723703458893 - 334.7952371697817) / 465.98723703458893 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 318.9653232453167 < 454.23316528371237. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 66.73359494981018 (T) = (0 -328.9125707543312) / Math.Sqrt((150.7483789579364 / (299)) + (50.74489797113806 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.31458604594230616 = (479.87434280721607 - 328.9125707543312) / 479.87434280721607 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 278.0393943283092 < 373.39029373067007. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 74.2010093589474 (T) = (0 -276.4535994022857) / Math.Sqrt((61.146258231536926 / (299)) + (22.587231514631558 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.28739893475704253 = (387.9500226512156 - 276.4535994022857) / 387.9500226512156 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromReader(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 490.71184982259666 < 602.954341475884. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 64.59146475320914 (T) = (0 -483.518025708785) / Math.Sqrt((221.19796959041486 / (299)) + (62.82992236043227 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.25334671786444696 = (647.5803927705812 - 483.518025708785) / 647.5803927705812 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 596.0878362748815 < 684.9256081599136. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 43.383932643564755 (T) = (0 -584.4962357599112) / Math.Sqrt((164.53286431447134 / (299)) + (90.59198943225462 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.180333980036783 = (713.090724178295 - 584.4962357599112) / 713.090724178295 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 279.8797133901092 < 390.92990987932353. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 76.9153124090962 (T) = (0 -278.3643279341043) / Math.Sqrt((72.86635509699165 / (299)) + (25.500789937441187 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3066472717682674 = (401.4757807963356 - 278.3643279341043) / 401.4757807963356 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_FromString<Location>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SystemTextJsonReflection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_FromString(Location).SystemTextJsonReflection.html>) 1.62 μs 1.22 μs 0.75 0.05 True
[SystemTextJsonSourceGen - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_FromString(Location).SystemTextJsonSourceGen.html>) 1.58 μs 1.19 μs 0.75 0.07 False
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.JsonFromString(Location).JsonNet.html>) 3.41 μs 2.33 μs 0.68 0.02 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromString&lt;Location&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Json_FromString<Location>.SystemTextJson_Reflection_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.222352898986789 < 1.5299646103172135. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 61.84815579517212 (T) = (0 -1226.8026100789493) / Math.Sqrt((1112.2501489079825 / (299)) + (369.93796515104276 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23553630620723087 = (1604.788585828526 - 1226.8026100789493) / 1604.788585828526 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_FromString<Location>.SystemTextJson_SourceGen_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.185361328324156 < 1.4873329691978106. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 162.97695842725557 (T) = (0 -1188.1940807173264) / Math.Sqrt((594.3957223716105 / (299)) + (27.80457504983177 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.2360989989223062 = (1555.429406482057 - 1188.1940807173264) / 1555.429406482057 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_FromString<Location>.JsonNet_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.331300082313696 < 3.230485233409221. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 79.25737040047642 (T) = (0 -2344.098829067839) / Math.Sqrt((3567.7758366543303 / (299)) + (1888.9663449539648 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.32393879587462276 = (3467.287894592928 - 2344.098829067839) / 3467.287894592928 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.MathBenchmarks.Double

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ILogB - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.MathBenchmarks.Double.ILogB.html>) 11.69 μs 6.68 μs 0.57 0.00 True
[SinPi - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.MathBenchmarks.Double.SinPi.html>) 56.02 μs 51.22 μs 0.91 0.00 True
[SinCosPi - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.MathBenchmarks.Double.SinCosPi.html>) 107.54 μs 98.05 μs 0.91 0.00 True
[CosPi - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.MathBenchmarks.Double.CosPi.html>) 55.17 μs 52.40 μs 0.95 0.00 True
[ScaleB - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.MathBenchmarks.Double.ScaleB.html>) 15.42 μs 10.57 μs 0.69 0.00 True
[Max - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.MathBenchmarks.Double.Max.html>) 4.66 μs 3.35 μs 0.72 0.03 False
[Hypot - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.MathBenchmarks.Double.Hypot.html>) 57.09 μs 49.76 μs 0.87 0.00 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.MathBenchmarks.Double*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.MathBenchmarks.Double.ILogB ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.682111416198216 < 11.101198800324346. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 4670.003215225733 (T) = (0 -6682.045409156711) / Math.Sqrt((333.581818512315 / (299)) + (0.3658765052242118 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.4282846213191985 = (11687.713254408382 - 6682.045409156711) / 11687.713254408382 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.MathBenchmarks.Double.SinPi ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 51.22077532201405 < 53.2142177466518. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 178.07389980757154 (T) = (0 -51194.43928354456) / Math.Sqrt((5900.406197427339 / (299)) + (6931.656169541079 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.08498097918629678 = (55949.043811153395 - 51194.43928354456) / 55949.043811153395 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.MathBenchmarks.Double.SinCosPi ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 98.04975226004464 < 102.09806298587327. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 173.52636045728542 (T) = (0 -97820.7326667264) / Math.Sqrt((8860.949412590237 / (299)) + (33703.724658558545 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08980523978672574 = (107472.30916139895 - 97820.7326667264) / 107472.30916139895 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.MathBenchmarks.Double.CosPi ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 52.3954008361204 < 52.41394833710798. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 201.0070855411366 (T) = (0 -52375.951148024185) / Math.Sqrt((22411.226255866382 / (299)) + (1173.9567018847254 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.05053630172936868 = (55163.72162877064 - 52375.951148024185) / 55163.72162877064 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.MathBenchmarks.Double.ScaleB ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.569157049663302 < 14.64735707370534. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 247.1142895494486 (T) = (0 -10550.547058393397) / Math.Sqrt((67108.59585257701 / (299)) + (1117.7785003853267 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.3004413149828658 = (15081.718352385238 - 10550.547058393397) / 15081.718352385238 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.MathBenchmarks.Double.Max ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.3525935719908393 < 4.429841083387695. IsChangePoint: Marked as a change because one of 2/9/2023 1:41:04 PM, 2/24/2023 9:01:57 AM, 3/9/2023 9:18:02 PM, 4/6/2023 1:55:21 PM, 5/3/2023 7:05:50 AM, 5/8/2023 3:52:55 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.623270299447555 (T) = (0 -3352.499843584008) / Math.Sqrt((430337.82815041626 / (299)) + (3.974748382687025 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.18172873318879276 = (4097.0518941092205 - 3352.499843584008) / 4097.0518941092205 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.MathBenchmarks.Double.Hypot ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 49.75952359788359 < 54.20643993984743. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 131.08352234183207 (T) = (0 -49758.62874607748) / Math.Sqrt((729383.5972485823 / (299)) + (500.4384297004214 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.11617153436617872 = (56298.96601077902 - 49758.62874607748) / 56298.96601077902 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Dictionary(String%2c%20String)).DeserializeFromString(Mode%3a%20SourceGen).html>) 25.16 μs 20.33 μs 0.81 0.04 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Dictionary(String%2c%20String)).DeserializeFromStream(Mode%3a%20SourceGen).html>) 25.65 μs 20.76 μs 0.81 0.10 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Dictionary(String%2c%20String)).DeserializeFromReader(Mode%3a%20SourceGen).html>) 31.15 μs 25.53 μs 0.82 0.02 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Dictionary(String%2c%20String)).DeserializeFromReader(Mode%3a%20Reflection).html>) 30.12 μs 25.71 μs 0.85 0.02 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Dictionary(String%2c%20String)).DeserializeFromString(Mode%3a%20Reflection).html>) 25.13 μs 20.67 μs 0.82 0.03 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Dictionary(String%2c%20String)).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 24.56 μs 19.38 μs 0.79 0.07 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Dictionary(String%2c%20String)).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 25.11 μs 19.93 μs 0.79 0.04 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Dictionary(String%2c%20String)).DeserializeFromStream(Mode%3a%20Reflection).html>) 25.73 μs 20.75 μs 0.81 0.13 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
python3 .\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>>.DeserializeFromString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.327104537611284 < 23.160289588272867. IsChangePoint: Marked as a change because one of 2/8/2023 4:45:44 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 73.94651034373527 (T) = (0 -20397.075003099748) / Math.Sqrt((243571.57474205314 / (299)) + (18198.59402839339 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15264396256951665 = (24071.43408684701 - 20397.075003099748) / 24071.43408684701 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.756782123834885 < 24.089778623528602. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 54.71494676739488 (T) = (0 -20885.18053920527) / Math.Sqrt((354514.431724285 / (299)) + (55671.95642300972 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.17714705370044564 = (25381.425239014887 - 20885.18053920527) / 25381.425239014887 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromReader(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 25.533883656988436 < 29.062583977934278. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 63.84468617900921 (T) = (0 -25668.60417895573) / Math.Sqrt((383901.2667186873 / (299)) + (37632.07795408533 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.145744550164724 = (30047.9255753128 - 25668.60417895573) / 30047.9255753128 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromReader(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 25.711071989074142 < 28.852630901811622. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 32.99673863022681 (T) = (0 -25755.281640129808) / Math.Sqrt((346114.71489312977 / (299)) + (169174.3917900829 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1414490391174827 = (29998.547335682404 - 25755.281640129808) / 29998.547335682404 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.66504762360813 < 23.14792757811726. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 55.927743428298044 (T) = (0 -20683.485218016314) / Math.Sqrt((244080.88364755083 / (299)) + (31878.08964594594 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14147980770593085 = (24092.01950480344 - 20683.485218016314) / 24092.01950480344 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 19.38390541363878 < 22.9732883370016. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 4/17/2023 5:51:51 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 74.30856155058946 (T) = (0 -19604.71967379709) / Math.Sqrt((304251.99834397086 / (299)) + (17026.217800210696 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1610597635916028 = (23368.43415417435 - 19604.71967379709) / 23368.43415417435 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 19.93426553958637 < 22.263313751889505. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 75.6319269410728 (T) = (0 -19832.378254382613) / Math.Sqrt((248775.19879829042 / (299)) + (14857.18517604043 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15122326154910531 = (23365.836215750627 - 19832.378254382613) / 23365.836215750627 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.750302591307896 < 24.43209379237422. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 56.94664021661296 (T) = (0 -21092.43590155875) / Math.Sqrt((465117.2405838107 / (299)) + (49496.32192285075 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17361575658722883 = (25523.7633941954 - 21092.43590155875) / 25523.7633941954 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.IterateForEach<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ImmutableList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(String).ImmutableList(Size%3a%20512).html>) 26.77 μs 21.15 μs 0.79 0.29 False
[HashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(String).HashSet(Size%3a%20512).html>) 2.22 μs 1.51 μs 0.68 0.51 False
[ImmutableStack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(String).ImmutableStack(Size%3a%20512).html>) 2.24 μs 829.96 ns 0.37 0.01 True
[ImmutableSortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(String).ImmutableSortedDictionary(Size%3a%20512).html>) 28.13 μs 25.19 μs 0.90 0.31 False
[Stack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(String).Stack(Size%3a%20512).html>) 3.20 μs 2.61 μs 0.82 0.44 False
[LinkedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(String).LinkedList(Size%3a%20512).html>) 2.68 μs 2.40 μs 0.90 0.52 False
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(String).SortedDictionary(Size%3a%20512).html>) 13.35 μs 12.23 μs 0.92 0.05 False
[SortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(String).SortedSet(Size%3a%20512).html>) 10.76 μs 7.32 μs 0.68 0.04 True
[ImmutableQueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(String).ImmutableQueue(Size%3a%20512).html>) 4.29 μs 1.78 μs 0.41 0.23 False
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(String).Queue(Size%3a%20512).html>) 3.59 μs 2.92 μs 0.81 0.22 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForEach&lt;String&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.IterateForEach<String>.ImmutableList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 21.15436905002243 < 23.673175462308972. IsChangePoint: Marked as a change because one of 3/14/2023 10:43:28 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.78512035968549 (T) = (0 -21176.473301096285) / Math.Sqrt((951465.3602740753 / (299)) + (476343.4646456572 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17465998274010774 = (25657.877793689968 - 21176.473301096285) / 25657.877793689968 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<String>.HashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.5071049983880038 < 2.1127722647686116. IsChangePoint: Marked as a change because one of 3/14/2023 10:43:28 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 89.35273359081135 (T) = (0 -1499.566984369873) / Math.Sqrt((29319.681558829107 / (299)) + (41.45613144751636 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.3759320701490765 = (2402.890635203907 - 1499.566984369873) / 2402.890635203907 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<String>.ImmutableStack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 829.9618840982969 < 2.1516970973947154. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 266.91469838779335 (T) = (0 -812.9339342750026) / Math.Sqrt((478.03800305510555 / (299)) + (303.8364522274421 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6396189951507195 = (2255.762438464231 - 812.9339342750026) / 2255.762438464231 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<String>.ImmutableSortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 25.185308770491805 < 26.553712185574547. IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 5/19/2023 1:23:34 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.427584332810914 (T) = (0 -25035.534096076943) / Math.Sqrt((1224400.812851238 / (299)) + (711999.4004408512 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.11988191182452326 = (28445.653409960814 - 25035.534096076943) / 28445.653409960814 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<String>.Stack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.609982297966412 < 3.0723028334558102. IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 52.810074654475066 (T) = (0 -2617.317035529279) / Math.Sqrt((82155.09503357264 / (299)) + (73.41981100574186 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2528929664282789 = (3503.2691674934163 - 2617.317035529279) / 3503.2691674934163 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<String>.LinkedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.4014644003378374 < 3.76246115628295. IsChangePoint: Marked as a change because one of 5/18/2023 7:10:13 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.74617800964528 (T) = (0 -2323.5346560726443) / Math.Sqrt((463973.3590608586 / (299)) + (1060.3652914192483 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.31795349359507247 = (3406.7100032811745 - 2323.5346560726443) / 3406.7100032811745 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<String>.SortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.226859029715401 < 12.669313868462577. IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 29.82263714989545 (T) = (0 -12104.896993713295) / Math.Sqrt((51667.17548707673 / (299)) + (22483.0365599218 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10393871188303 = (13509.005638611125 - 12104.896993713295) / 13509.005638611125 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<String>.SortedSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.322074968708278 < 10.30588079748384. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 114.49563627002776 (T) = (0 -7335.960065022295) / Math.Sqrt((37868.98649108809 / (299)) + (8882.26366553307 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3229606935125631 = (10835.353272296932 - 7335.960065022295) / 10835.353272296932 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<String>.ImmutableQueue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.7751678920730778 < 4.081533198093934. IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 172.44960775307896 (T) = (0 -1772.8572344954723) / Math.Sqrt((72850.18116908477 / (299)) + (35.09387885134838 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6044687694799896 = (4482.218084687453 - 1772.8572344954723) / 4482.218084687453 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<String>.Queue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.9201651553324144 < 3.4083893744428257. IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 56.92426330101799 (T) = (0 -2905.9407097134867) / Math.Sqrt((50131.2161523124 / (299)) + (227.11121048151062 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21186041357324906 = (3687.088885978147 - 2905.9407097134867) / 3687.088885978147 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.IterateForEach<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ImmutableQueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).ImmutableQueue(Size%3a%20512).html>) 4.63 μs 861.01 ns 0.19 0.20 True
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).ImmutableDictionary(Size%3a%20512).html>) 17.37 μs 13.18 μs 0.76 0.01 True
[ImmutableList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).ImmutableList(Size%3a%20512).html>) 8.24 μs 5.22 μs 0.63 0.01 True
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).Dictionary(Size%3a%20512).html>) 2.25 μs 1.33 μs 0.59 0.03 True
[ConcurrentStack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).ConcurrentStack(Size%3a%20512).html>) 3.46 μs 2.11 μs 0.61 0.04 True
[ImmutableStack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).ImmutableStack(Size%3a%20512).html>) 2.24 μs 823.04 ns 0.37 0.00 True
[ConcurrentQueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).ConcurrentQueue(Size%3a%20512).html>) 7.58 μs 5.07 μs 0.67 0.17 False
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).SortedDictionary(Size%3a%20512).html>) 11.48 μs 9.02 μs 0.79 0.03 False
[ConcurrentBag - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).ConcurrentBag(Size%3a%20512).html>) 2.66 μs 1.75 μs 0.66 0.01 True
[HashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).HashSet(Size%3a%20512).html>) 2.15 μs 856.91 ns 0.40 0.02 True
[ImmutableSortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).ImmutableSortedSet(Size%3a%20512).html>) 10.25 μs 5.67 μs 0.55 0.12 True
[ImmutableSortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).ImmutableSortedDictionary(Size%3a%20512).html>) 7.63 μs 5.01 μs 0.66 0.02 True
[Stack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).Stack(Size%3a%20512).html>) 2.15 μs 1.57 μs 0.73 0.04 True
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).SortedList(Size%3a%20512).html>) 3.36 μs 2.01 μs 0.60 0.00 True
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).Queue(Size%3a%20512).html>) 2.45 μs 1.82 μs 0.74 0.00 True
[SortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).SortedSet(Size%3a%20512).html>) 10.87 μs 5.89 μs 0.54 0.04 True
[ConcurrentDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).ConcurrentDictionary(Size%3a%20512).html>) 13.22 μs 11.72 μs 0.89 0.05 False
[LinkedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).LinkedList(Size%3a%20512).html>) 2.75 μs 1.77 μs 0.65 0.50 False
[IEnumerable - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateForEach(Int32).IEnumerable(Size%3a%20512).html>) 3.16 μs 951.76 ns 0.30 0.39 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForEach&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.IterateForEach<Int32>.ImmutableQueue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 861.0078094643352 < 3.995243853139176. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 186.88013494056878 (T) = (0 -812.5177684888474) / Math.Sqrt((18097.066456282955 / (299)) + (2754.5927055173065 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.808278405063076 = (4238.008601775738 - 812.5177684888474) / 4238.008601775738 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ImmutableDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.178741376210237 < 16.543803749154442. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 36.11410588083411 (T) = (0 -13960.668873058563) / Math.Sqrt((45304.8599571469 / (299)) + (94728.13415305261 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19495031426684753 = (17341.375470937164 - 13960.668873058563) / 17341.375470937164 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ImmutableList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.224297945205481 < 7.832976708870058. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 115.28188188932782 (T) = (0 -5324.588327975521) / Math.Sqrt((15015.874536424679 / (299)) + (6363.713217171513 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3518649306455496 = (8215.244907637645 - 5324.588327975521) / 8215.244907637645 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.Dictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3303325610050567 < 2.14441800645325. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 267.3414367669132 (T) = (0 -1330.7846890732328) / Math.Sqrt((2882.970602033553 / (299)) + (46.17160109718486 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.427701441107322 = (2325.332937493544 - 1330.7846890732328) / 2325.332937493544 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ConcurrentStack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.1114911349620495 < 3.2347418475450684. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 31.08768707415736 (T) = (0 -2016.2368033736705) / Math.Sqrt((3510.985070540749 / (299)) + (21005.017867561375 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.40328398327575393 = (3378.8883603997715 - 2016.2368033736705) / 3378.8883603997715 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ImmutableStack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 823.040143272205 < 2.1333204651560917. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 1175.1929971247052 (T) = (0 -822.8939219973016) / Math.Sqrt((444.6072813019704 / (299)) + (0.009865143678217277 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.635303129673558 = (2256.377800173402 - 822.8939219973016) / 2256.377800173402 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ConcurrentQueue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.07172664353498 < 7.219804420349585. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 107.14961219611692 (T) = (0 -4997.55557139994) / Math.Sqrt((193615.78987070578 / (299)) + (931.0673157432868 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.36715064723997637 = (7896.911878955516 - 4997.55557139994) / 7896.911878955516 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.SortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.017185873816384 < 10.884236891335854. IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 38.59359705858272 (T) = (0 -9144.580026546144) / Math.Sqrt((64074.69165323316 / (299)) + (30676.689343180373 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.1947037008136181 = (11355.54706483219 - 9144.580026546144) / 11355.54706483219 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ConcurrentBag(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.7489365814153777 < 2.527159274472813. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 227.38361692155908 (T) = (0 -1765.8942227852451) / Math.Sqrt((392.4680975360217 / (299)) + (148.0125402083587 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3310294118432436 = (2639.718776950852 - 1765.8942227852451) / 2639.718776950852 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.HashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 856.9117587476981 < 2.028377840705514. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 691.9797421295789 (T) = (0 -857.1786203179189) / Math.Sqrt((973.9830942736812 / (299)) + (0.1350744431955923 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.593455013900643 = (2108.4471574529025 - 857.1786203179189) / 2108.4471574529025 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ImmutableSortedSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.666290824915825 < 9.751639988574153. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 155.22156957640283 (T) = (0 -5556.73264183861) / Math.Sqrt((110134.60682182429 / (299)) + (6929.02568802562 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.46881358453575733 = (10460.984091587085 - 5556.73264183861) / 10460.984091587085 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ImmutableSortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.010435300074619 < 7.270583430118436. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 82.38486786552436 (T) = (0 -5111.87367761989) / Math.Sqrt((8278.14531893278 / (299)) + (9862.902842969343 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3288493721885986 = (7616.581830951318 - 5111.87367761989) / 7616.581830951318 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.Stack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.5720948070059457 < 2.0354423448090357. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 31.58433922574009 (T) = (0 -1614.0489348651563) / Math.Sqrt((1074.7912865510546 / (299)) + (2906.8825157038573 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2513229335083472 = (2155.868006520742 - 1614.0489348651563) / 2155.868006520742 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.007739959403876 < 3.1814197671715876. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 249.90508333182478 (T) = (0 -1996.3874536509056) / Math.Sqrt((657.3048881263882 / (299)) + (288.9469966992063 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.4004348080489253 = (3329.7254084320048 - 1996.3874536509056) / 3329.7254084320048 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.Queue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.8208033746390762 < 2.32608952155029. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 75.48657261198034 (T) = (0 -1824.5356883899542) / Math.Sqrt((502.78204363477107 / (299)) + (682.1851229918118 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.24823526093101378 = (2427.003547212826 - 1824.5356883899542) / 2427.003547212826 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.SortedSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.889724229125223 < 10.321374287796209. IsChangePoint: Marked as a change because one of 3/14/2023 3:18:57 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 172.81280870198898 (T) = (0 -5927.584449115367) / Math.Sqrt((88925.49484854324 / (299)) + (5004.310347949716 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.4443405659242115 = (10667.657355578851 - 5927.584449115367) / 10667.657355578851 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ConcurrentDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.720813935666095 < 12.566563791129557. IsChangePoint: Marked as a change because one of 2/9/2023 1:41:04 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 11.946623874044727 (T) = (0 -12159.74888267126) / Math.Sqrt((17651.509808941646 / (299)) + (109414.17035911078 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08948178750474953 = (13354.756352811217 - 12159.74888267126) / 13354.756352811217 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.LinkedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.7715742309319222 < 2.605426122771202. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 54.48968760095188 (T) = (0 -1790.171657763536) / Math.Sqrt((52167.05843620555 / (299)) + (367.72614999301356 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.30501626892196154 = (2575.8468546978415 - 1790.171657763536) / 2575.8468546978415 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.IEnumerable(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 951.7616850963432 < 3.001632925386751. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 88.99933505881995 (T) = (0 -952.419587647665) / Math.Sqrt((228529.6579578964 / (299)) + (3.1144375396206696 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.7209738279588754 = (3413.3700816685105 - 952.419587647665) / 3413.3700816685105 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[K_Max_Elements - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).K_Max_Elements(Size%3a%20100).html>) 1.36 μs 1.21 μs 0.89 0.01 False
[HeapSort - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).HeapSort(Size%3a%20100).html>) 7.17 μs 5.43 μs 0.76 0.00 True
[HeapSort - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).HeapSort(Size%3a%2010).html>) 303.02 ns 239.95 ns 0.79 0.01 True
[K_Max_Elements - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).K_Max_Elements(Size%3a%201000).html>) 9.26 μs 7.36 μs 0.80 0.06 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Perf_PriorityQueue&lt;Guid, Guid&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.K_Max_Elements(Size: 100) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2119059531792364 < 1.288648630109947. IsChangePoint: Marked as a change because one of 4/8/2023 3:10:58 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 35.60897433123382 (T) = (0 -1228.2697765780154) / Math.Sqrt((622.9772039886267 / (299)) + (218.1316948495615 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11949634400754663 = (1394.9627218680653 - 1228.2697765780154) / 1394.9627218680653 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.HeapSort(Size: 100) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.4326954061456085 < 6.799368627667382. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 148.2214130731115 (T) = (0 -5435.715143233044) / Math.Sqrt((12464.430301170474 / (299)) + (1308.1486377659417 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2568223138053462 = (7314.152785003445 - 5435.715143233044) / 7314.152785003445 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.HeapSort(Size: 10) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 239.95429577538818 < 287.5933064279965. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 52.59348226021543 (T) = (0 -243.6316812933157) / Math.Sqrt((17.34897422327314 / (299)) + (16.216538128372342 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2108689698847957 = (308.7341290555362 - 243.6316812933157) / 308.7341290555362 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.K_Max_Elements(Size: 1000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.364469279290035 < 8.663626397684. IsChangePoint: Marked as a change because one of 4/8/2023 3:10:58 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 57.930080422080025 (T) = (0 -7381.670646810892) / Math.Sqrt((116704.76777575217 / (299)) + (11258.348075361506 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.22784861487198685 = (9559.874901457442 - 7381.670646810892) / 9559.874901457442 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ImmutableDictionary(String%2c%20String)).SerializeToWriter(Mode%3a%20Reflection).html>) 28.30 μs 24.91 μs 0.88 0.26 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ImmutableDictionary(String%2c%20String)).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 29.11 μs 25.53 μs 0.88 0.21 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ImmutableDictionary(String%2c%20String)).SerializeObjectProperty(Mode%3a%20Reflection).html>) 30.46 μs 26.50 μs 0.87 0.20 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ImmutableDictionary(String%2c%20String)).SerializeToString(Mode%3a%20Reflection).html>) 30.28 μs 25.15 μs 0.83 0.17 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ImmutableDictionary(String%2c%20String)).SerializeToStream(Mode%3a%20Reflection).html>) 28.43 μs 24.84 μs 0.87 0.24 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;ImmutableDictionary&lt;String, String&gt;&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 24.90644588397156 < 27.07844044736625. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.624705977184522 (T) = (0 -24253.49248764444) / Math.Sqrt((791952.3885077783 / (299)) + (743027.9342202415 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16144898573040262 = (28923.097193758622 - 24253.49248764444) / 28923.097193758622 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 25.52605679529145 < 27.72104931228488. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.608430690083768 (T) = (0 -24910.953310276753) / Math.Sqrt((813692.4766326856 / (299)) + (525341.0453158452 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15673830386810228 = (29541.18919968154 - 24910.953310276753) / 29541.18919968154 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 26.498228517429656 < 28.84700019766394. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 24.4383034176529 (T) = (0 -26568.82856095368) / Math.Sqrt((1449062.197865579 / (299)) + (370641.24449373834 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15295591156038973 = (31366.52380149147 - 26568.82856095368) / 31366.52380149147 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeToString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 25.147486100838268 < 28.482878527078523. IsChangePoint: Marked as a change because one of 2/20/2023 2:00:07 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.465453651289394 (T) = (0 -26042.843891080905) / Math.Sqrt((603684.6192877981 / (299)) + (637502.2283525062 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.14675030127242134 = (30521.94911983876 - 26042.843891080905) / 30521.94911983876 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeToStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 24.84232661069121 < 27.173532498804107. IsChangePoint: Marked as a change because one of 2/24/2023 4:59:28 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 15.907082606966913 (T) = (0 -24639.063587603392) / Math.Sqrt((711220.9761745506 / (299)) + (811950.4534194507 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1512518937369784 = (29029.889322625368 - 24639.063587603392) / 29029.889322625368 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Concurrent.Count<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Bag - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Concurrent.Count(Int32).Bag(Size%3a%20512).html>) 66.69 ns 53.13 ns 0.80 0.12 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Concurrent.Count&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.Concurrent.Count<Int32>.Bag(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 53.12846424689467 < 62.24431655923468. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 66.02421761097072 (T) = (0 -52.24688945001412) / Math.Sqrt((4.151003356103696 / (299)) + (0.263139679453384 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.20214507151056252 = (65.48419716969362 - 52.24688945001412) / 65.48419716969362 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetHashCodeBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt16).GetHashCodeBenchmark.html>) 36.95 ns 33.53 ns 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Runtime.Intrinsics.Tests.Perf_Vector128Of&lt;UInt16&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.GetHashCodeBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 33.532906675776516 < 35.06673647525302. IsChangePoint: Marked as a change because one of 2/10/2023 6:40:28 PM, 2/13/2023 5:42:59 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 44.286619476817876 (T) = (0 -33.72884100839987) / Math.Sqrt((0.4392290644246966 / (299)) + (0.059620336971859034 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.09827112812075696 = (37.40463687062328 - 33.72884100839987) / 37.40463687062328 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Nullable(DateTimeOffset)).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 171.31 ns 149.67 ns 0.87 0.15 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Nullable(DateTimeOffset)).DeserializeFromReader(Mode%3a%20SourceGen).html>) 297.08 ns 263.44 ns 0.89 0.50 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Nullable(DateTimeOffset)).DeserializeFromReader(Mode%3a%20Reflection).html>) 294.42 ns 268.00 ns 0.91 0.53 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Nullable(DateTimeOffset)).DeserializeFromString(Mode%3a%20SourceGen).html>) 214.71 ns 191.53 ns 0.89 0.06 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Nullable(DateTimeOffset)).DeserializeFromStream(Mode%3a%20Reflection).html>) 468.34 ns 388.36 ns 0.83 0.15 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Nullable(DateTimeOffset)).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 162.79 ns 144.30 ns 0.89 0.11 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Nullable(DateTimeOffset)).DeserializeFromStream(Mode%3a%20SourceGen).html>) 457.77 ns 403.29 ns 0.88 0.10 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Nullable(DateTimeOffset)).DeserializeFromString(Mode%3a%20Reflection).html>) 226.01 ns 193.82 ns 0.86 0.06 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
python3 .\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) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 149.67013249795932 < 159.91077869889762. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.955006471551723 (T) = (0 -147.44957897632642) / Math.Sqrt((22.287533948863857 / (299)) + (6.064638668457445 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.09231224319106472 = (162.44526586400127 - 147.44957897632642) / 162.44526586400127 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>.DeserializeFromReader(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 263.44068125682367 < 271.50646319336954. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 8.575123509124902 (T) = (0 -257.95576297713023) / Math.Sqrt((159.3581766824219 / (299)) + (133.06954530114984 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10565833424159654 = (288.43089040068736 - 257.95576297713023) / 288.43089040068736 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>.DeserializeFromReader(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 267.99741929153174 < 279.6841037838035. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/18/2023 7:10:13 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 8.176147062904196 (T) = (0 -256.6424894321386) / Math.Sqrt((165.39266049665724 / (299)) + (182.77809237814836 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.11235147820547718 = (289.1262511351846 - 256.6424894321386) / 289.1262511351846 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>.DeserializeFromString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 191.53331556917215 < 214.3103390900442. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 44.83475185758697 (T) = (0 -193.34423693287846) / Math.Sqrt((23.070192791878338 / (299)) + (3.622004588345132 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12879455998192585 = (221.92726084087275 - 193.34423693287846) / 221.92726084087275 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>.DeserializeFromStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 388.35786762731493 < 432.2362078193419. IsChangePoint: Marked as a change because one of 2/6/2023 2:52:08 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 31.18233101378508 (T) = (0 -396.8780348099048) / Math.Sqrt((202.3216653963189 / (299)) + (34.466826777246645 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13296866454577322 = (457.7435884736339 - 396.8780348099048) / 457.7435884736339 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>.DeserializeFromUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 144.30374434059706 < 152.6613341275539. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 34.11812193249587 (T) = (0 -144.52064863319146) / Math.Sqrt((21.415455237104748 / (299)) + (1.880029341860696 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.10737403310676993 = (161.90504645097116 - 144.52064863319146) / 161.90504645097116 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>.DeserializeFromStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 403.29209054704626 < 440.30371713001284. IsChangePoint: Marked as a change because one of 2/6/2023 2:52:08 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.197612534275603 (T) = (0 -405.14739486205485) / Math.Sqrt((124.14163588648253 / (299)) + (61.22557242887764 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10867183104899601 = (454.5434655553062 - 405.14739486205485) / 454.5434655553062 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 193.81750518477799 < 214.5324864213693. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 2/14/2023 11:21:41 AM, 2/24/2023 9:01:57 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 44.937723808961024 (T) = (0 -192.13742561761185) / Math.Sqrt((65.37297103987602 / (299)) + (2.918201281950987 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1399336629311922 = (223.398379097635 - 192.13742561761185) / 223.398379097635 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Single

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Single.ToStringWithFormat(value%3a%20-3.4028235E%2b38%2c%20format%3a%20%22F50%22).html>) 1.43 μs 1.30 μs 0.91 0.00 False
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Single.TryParse(value%3a%20%223.4028235E%2b38%22).html>) 127.28 ns 94.67 ns 0.74 0.03 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Single.Parse(value%3a%20%22-3.4028235E%2b38%22).html>) 134.02 ns 97.52 ns 0.73 0.01 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Single.ToStringWithFormat(value%3a%2012345%2c%20format%3a%20%22G%22).html>) 141.75 ns 130.47 ns 0.92 0.01 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Single.ToStringWithFormat(value%3a%203.4028235E%2b38%2c%20format%3a%20%22E%22).html>) 158.17 ns 145.17 ns 0.92 0.01 False
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Single.TryParse(value%3a%20%2212345%22).html>) 76.53 ns 63.81 ns 0.83 0.03 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Single.ToStringWithFormat(value%3a%2012345%2c%20format%3a%20%22F50%22).html>) 334.44 ns 284.44 ns 0.85 0.01 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Single.ToStringWithFormat(value%3a%2012345%2c%20format%3a%20%22E%22).html>) 166.48 ns 145.78 ns 0.88 0.01 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Single.ToStringWithFormat(value%3a%20-3.4028235E%2b38%2c%20format%3a%20%22E%22).html>) 160.14 ns 145.15 ns 0.91 0.00 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Single.ToStringWithFormat(value%3a%203.4028235E%2b38%2c%20format%3a%20%22G17%22).html>) 207.81 ns 194.97 ns 0.94 0.01 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Single.ToString(value%3a%2012345).html>) 141.56 ns 128.54 ns 0.91 0.02 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Single.Parse(value%3a%20%2212345%22).html>) 79.61 ns 64.86 ns 0.81 0.02 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Single.Parse(value%3a%20%223.4028235E%2b38%22).html>) 126.50 ns 95.99 ns 0.76 0.03 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Single.ToStringWithFormat(value%3a%2012345%2c%20format%3a%20%22G17%22).html>) 198.91 ns 159.29 ns 0.80 0.01 False
[ToStringWithCultureInfo - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Single.ToStringWithCultureInfo(value%3a%20-3.4028235E%2b38%2c%20culture%3a%20zh).html>) 172.19 ns 162.36 ns 0.94 0.00 False
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Single.TryParse(value%3a%20%22-3.4028235E%2b38%22).html>) 134.33 ns 95.45 ns 0.71 0.02 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Single.ToStringWithFormat(value%3a%203.4028235E%2b38%2c%20format%3a%20%22F50%22).html>) 1.45 μs 1.30 μs 0.90 0.00 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Single*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_Single.ToStringWithFormat(value: -3.4028235E+38, format: "F50") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3040136114540466 < 1.3629407128097006. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/3/2023 7:05:50 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 45.213238442718705 (T) = (0 -1295.9527844454235) / Math.Sqrt((616.7829015661018 / (299)) + (27.07594638404546 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.07080460536292793 = (1394.7042698716782 - 1295.9527844454235) / 1394.7042698716782 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.TryParse(value: "3.4028235E+38") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 94.67319889939661 < 120.80314231381138. IsChangePoint: Marked as a change because one of 2/16/2023 5:39:51 AM, 3/13/2023 2:14:21 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 36.07476725768335 (T) = (0 -94.9196389424961) / Math.Sqrt((80.66490718078855 / (299)) + (0.33070324154923386 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.172262053963859 = (114.67353816149887 - 94.9196389424961) / 114.67353816149887 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.Parse(value: "-3.4028235E+38") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 97.51619164086621 < 127.15137586623177. IsChangePoint: Marked as a change because one of 4/10/2023 1:33:42 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 55.9937453313703 (T) = (0 -97.60920312154472) / Math.Sqrt((42.3807100727415 / (299)) + (1.0092905999563084 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21703511680534246 = (124.66613154255288 - 97.60920312154472) / 124.66613154255288 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.ToStringWithFormat(value: 12345, format: "G") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 130.47110307259038 < 130.83015152899623. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/25/2023 6:46:56 PM, 5/11/2023 10:01:37 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.802585772623516 (T) = (0 -129.70083460728165) / Math.Sqrt((6.17626518197417 / (299)) + (0.8982321134115206 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.059826775300315854 = (137.95418886632459 - 129.70083460728165) / 137.95418886632459 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.ToStringWithFormat(value: 3.4028235E+38, format: "E") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 145.16668490650727 < 151.65914974177352. IsChangePoint: Marked as a change because one of 4/8/2023 3:10:58 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 57.50357314911025 (T) = (0 -142.52008043557942) / Math.Sqrt((12.295647321179375 / (299)) + (1.1561851466250666 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13366650014485343 = (164.50948792746578 - 142.52008043557942) / 164.50948792746578 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.TryParse(value: "12345") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 63.812442610962734 < 71.85678391036993. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.719884094105694 (T) = (0 -63.65137447922398) / Math.Sqrt((7.684727067640679 / (299)) + (1.8017005573502671 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10808655741182593 = (71.36496821319233 - 63.65137447922398) / 71.36496821319233 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.ToStringWithFormat(value: 12345, format: "F50") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 284.4402713377388 < 319.14706817054474. IsChangePoint: Marked as a change because one of 2/17/2023 12:28:21 PM, 4/10/2023 1:33:42 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 48.3766803554197 (T) = (0 -286.30345183396724) / Math.Sqrt((127.90789294352419 / (299)) + (3.5901759806262303 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12796126078181214 = (328.31506096925 - 286.30345183396724) / 328.31506096925 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.ToStringWithFormat(value: 12345, format: "E") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 145.78076327091537 < 157.60718449971296. IsChangePoint: Marked as a change because one of 4/8/2023 3:10:58 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 86.44674764693096 (T) = (0 -144.56372774525323) / Math.Sqrt((11.525292739465153 / (299)) + (0.6823006146733097 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15940989793494817 = (171.97886031504294 - 144.56372774525323) / 171.97886031504294 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.ToStringWithFormat(value: -3.4028235E+38, format: "E") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 145.15082427325194 < 152.59222894422192. IsChangePoint: Marked as a change because one of 4/8/2023 3:10:58 PM, 4/26/2023 12:55:36 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.19365614040927 (T) = (0 -144.98153082357015) / Math.Sqrt((13.03648938243193 / (299)) + (2.575488221337652 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.12918699682688686 = (166.4898552218203 - 144.98153082357015) / 166.4898552218203 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.ToStringWithFormat(value: 3.4028235E+38, format: "G17") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 194.97268508711116 < 197.267682884287. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 54.445678704578846 (T) = (0 -195.59667093667542) / Math.Sqrt((14.315687245210261 / (299)) + (0.5277404035426586 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.07934274410819525 = (212.45329864609448 - 195.59667093667542) / 212.45329864609448 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.ToString(value: 12345) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 128.54324480564486 < 133.37397234165897. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 30.209753306938083 (T) = (0 -128.8595889095337) / Math.Sqrt((13.739951682235095 / (299)) + (0.5590442972779169 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.06797366909031916 = (138.25745543450853 - 128.8595889095337) / 138.25745543450853 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.Parse(value: "12345") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 64.86187758002391 < 75.36605001686428. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.809627292557234 (T) = (0 -65.52952506214288) / Math.Sqrt((8.822158313850943 / (299)) + (1.3988854788184226 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10202571119125947 = (72.97483444551051 - 65.52952506214288) / 72.97483444551051 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.Parse(value: "3.4028235E+38") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 95.99491003787877 < 120.10168128341301. IsChangePoint: Marked as a change because one of 2/16/2023 5:39:51 AM, 3/13/2023 2:14:21 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 36.72695672866909 (T) = (0 -95.91103283800773) / Math.Sqrt((71.76216471675615 / (299)) + (0.10784697711736632 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16064533132209283 = (114.26758725138217 - 95.91103283800773) / 114.26758725138217 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.ToStringWithFormat(value: 12345, format: "G17") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 159.29382399170015 < 186.6800953877478. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 90.28035237070996 (T) = (0 -159.15228942426222) / Math.Sqrt((63.36869859252354 / (299)) + (0.9112456462879134 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23546392082241194 = (208.16844849946446 - 159.15228942426222) / 208.16844849946446 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.ToStringWithCultureInfo(value: -3.4028235E+38, culture: zh) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 162.35633530275774 < 163.43714554289082. IsChangePoint: Marked as a change because one of 4/6/2023 1:55:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 52.2640715830038 (T) = (0 -163.39736914981097) / Math.Sqrt((13.416861858212508 / (299)) + (0.30236030532331704 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.07922465986917789 = (177.45628279597037 - 163.39736914981097) / 177.45628279597037 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.TryParse(value: "-3.4028235E+38") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 95.44642432915023 < 128.24189134935324. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 59.68961761608152 (T) = (0 -96.2260726957356) / Math.Sqrt((42.34404755038778 / (299)) + (1.0134497796756936 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23071251363707754 = (125.08467172744255 - 96.2260726957356) / 125.08467172744255 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.ToStringWithFormat(value: 3.4028235E+38, format: "F50") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3023658191541432 < 1.3712451563329338. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/3/2023 7:05:50 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 45.34211413538813 (T) = (0 -1300.3384523389575) / Math.Sqrt((641.1717399559165 / (299)) + (23.591743844607336 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.06735131462314599 = (1394.2425188896627 - 1300.3384523389575) / 1394.2425188896627 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ImmutableSortedDictionary(String%2c%20String)).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 11.93 μs 10.74 μs 0.90 0.01 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ImmutableSortedDictionary(String%2c%20String)).SerializeToString(Mode%3a%20SourceGen).html>) 11.54 μs 10.45 μs 0.91 0.01 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ImmutableSortedDictionary(String%2c%20String)).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 21.80 μs 16.08 μs 0.74 0.32 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ImmutableSortedDictionary(String%2c%20String)).SerializeToWriter(Mode%3a%20Reflection).html>) 19.67 μs 16.66 μs 0.85 0.31 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ImmutableSortedDictionary(String%2c%20String)).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 10.55 μs 9.48 μs 0.90 0.01 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ImmutableSortedDictionary(String%2c%20String)).SerializeToStream(Mode%3a%20SourceGen).html>) 10.42 μs 9.09 μs 0.87 0.01 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ImmutableSortedDictionary(String%2c%20String)).SerializeToStream(Mode%3a%20Reflection).html>) 19.65 μs 16.96 μs 0.86 0.32 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ImmutableSortedDictionary(String%2c%20String)).SerializeToString(Mode%3a%20Reflection).html>) 21.28 μs 17.31 μs 0.81 0.34 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ImmutableSortedDictionary(String%2c%20String)).SerializeObjectProperty(Mode%3a%20Reflection).html>) 21.89 μs 18.46 μs 0.84 0.18 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;ImmutableSortedDictionary&lt;String, String&gt;&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeObjectProperty(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.73551818878098 < 11.307219116731371. IsChangePoint: Marked as a change because one of 2/6/2023 2:52:08 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 141.46568256899988 (T) = (0 -10723.955734161353) / Math.Sqrt((25382.650939867333 / (299)) + (255.7767196140679 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.12176635715093806 = (12210.823192074447 - 10723.955734161353) / 12210.823192074447 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.452169490359772 < 10.944585219657284. IsChangePoint: Marked as a change because one of 2/6/2023 2:52:08 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 83.84911195911951 (T) = (0 -10388.711156472253) / Math.Sqrt((18009.42637734835 / (299)) + (2426.8658376696667 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1191468200136697 = (11793.919114458407 - 10388.711156472253) / 11793.919114458407 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.076388456894026 < 19.19270910950954. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.57319616028498 (T) = (0 -16404.25181396087) / Math.Sqrt((559635.0875010781 / (299)) + (292712.0521567596 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21469037738806623 = (20888.896992501446 - 16404.25181396087) / 20888.896992501446 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.65667461599576 < 18.669494496909966. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 47.292790967835195 (T) = (0 -15868.028582333041) / Math.Sqrt((627656.0257979571 / (299)) + (76280.10734291056 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2207428088804103 = (20363.018478578062 - 15868.028582333041) / 20363.018478578062 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.480620323665404 < 9.98680468491065. IsChangePoint: Marked as a change because one of 2/6/2023 2:52:08 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 92.09178802082567 (T) = (0 -9452.354388335983) / Math.Sqrt((15015.601149379445 / (299)) + (1747.1562518647177 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12347328683276755 = (10783.87486238833 - 9452.354388335983) / 10783.87486238833 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.087808733177296 < 9.671734894744555. IsChangePoint: Marked as a change because one of 2/6/2023 2:52:08 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 74.70698694019809 (T) = (0 -9100.519151376046) / Math.Sqrt((15265.529107472847 / (299)) + (3111.9167456191767 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1304475649083032 = (10465.75086690013 - 9100.519151376046) / 10465.75086690013 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.956280306731816 < 18.713848845928098. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.04343187595977 (T) = (0 -16514.452396800294) / Math.Sqrt((569709.17262787 / (299)) + (264087.9516198722 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19621477068648227 = (20545.85204421417 - 16514.452396800294) / 20545.85204421417 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 17.31116518352075 < 20.02557428236743. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 27.94335754012203 (T) = (0 -17745.843606256363) / Math.Sqrt((767600.3510414045 / (299)) + (217706.7951883299 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.19720874327793728 = (22105.177974553124 - 17745.843606256363) / 22105.177974553124 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.46016804728713 < 20.785028514085347. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 34.572837241340885 (T) = (0 -17744.307621230313) / Math.Sqrt((643153.04153489 / (299)) + (169308.273573683 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20512654429557836 = (22323.43713818598 - 17744.307621230313) / 22323.43713818598 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Sort<BigStruct>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Array_ComparerClass - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Sort(BigStruct).Array_ComparerClass(Size%3a%20512).html>) 44.22 μs 35.05 μs 0.79 0.05 False
[LinqOrderByExtension - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Sort(BigStruct).LinqOrderByExtension(Size%3a%20512).html>) 55.61 μs 47.62 μs 0.86 0.02 False
[LinqQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Sort(BigStruct).LinqQuery(Size%3a%20512).html>) 55.56 μs 44.12 μs 0.79 0.03 True
[Array_Comparison - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Sort(BigStruct).Array_Comparison(Size%3a%20512).html>) 41.16 μs 35.87 μs 0.87 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Sort&lt;BigStruct&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.Sort<BigStruct>.Array_ComparerClass(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 35.048113 < 40.314349245904765. IsChangePoint: Marked as a change because one of 2/6/2023 2:52:08 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 115.57314964287097 (T) = (0 -35128.38477016317) / Math.Sqrt((619479.374276929 / (299)) + (23656.77979958238 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17613219546400613 = (42638.375449017134 - 35128.38477016317) / 42638.375449017134 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Sort<BigStruct>.LinqOrderByExtension(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 47.62328534285714 < 52.86950544008242. IsChangePoint: Marked as a change because one of 4/12/2023 2:59:13 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 28.235817901303697 (T) = (0 -47190.80603549784) / Math.Sqrt((855067.064222029 / (299)) + (1207954.152860263 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1672509315741835 = (56668.69868099014 - 47190.80603549784) / 56668.69868099014 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Sort<BigStruct>.LinqQuery(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 44.12403304615384 < 52.74894219178571. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.77302107003386 (T) = (0 -46447.622627052944) / Math.Sqrt((951291.1211959862 / (299)) + (2876083.7044866523 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17965417570603787 = (56619.56366637022 - 46447.622627052944) / 56619.56366637022 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Sort<BigStruct>.Array_Comparison(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 35.86679404 < 39.09363850533333. IsChangePoint: Marked as a change because one of 2/6/2023 2:52:08 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 112.75913120136055 (T) = (0 -35773.218112560775) / Math.Sqrt((703571.3522094918 / (299)) + (11855.927238715394 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15585306459867024 = (42377.951766836944 - 35773.218112560775) / 42377.951766836944 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.MathBenchmarks.Single

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[TanPi - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.MathBenchmarks.Single.TanPi.html>) 52.65 μs 47.18 μs 0.90 0.00 True
[Hypot - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.MathBenchmarks.Single.Hypot.html>) 21.70 μs 16.67 μs 0.77 0.00 True
[SinPi - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.MathBenchmarks.Single.SinPi.html>) 49.17 μs 44.59 μs 0.91 0.00 True
[CosPi - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.MathBenchmarks.Single.CosPi.html>) 48.95 μs 46.22 μs 0.94 0.00 True
[ScaleB - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.MathBenchmarks.Single.ScaleB.html>) 15.85 μs 10.52 μs 0.66 0.01 True
[ILogB - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.MathBenchmarks.Single.ILogB.html>) 11.69 μs 6.68 μs 0.57 0.00 True
[SinCosPi - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.MathBenchmarks.Single.SinCosPi.html>) 94.77 μs 84.68 μs 0.89 0.00 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.MathBenchmarks.Single*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.MathBenchmarks.Single.TanPi ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 47.17651120105422 < 50.01964445730231. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 64.12444371220202 (T) = (0 -47405.25253674657) / Math.Sqrt((7744.943616161371 / (299)) + (75408.27784825223 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10088874006768835 = (52724.5677473947 - 47405.25253674657) / 52724.5677473947 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.MathBenchmarks.Single.Hypot ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.673369042066454 < 20.61969536040999. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 770.726891966673 (T) = (0 -16672.826604711354) / Math.Sqrt((12941.817802685064 / (299)) + (2.869477434792287 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23374050064639504 = (21758.720927800678 - 16672.826604711354) / 21758.720927800678 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.MathBenchmarks.Single.SinPi ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 44.59235282526116 < 46.71803559954328. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 83.74986777599648 (T) = (0 -44695.68343060329) / Math.Sqrt((6759.635049515405 / (299)) + (30986.75025523149 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.09078470748399457 = (49158.5258172684 - 44695.68343060329) / 49158.5258172684 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.MathBenchmarks.Single.CosPi ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 46.215171349557515 < 46.43096176529948. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 178.41959407243965 (T) = (0 -46185.74595089028) / Math.Sqrt((37358.348991305844 / (299)) + (1684.3670930759286 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.060519891787616915 = (49160.96205461045 - 46185.74595089028) / 49160.96205461045 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.MathBenchmarks.Single.ScaleB ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.524636205637917 < 15.074417848528446. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 379.7283114528724 (T) = (0 -10521.815740992497) / Math.Sqrt((52377.02227800273 / (299)) + (26.680598682646938 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.32475938376299884 = (15582.32056541378 - 10521.815740992497) / 15582.32056541378 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.MathBenchmarks.Single.ILogB ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.682908037496436 < 11.101057791714524. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 8619.259895088593 (T) = (0 -6682.418929770649) / Math.Sqrt((85.25065305354485 / (299)) + (0.4667340957911341 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.4281633079750324 = (11685.886937592455 - 6682.418929770649) / 11685.886937592455 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.MathBenchmarks.Single.SinCosPi ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 84.6803901449693 < 89.9981427661425. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 221.47826035944658 (T) = (0 -84803.45378586848) / Math.Sqrt((38218.52081429955 / (299)) + (19807.755407211516 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10289060851510895 = (94529.66894650631 - 84803.45378586848) / 94529.66894650631 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Nullable(DateTimeOffset)).SerializeToStream(Mode%3a%20Reflection).html>) 342.61 ns 260.60 ns 0.76 0.32 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Nullable(DateTimeOffset)).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 440.65 ns 332.98 ns 0.76 0.12 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Nullable(DateTimeOffset)).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 231.68 ns 186.47 ns 0.80 0.11 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Nullable(DateTimeOffset)).SerializeToStream(Mode%3a%20SourceGen).html>) 330.93 ns 281.04 ns 0.85 0.29 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Nullable(DateTimeOffset)).SerializeObjectProperty(Mode%3a%20Reflection).html>) 426.73 ns 338.13 ns 0.79 0.13 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Nullable(DateTimeOffset)).SerializeToWriter(Mode%3a%20Reflection).html>) 130.62 ns 105.84 ns 0.81 0.01 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Nullable(DateTimeOffset)).SerializeToString(Mode%3a%20SourceGen).html>) 262.14 ns 203.39 ns 0.78 0.06 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Nullable(DateTimeOffset)).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 230.55 ns 180.26 ns 0.78 0.18 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Nullable(DateTimeOffset)).SerializeToWriter(Mode%3a%20SourceGen).html>) 131.40 ns 104.17 ns 0.79 0.01 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Nullable(DateTimeOffset)).SerializeToString(Mode%3a%20Reflection).html>) 282.28 ns 207.09 ns 0.73 0.11 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;Nullable&lt;DateTimeOffset&gt;&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeToStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 260.60181335254117 < 335.1596987586383. IsChangePoint: Marked as a change because one of 3/13/2023 3:41:35 AM, 5/10/2023 2:36:50 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.121533994795975 (T) = (0 -274.66085398191717) / Math.Sqrt((166.3420367624602 / (299)) + (113.04983987145867 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17841683881302084 = (334.30681999994005 - 274.66085398191717) / 334.30681999994005 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeObjectProperty(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 332.9763821484356 < 409.3365101485555. IsChangePoint: Marked as a change because one of 2/9/2023 1:41:04 PM, 4/19/2023 10:34:24 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 34.99320577026857 (T) = (0 -329.9571189064394) / Math.Sqrt((201.90143863059447 / (299)) + (45.816641567716225 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.19559823025984022 = (410.1894492512406 - 329.9571189064394) / 410.1894492512406 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeToUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 186.47063867118246 < 227.7859634206173. IsChangePoint: Marked as a change because one of 3/13/2023 3:41:35 AM, 4/17/2023 8:43:19 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 33.24212753658041 (T) = (0 -182.0608761741509) / Math.Sqrt((68.10719887346097 / (299)) + (16.459892008389314 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19338557099940243 = (225.70991743815685 - 182.0608761741509) / 225.70991743815685 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeToStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 281.04343568304836 < 320.39143568980313. IsChangePoint: Marked as a change because one of 2/6/2023 2:52:08 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.710656407044993 (T) = (0 -271.604085041237) / Math.Sqrt((120.16467472348238 / (299)) + (126.62454503654138 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.18371844359542633 = (332.7333355877293 - 271.604085041237) / 332.7333355877293 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 338.1250692516759 < 407.4323957674598. IsChangePoint: Marked as a change because one of 2/9/2023 1:41:04 PM, 4/17/2023 2:42:45 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 21.661379549401033 (T) = (0 -336.63820428619505) / Math.Sqrt((259.663918327795 / (299)) + (118.55509248773134 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1800529390933572 = (410.5609012293586 - 336.63820428619505) / 410.5609012293586 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 105.83986495100267 < 124.20978053355184. IsChangePoint: Marked as a change because one of 3/13/2023 2:14:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 60.667220859221096 (T) = (0 -104.69076546602922) / Math.Sqrt((14.908819269014339 / (299)) + (1.6069874651880618 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20415091946309633 = (131.54600291226282 - 104.69076546602922) / 131.54600291226282 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeToString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 203.38839725362007 < 245.91088803614613. IsChangePoint: Marked as a change because one of 3/18/2023 7:37:20 PM, 4/19/2023 4:06:12 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.431654552802684 (T) = (0 -211.95766669668794) / Math.Sqrt((45.056334976473686 / (299)) + (47.142749783817365 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16876853032657121 = (254.99235102342925 - 211.95766669668794) / 254.99235102342925 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 180.26181193293067 < 218.35615287105108. IsChangePoint: Marked as a change because one of 2/15/2023 3:19:23 AM, 4/19/2023 10:34:24 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 28.381843155643853 (T) = (0 -183.36985966751894) / Math.Sqrt((90.3335555790912 / (299)) + (21.97864176810151 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19011509472767488 = (226.41471457707996 - 183.36985966751894) / 226.41471457707996 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeToWriter(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 104.17122305331725 < 123.4786086803885. IsChangePoint: Marked as a change because one of 3/13/2023 2:14:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 55.1128689405935 (T) = (0 -105.2030680627358) / Math.Sqrt((15.58186179443758 / (299)) + (1.8845015800831697 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19847798534284872 = (131.25412170710757 - 105.2030680627358) / 131.25412170710757 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeToString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 207.09302641500196 < 246.7352658280151. IsChangePoint: Marked as a change because one of 3/13/2023 2:14:21 PM, 4/19/2023 10:34:24 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 33.81707128866889 (T) = (0 -208.43114494068908) / Math.Sqrt((68.94923110627033 / (299)) + (17.842863817809686 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.18719174909161665 = (256.43335277139386 - 208.43114494068908) / 256.43335277139386 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_EnumerateObject.Parse(TestCase%3a%20StringProperties).html>) 21.20 μs 15.41 μs 0.73 0.01 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_EnumerateObject.Parse(TestCase%3a%20NumericProperties).html>) 27.09 μs 17.95 μs 0.66 0.01 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Document.Tests.Perf_EnumerateObject.Parse(TestCase%3a%20ObjectProperties).html>) 881.42 μs 681.84 μs 0.77 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
python3 .\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: StringProperties) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.413349013806707 < 20.127165309086127. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 273.89363891565876 (T) = (0 -15406.236101762326) / Math.Sqrt((107856.06321375132 / (299)) + (125.55511344894062 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2553732019219088 = (20689.875977504948 - 15406.236101762326) / 20689.875977504948 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_EnumerateObject.Parse(TestCase: NumericProperties) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 17.95228338859416 < 25.74343837084057. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 292.32517547024554 (T) = (0 -17946.423880714166) / Math.Sqrt((178919.72510561388 / (299)) + (2900.598547498037 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3235285896608932 = (26529.463930660197 - 17946.423880714166) / 26529.463930660197 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_EnumerateObject.Parse(TestCase: ObjectProperties) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 681.8379443840581 < 838.1187061631942. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 285.0996413939413 (T) = (0 -682751.2081275879) / Math.Sqrt((117462315.9295971 / (299)) + (346278.977835181 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.21446516345539282 = (869154.5891597354 - 682751.2081275879) / 869154.5891597354 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.WriteJson<StructRecord>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(StructRecord).SerializeObjectProperty(Mode%3a%20Reflection).html>) 812.02 ns 644.89 ns 0.79 0.13 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(StructRecord).SerializeToStream(Mode%3a%20Reflection).html>) 593.61 ns 524.22 ns 0.88 0.20 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(StructRecord).SerializeToString(Mode%3a%20Reflection).html>) 534.52 ns 438.69 ns 0.82 0.08 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(StructRecord).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 641.46 ns 581.37 ns 0.91 0.10 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(StructRecord).SerializeToWriter(Mode%3a%20Reflection).html>) 398.93 ns 287.83 ns 0.72 0.07 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(StructRecord).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 333.99 ns 300.11 ns 0.90 0.04 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(StructRecord).SerializeToWriter(Mode%3a%20SourceGen).html>) 226.50 ns 204.79 ns 0.90 0.01 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(StructRecord).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 481.88 ns 421.97 ns 0.88 0.14 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;StructRecord&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 644.8888130056931 < 771.862413416502. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 32.821151052294574 (T) = (0 -651.3593636634616) / Math.Sqrt((554.0865406024687 / (299)) + (283.0483733618151 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20926593402612964 = (823.7401064304034 - 651.3593636634616) / 823.7401064304034 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeToStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 524.2214589572027 < 587.1066663938047. IsChangePoint: Marked as a change because one of 3/5/2023 4:40:20 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 21.02120498037141 (T) = (0 -529.9769024710932) / Math.Sqrt((386.6577358715143 / (299)) + (247.9142836588237 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16221870350227874 = (632.5957677577907 - 529.9769024710932) / 632.5957677577907 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeToString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 438.6942245231212 < 509.87585030548695. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 46.660160208634565 (T) = (0 -437.5945749802453) / Math.Sqrt((145.01061154168747 / (299)) + (59.70479529472155 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.21316725090519487 = (556.146875538247 - 437.5945749802453) / 556.146875538247 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeObjectProperty(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 581.3747672788204 < 612.2754720165714. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 23.200237921779152 (T) = (0 -567.400570392146) / Math.Sqrt((255.92768567553304 / (299)) + (208.70794636627525 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15403211546121442 = (670.7117146669084 - 567.400570392146) / 670.7117146669084 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 287.82839349908716 < 378.4569116261215. IsChangePoint: Marked as a change because one of 3/15/2023 4:14:49 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 57.78016215920736 (T) = (0 -294.2210536040017) / Math.Sqrt((173.64760197554867 / (299)) + (44.69291126528752 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.29735513817681514 = (418.73365848086166 - 294.2210536040017) / 418.73365848086166 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeToUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 300.10796112927267 < 316.88774922155636. IsChangePoint: Marked as a change because one of 3/17/2023 5:40:49 AM, 4/10/2023 1:33:42 PM, 4/25/2023 1:02:54 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 30.29291129899993 (T) = (0 -303.89838949776447) / Math.Sqrt((90.20223810238996 / (299)) + (13.160124538377872 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10873811102192626 = (340.9754116674014 - 303.89838949776447) / 340.9754116674014 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeToWriter(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 204.7887138856563 < 216.244126272416. IsChangePoint: Marked as a change because one of 3/20/2023 7:45:43 PM, 4/12/2023 8:39:35 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 40.13164414537889 (T) = (0 -203.46324761978937) / Math.Sqrt((38.8372864616723 / (299)) + (5.735092681326501 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13731863668130287 = (235.84982389914538 - 203.46324761978937) / 235.84982389914538 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 421.96508766006014 < 463.6120474039367. IsChangePoint: Marked as a change because one of 3/8/2023 2:17:54 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 38.7096470600937 (T) = (0 -399.4929884862164) / Math.Sqrt((308.07965913447003 / (299)) + (81.05731515947384 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21925069121406351 = (511.67895250195886 - 399.4929884862164) / 511.67895250195886 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_DateTimeOffset

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetNow - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_DateTimeOffset.GetNow.html>) 159.29 ns 129.21 ns 0.81 0.03 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_DateTimeOffset.ToString(format%3a%20%22G%22).html>) 235.00 ns 179.89 ns 0.77 0.02 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_DateTimeOffset.ToString(format%3a%20%22r%22).html>) 48.69 ns 43.46 ns 0.89 0.09 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_DateTimeOffset.Parse(value%3a%20%2212%2f30%2f2017%203%3a45%3a22%20AM%20-08%3a00%22).html>) 557.47 ns 505.65 ns 0.91 0.00 False
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_DateTimeOffset.TryParse(value%3a%20%2212%2f30%2f2017%203%3a45%3a22%20AM%20-08%3a00%22).html>) 547.54 ns 503.01 ns 0.92 0.01 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_DateTimeOffset*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_DateTimeOffset.GetNow ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 129.20523434385942 < 152.43566172240676. IsChangePoint: Marked as a change because one of 3/11/2023 9:11:51 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 31.263288405966254 (T) = (0 -129.22171432714165) / Math.Sqrt((148.9881372127599 / (299)) + (0.2509249589330325 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1486799264448284 = (151.78981248204664 - 129.22171432714165) / 151.78981248204664 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTimeOffset.ToString(format: "G") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 179.88533763429365 < 224.64404331563466. IsChangePoint: Marked as a change because one of 5/2/2023 12:51:17 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 58.85490771603831 (T) = (0 -180.44481372113955) / Math.Sqrt((54.63872368359414 / (299)) + (10.679819925868847 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.25943780526592436 = (243.65922943978322 - 180.44481372113955) / 243.65922943978322 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTimeOffset.ToString(format: "r") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 43.45629013538678 < 46.39552095117953. IsChangePoint: Marked as a change because one of 4/9/2023 1:38:49 AM, 4/26/2023 12:55:36 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 23.657544131467596 (T) = (0 -43.99770413787974) / Math.Sqrt((1.1170480925517854 / (299)) + (0.47200254259408014 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1040468088658178 = (49.10714596839963 - 43.99770413787974) / 49.10714596839963 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTimeOffset.Parse(value: "12/30/2017 3:45:22 AM -08:00") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 505.65172638559824 < 521.7339575546125. IsChangePoint: Marked as a change because one of 4/8/2023 3:10:58 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 24.21572941880301 (T) = (0 -505.41057998531454) / Math.Sqrt((129.15513238090932 / (299)) + (37.084552966682885 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.09274796365802945 = (557.0784740512945 - 505.41057998531454) / 557.0784740512945 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTimeOffset.TryParse(value: "12/30/2017 3:45:22 AM -08:00") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 503.01308649830327 < 515.967265701. IsChangePoint: Marked as a change because one of 4/3/2023 12:37:39 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.779594097496897 (T) = (0 -505.02500222182334) / Math.Sqrt((92.9614564555451 / (299)) + (57.2081708477144 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.08774852690126163 = (553.6028355277443 - 505.02500222182334) / 553.6028355277443 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Formats.Cbor.Tests.Perf_CborReader

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SkipValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding%3a%20(Map%2c%20Lax)).html>) 683.47 ns 584.42 ns 0.86 0.00 True
[SkipValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding%3a%20(Map%2c%20Strict)).html>) 1.10 μs 937.32 ns 0.85 0.01 True
[ReadCoseKey - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Formats.Cbor.Tests.Perf_CborReader.ReadCoseKey(publicKey%3a%20ECDSA_P384).html>) 723.01 ns 594.77 ns 0.82 0.46 False
[SkipValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding%3a%20(Byte%20String%2c%20Strict)).html>) 58.83 ns 52.36 ns 0.89 0.10 False
[SkipValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding%3a%20(Map%2c%20Canonical)).html>) 770.65 ns 646.79 ns 0.84 0.00 True
[ReadCoseKey - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Formats.Cbor.Tests.Perf_CborReader.ReadCoseKey(publicKey%3a%20ECDSA_P256).html>) 700.20 ns 591.56 ns 0.84 0.39 False
[SkipValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding%3a%20(Array%2c%20Strict)).html>) 286.41 ns 239.70 ns 0.84 0.03 True
[SkipValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding%3a%20(Text%20String%2c%20Strict)).html>) 73.44 ns 61.20 ns 0.83 0.07 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Formats.Cbor.Tests.Perf_CborReader*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding: (Map, Lax)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 584.4212701537132 < 647.6156643648417. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 57.509817143002685 (T) = (0 -580.987762714566) / Math.Sqrt((43.72556771497061 / (299)) + (39.29698148856307 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16028783538875296 = (691.8891820312499 - 580.987762714566) / 691.8891820312499 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding: (Map, Strict)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 937.323754258037 < 1.0329458839106007. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 29.452984505603624 (T) = (0 -929.5900833238101) / Math.Sqrt((170.04651793091912 / (299)) + (375.5634082797757 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15730448506904718 = (1103.1150241733244 - 929.5900833238101) / 1103.1150241733244 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Formats.Cbor.Tests.Perf_CborReader.ReadCoseKey(publicKey: ECDSA_P384) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 594.7688453017025 < 679.5934070038169. IsChangePoint: Marked as a change because one of 5/18/2023 7:10:13 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 10.03201932472077 (T) = (0 -617.905610012206) / Math.Sqrt((661.8182794216491 / (299)) + (718.3880150472485 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1177064293738467 = (700.3401482045094 - 617.905610012206) / 700.3401482045094 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding: (Byte String, Strict)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 52.358568013954574 < 57.19441275768921. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.131262478613788 (T) = (0 -51.440652352204104) / Math.Sqrt((1.5800847132719036 / (299)) + (1.420791511465554 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15701770607024537 = (61.02222160847738 - 51.440652352204104) / 61.02222160847738 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding: (Map, Canonical)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 646.7875408392548 < 730.7364096233047. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 111.29492527048104 (T) = (0 -649.0395339669113) / Math.Sqrt((54.32781308517685 / (299)) + (13.194662434298559 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1677261604558159 = (779.8389221537641 - 649.0395339669113) / 779.8389221537641 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Formats.Cbor.Tests.Perf_CborReader.ReadCoseKey(publicKey: ECDSA_P256) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 591.5638120559014 < 626.4464345680553. IsChangePoint: Marked as a change because one of 5/18/2023 7:10:13 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 9.629689225907615 (T) = (0 -611.9803821396679) / Math.Sqrt((673.3311040971198 / (299)) + (694.2327011149353 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.11755638777218672 = (693.5065013328896 - 611.9803821396679) / 693.5065013328896 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding: (Array, Strict)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 239.7019526490299 < 273.2286287080967. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 33.80603717994674 (T) = (0 -245.94836306137816) / Math.Sqrt((23.570504376112307 / (299)) + (19.975300246460368 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15910075940272347 = (292.48256055824857 - 245.94836306137816) / 292.48256055824857 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding: (Text String, Strict)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 61.19756016790255 < 69.39654430701175. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 42.96624757564139 (T) = (0 -61.5809161236825) / Math.Sqrt((2.377679235657418 / (299)) + (0.8246970787890227 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16730497490213259 = (73.95374569032022 - 61.5809161236825) / 73.95374569032022 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Encodings.Web.Tests.Perf_Encoders

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[EncodeUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments%3a%20JavaScript%2cno%20escaping%20required%2c16).html>) 23.16 ns 20.38 ns 0.88 0.07 False
[EncodeUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments%3a%20JavaScript%2cno%20escaping%20required%2c512).html>) 77.60 ns 72.22 ns 0.93 0.02 False
[EncodeUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments%3a%20Url%2c%ef%bf%bd2020%2c512).html>) 114.79 ns 104.10 ns 0.91 0.00 False
[EncodeUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments%3a%20UnsafeRelaxed%2cno%20(escaping%20%2f)%20required%2c16).html>) 22.87 ns 20.06 ns 0.88 0.06 False
[EncodeUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments%3a%20JavaScript%2cno%20escaping%20required%2c16).html>) 19.09 ns 17.39 ns 0.91 0.13 False
[EncodeUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments%3a%20Url%2c%ef%bf%bd2020%2c16).html>) 46.70 ns 42.80 ns 0.92 0.01 False
[EncodeUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments%3a%20Url%2c%ef%bf%bd2020%2c16).html>) 59.12 ns 54.41 ns 0.92 0.00 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Encodings.Web.Tests.Perf_Encoders*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: JavaScript,no escaping required,16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.384038516230436 < 21.98185955968769. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 38.161959288163175 (T) = (0 -20.302642782688064) / Math.Sqrt((0.169096869777296 / (299)) + (0.04678102669236904 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11541620288289721 = (22.95163312832008 - 20.302642782688064) / 22.95163312832008 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,no escaping required,512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 72.21750044608116 < 72.97479642053258. IsChangePoint: Marked as a change because one of 2/7/2023 2:48:42 AM, 2/14/2023 11:21:41 AM, 4/6/2023 11:23:56 PM, 4/12/2023 8:39:35 PM, 4/28/2023 1:33:49 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 36.660449301125425 (T) = (0 -71.73256859438281) / Math.Sqrt((4.423982617750757 / (299)) + (0.4282682180262679 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.11319718477743745 = (80.88897256869889 - 71.73256859438281) / 80.88897256869889 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,�2020,512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 104.10196807266622 < 109.14573257412606. IsChangePoint: Marked as a change because one of 4/28/2023 1:33:49 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 58.287523160068744 (T) = (0 -104.84981279206426) / Math.Sqrt((5.15742524015205 / (299)) + (0.37257610809773595 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11165604958265106 = (118.02839738234861 - 104.84981279206426) / 118.02839738234861 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: UnsafeRelaxed,no <escaping /> required,16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.05979898357544 < 22.087072892824153. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 24.790378198919537 (T) = (0 -20.101947050973056) / Math.Sqrt((0.17126511617534448 / (299)) + (0.12222785822898397 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11762550208194256 = (22.781650079873277 - 20.101947050973056) / 22.781650079873277 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,no escaping required,16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 17.3915423618086 < 18.68633650228099. IsChangePoint: Marked as a change because one of 2/7/2023 10:47:28 PM, 3/2/2023 11:02:42 PM, 4/4/2023 3:37:20 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 29.307770103506694 (T) = (0 -17.557098134553367) / Math.Sqrt((0.23172694808696787 / (299)) + (0.04617641515798836 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10531786096077411 = (19.623838867966498 - 17.557098134553367) / 19.623838867966498 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: Url,�2020,16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 42.79846823497042 < 44.15684447362852. IsChangePoint: Marked as a change because one of 4/6/2023 11:23:56 PM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 24.502386693990374 (T) = (0 -42.585872327195084) / Math.Sqrt((0.5726859709594421 / (299)) + (0.2022882458924092 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.0757746793597347 = (46.07737028638573 - 42.585872327195084) / 46.07737028638573 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,�2020,16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 54.41452885392532 < 55.53907743569464. IsChangePoint: Marked as a change because one of 3/21/2023 3:33:39 AM, 5/3/2023 11:00:11 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.916206628212155 (T) = (0 -53.951746795256604) / Math.Sqrt((0.725929287642939 / (299)) + (0.32807686812658704 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.05923712205997312 = (57.34893251038334 - 53.951746795256604) / 57.34893251038334 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ImmutableDictionary(String%2c%20String)).DeserializeFromStream(Mode%3a%20SourceGen).html>) 52.26 μs 45.00 μs 0.86 0.23 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ImmutableDictionary(String%2c%20String)).DeserializeFromString(Mode%3a%20Reflection).html>) 51.00 μs 45.35 μs 0.89 0.29 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ImmutableDictionary(String%2c%20String)).DeserializeFromReader(Mode%3a%20SourceGen).html>) 60.89 μs 47.41 μs 0.78 0.20 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ImmutableDictionary(String%2c%20String)).DeserializeFromReader(Mode%3a%20Reflection).html>) 60.93 μs 47.29 μs 0.78 0.20 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ImmutableDictionary(String%2c%20String)).DeserializeFromStream(Mode%3a%20Reflection).html>) 54.92 μs 45.47 μs 0.83 0.29 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ImmutableDictionary(String%2c%20String)).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 54.84 μs 42.54 μs 0.78 0.26 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ImmutableDictionary(String%2c%20String)).DeserializeFromString(Mode%3a%20SourceGen).html>) 50.97 μs 45.67 μs 0.90 0.23 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ImmutableDictionary(String%2c%20String)).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 53.92 μs 44.99 μs 0.83 0.25 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
python3 .\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>>.DeserializeFromStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 45.00025928984311 < 51.14992750883153. IsChangePoint: Marked as a change because one of 2/7/2023 10:47:28 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 21.03611951197897 (T) = (0 -45164.06488651884) / Math.Sqrt((2161646.2683092053 / (299)) + (1934908.2108189312 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.18003566344355598 = (55080.52347275457 - 45164.06488651884) / 55080.52347275457 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ImmutableDictionary<String, String>>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 45.351676347271905 < 50.430058026356846. IsChangePoint: Marked as a change because one of 2/6/2023 2:52:08 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.139865022894714 (T) = (0 -44387.15002808251) / Math.Sqrt((2147725.720178793 / (299)) + (2361568.2542997175 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1688210080260765 = (53402.63704532497 - 44387.15002808251) / 53402.63704532497 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ImmutableDictionary<String, String>>.DeserializeFromReader(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 47.41072615881459 < 57.167700603823405. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.422144732287485 (T) = (0 -49672.896740582095) / Math.Sqrt((2187127.254749241 / (299)) + (2606759.8959239484 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16195692849498441 = (59272.486617395545 - 49672.896740582095) / 59272.486617395545 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ImmutableDictionary<String, String>>.DeserializeFromReader(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 47.293613529078556 < 57.95037788841159. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.803607476604835 (T) = (0 -49571.93132382416) / Math.Sqrt((2753954.8865068755 / (299)) + (2431477.2574628647 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.16714283800334423 = (59520.327837468016 - 49571.93132382416) / 59520.327837468016 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ImmutableDictionary<String, String>>.DeserializeFromStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 45.466498781676414 < 52.53774486358837. IsChangePoint: Marked as a change because one of 2/8/2023 4:01:29 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 22.32782138725485 (T) = (0 -44819.89903791192) / Math.Sqrt((2620487.4617080847 / (299)) + (2326334.937008641 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1894916599236529 = (55298.504434500996 - 44819.89903791192) / 55298.504434500996 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ImmutableDictionary<String, String>>.DeserializeFromUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 42.54045925839067 < 51.14961179471228. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.698935972496272 (T) = (0 -43627.701820689625) / Math.Sqrt((2262637.4018010623 / (299)) + (2416628.37659718 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16965784522893831 = (52541.83660315122 - 43627.701820689625) / 52541.83660315122 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ImmutableDictionary<String, String>>.DeserializeFromString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 45.67042160518053 < 51.45650572770094. IsChangePoint: Marked as a change because one of 2/9/2023 7:28:55 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.66709730740847 (T) = (0 -44496.07826513387) / Math.Sqrt((1963867.2394098076 / (299)) + (2699896.5617171973 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16619554337283268 = (53365.12405453612 - 44496.07826513387) / 53365.12405453612 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ImmutableDictionary<String, String>>.DeserializeFromUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 44.9946322806145 < 49.87705189430822. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.74762968739424 (T) = (0 -43922.55273001605) / Math.Sqrt((2306888.394297437 / (299)) + (2311344.054454123 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16612216370046157 = (52672.64678112702 - 43922.55273001605) / 52672.64678112702 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive<Location>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[CaseInsensitiveMatching - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive(Location).CaseInsensitiveMatching.html>) 1.61 μs 1.21 μs 0.76 0.02 True
[Baseline - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive(Location).Baseline.html>) 1.63 μs 1.22 μs 0.74 0.02 True
[CaseInsensitiveNotMatching - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive(Location).CaseInsensitiveNotMatching.html>) 1.63 μs 1.21 μs 0.74 0.03 True
[MissingProperties - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive(Location).MissingProperties.html>) 1.05 μs 829.18 ns 0.79 0.06 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive&lt;Location&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive<Location>.CaseInsensitiveMatching ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2142502154487629 < 1.525440554410848. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 111.97484010569572 (T) = (0 -1226.0764665767767) / Math.Sqrt((723.323940901932 / (299)) + (88.5799771467959 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.23470869758855734 = (1602.1042741677504 - 1226.0764665767767) / 1602.1042741677504 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive<Location>.Baseline ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.216606398755478 < 1.545457128485116. IsChangePoint: Marked as a change because one of 2/8/2023 4:45:44 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 107.23157621818707 (T) = (0 -1227.767393190141) / Math.Sqrt((1105.02591692677 / (299)) + (90.66043228481735 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23181062389188173 = (1598.2613550455296 - 1227.767393190141) / 1598.2613550455296 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive<Location>.CaseInsensitiveNotMatching ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2144158682164454 < 1.5331858288643962. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 82.17837260321504 (T) = (0 -1234.2437234472216) / Math.Sqrt((757.4182543031181 / (299)) + (193.99612301117145 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23018912422458185 = (1603.3077243861846 - 1234.2437234472216) / 1603.3077243861846 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive<Location>.MissingProperties ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 829.1762877049721 < 0.9960106517258362. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 113.70409151459369 (T) = (0 -830.1887435912593) / Math.Sqrt((317.6648189770364 / (299)) + (20.705611736334088 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.2007473601854123 = (1038.7062891451296 - 830.1887435912593) / 1038.7062891451296 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ArrayList).DeserializeFromStream(Mode%3a%20Reflection).html>) 26.45 μs 22.93 μs 0.87 0.10 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ArrayList).DeserializeFromString(Mode%3a%20Reflection).html>) 27.19 μs 22.61 μs 0.83 0.09 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ArrayList).DeserializeFromString(Mode%3a%20SourceGen).html>) 26.38 μs 22.63 μs 0.86 0.11 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ArrayList).DeserializeFromStream(Mode%3a%20SourceGen).html>) 28.82 μs 23.20 μs 0.80 0.14 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ArrayList).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 25.56 μs 22.43 μs 0.88 0.12 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ArrayList).DeserializeFromReader(Mode%3a%20SourceGen).html>) 29.29 μs 25.82 μs 0.88 0.10 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ArrayList).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 25.80 μs 20.58 μs 0.80 0.10 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ArrayList).DeserializeFromReader(Mode%3a%20Reflection).html>) 30.01 μs 25.38 μs 0.85 0.07 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
python3 .\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>.DeserializeFromStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.93071884751679 < 26.66973461017309. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 14.710681373926295 (T) = (0 -22912.26382658372) / Math.Sqrt((451289.1522808834 / (299)) + (835682.9330947201 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15161850000412883 = (27007.029062627164 - 22912.26382658372) / 27007.029062627164 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.608585443299532 < 25.553238107218647. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 31.75472114798644 (T) = (0 -22673.954587798296) / Math.Sqrt((487991.3313200851 / (299)) + (135745.10742165198 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14203302012205346 = (26427.537562137728 - 22673.954587798296) / 26427.537562137728 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.DeserializeFromString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.63328450332125 < 25.926149189856755. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.316315581124925 (T) = (0 -22605.83071952496) / Math.Sqrt((527372.5827292186 / (299)) + (513298.6545342342 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14425319589399557 = (26416.494471330443 - 22605.83071952496) / 26416.494471330443 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.DeserializeFromStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 23.198382784324643 < 27.106576183894745. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.15462515168759 (T) = (0 -22893.498057213685) / Math.Sqrt((880250.228617356 / (299)) + (483885.50680615054 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16017451678505978 = (27259.827803241893 - 22893.498057213685) / 27259.827803241893 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.DeserializeFromUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.42980136196351 < 25.19300077212486. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 13.102833640960348 (T) = (0 -21867.616859101337) / Math.Sqrt((463626.91114727093 / (299)) + (1091942.4350537108 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15984294522424755 = (26028.010756796008 - 21867.616859101337) / 26028.010756796008 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.DeserializeFromReader(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 25.817518898111768 < 28.851297063375608. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.985174861619296 (T) = (0 -25317.751323102835) / Math.Sqrt((543018.5714793106 / (299)) + (652645.2378517633 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.15539643214417756 = (29975.89909237121 - 25317.751323102835) / 29975.89909237121 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.DeserializeFromUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.577194720599316 < 24.948117386921552. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.68777176517431 (T) = (0 -21831.312996565706) / Math.Sqrt((435250.2052813291 / (299)) + (610940.1854261393 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16207607735370905 = (26054.051455672856 - 21831.312996565706) / 26054.051455672856 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.DeserializeFromReader(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 25.37998821442149 < 28.394024182904882. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 15.162322408141902 (T) = (0 -25499.847576699627) / Math.Sqrt((475468.06810830114 / (299)) + (923007.3534353825 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14811296934481785 = (29933.367523024524 - 25499.847576699627) / 29933.367523024524 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Benchstone.BenchF.Bisect

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Test - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Benchstone.BenchF.Bisect.Test.html>) 334.54 ms 299.64 ms 0.90 0.00 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Benchstone.BenchF.Bisect*'
### Payloads [Baseline]() [Compare]() ### Histogram #### Benchstone.BenchF.Bisect.Test ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 299.63763826666667 < 317.4553014716667. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 629.1928298743708 (T) = (0 -299649028.45551115) / Math.Sqrt((918532495760.7098 / (299)) + (111125756.1939846 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10440195148207963 = (334579813.95938176 - 299649028.45551115) / 334579813.95938176 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%204%2c%20Options%3a%20NonBacktracking).html>) 278.03 ns 249.70 ns 0.90 0.31 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%206%2c%20Options%3a%20NonBacktracking).html>) 147.52 ns 126.99 ns 0.86 0.20 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%202%2c%20Options%3a%20NonBacktracking).html>) 237.32 ns 197.40 ns 0.83 0.01 True
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%2012%2c%20Options%3a%20None).html>) 137.34 ns 128.20 ns 0.93 0.01 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%209%2c%20Options%3a%20NonBacktracking).html>) 152.30 ns 129.39 ns 0.85 0.14 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%2010%2c%20Options%3a%20NonBacktracking).html>) 158.68 ns 132.84 ns 0.84 0.15 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%200%2c%20Options%3a%20None).html>) 96.39 ns 83.64 ns 0.87 0.00 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%202%2c%20Options%3a%20None).html>) 334.48 ns 286.23 ns 0.86 0.01 True
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%200%2c%20Options%3a%20NonBacktracking).html>) 142.55 ns 115.22 ns 0.81 0.18 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%205%2c%20Options%3a%20NonBacktracking).html>) 271.41 ns 235.22 ns 0.87 0.27 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%2011%2c%20Options%3a%20None).html>) 125.75 ns 110.76 ns 0.88 0.01 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%2010%2c%20Options%3a%20None).html>) 155.24 ns 139.93 ns 0.90 0.01 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%206%2c%20Options%3a%20None).html>) 157.16 ns 141.33 ns 0.90 0.01 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%208%2c%20Options%3a%20NonBacktracking).html>) 142.55 ns 115.04 ns 0.81 0.19 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%201%2c%20Options%3a%20None).html>) 214.41 ns 187.66 ns 0.88 0.01 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%207%2c%20Options%3a%20None).html>) 159.77 ns 138.10 ns 0.86 0.00 True
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%205%2c%20Options%3a%20None).html>) 437.58 ns 405.29 ns 0.93 0.00 True
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%204%2c%20Options%3a%20None).html>) 427.04 ns 396.82 ns 0.93 0.01 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%207%2c%20Options%3a%20NonBacktracking).html>) 124.78 ns 111.44 ns 0.89 0.29 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%203%2c%20Options%3a%20None).html>) 519.38 ns 468.07 ns 0.90 0.00 True
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%209%2c%20Options%3a%20None).html>) 157.73 ns 140.26 ns 0.89 0.00 True
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%208%2c%20Options%3a%20None).html>) 154.86 ns 141.31 ns 0.91 0.01 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%2013%2c%20Options%3a%20None).html>) 139.02 ns 125.97 ns 0.91 0.01 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 4, Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 249.69869263710456 < 252.33192595171326. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.699942059437122 (T) = (0 -237.50918238602446) / Math.Sqrt((118.43524003559646 / (299)) + (76.24268084381544 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12644007836638493 = (271.886537493463 - 237.50918238602446) / 271.886537493463 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 6, Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 126.9882097059873 < 142.4675315157678. IsChangePoint: Marked as a change because one of 2/24/2023 12:21:41 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.38633076974038 (T) = (0 -123.26395421343977) / Math.Sqrt((22.441919549169423 / (299)) + (10.497754707419428 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.172840246855981 = (149.020734803544 - 123.26395421343977) / 149.020734803544 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 2, Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 197.40055743763924 < 224.22792283808224. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 33.03306523147759 (T) = (0 -198.80664990544366) / Math.Sqrt((8.530346538989578 / (299)) + (13.690523289648418 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.16417971935504316 = (237.85813111885182 - 198.80664990544366) / 237.85813111885182 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 12, Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 128.2021142465327 < 130.0618979530923. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 22.842321698324287 (T) = (0 -126.63747045657082) / Math.Sqrt((2.4390296321325726 / (299)) + (2.4987842445812176 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.08393519867566918 = (138.24073392351104 - 126.63747045657082) / 138.24073392351104 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 9, Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 129.38526726579187 < 140.9706160342696. IsChangePoint: Marked as a change because one of 2/24/2023 9:01:57 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.788948900595262 (T) = (0 -124.53746987334489) / Math.Sqrt((17.03591925477821 / (299)) + (8.395077066858628 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1630452867310223 = (148.7983374714821 - 124.53746987334489) / 148.7983374714821 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 10, Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 132.83782190318803 < 151.97305038652365. IsChangePoint: Marked as a change because one of 2/27/2023 12:02:42 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 31.836690102556556 (T) = (0 -132.91742887021837) / Math.Sqrt((20.809595800505836 / (299)) + (6.774134325950437 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.17151236421411228 = (160.43381111431484 - 132.91742887021837) / 160.43381111431484 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 0, Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 83.64273522130043 < 90.29634852163736. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 36.03282327737417 (T) = (0 -84.01672756190392) / Math.Sqrt((1.7855203572474516 / (299)) + (0.9901017962410412 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1172857056562034 = (95.17997850523237 - 84.01672756190392) / 95.17997850523237 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 2, Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 286.23179660673037 < 312.3191404367473. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 107.78585548210356 (T) = (0 -284.92162362833176) / Math.Sqrt((11.226800916425269 / (299)) + (1.581359778868248 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.14335552207587401 = (332.6019497829152 - 284.92162362833176) / 332.6019497829152 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 0, Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 115.22191025898611 < 135.6560981487842. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 15.48014066011789 (T) = (0 -119.22241337133725) / Math.Sqrt((16.185123238241292 / (299)) + (24.441058966980624 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.17028055522994573 = (143.6900317605286 - 119.22241337133725) / 143.6900317605286 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 5, Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 235.22459524255353 < 264.562057863161. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 14.660595909387839 (T) = (0 -240.13247128995346) / Math.Sqrt((95.14964400244087 / (299)) + (76.8594558456988 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14164217163562595 = (279.75800226291744 - 240.13247128995346) / 279.75800226291744 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 11, Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 110.75957849110547 < 116.33988299679413. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 51.08994686564646 (T) = (0 -111.45371856190987) / Math.Sqrt((2.3439181444078017 / (299)) + (0.569075024862262 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10062532877256848 = (123.9235683720136 - 111.45371856190987) / 123.9235683720136 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 10, Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 139.9291664044404 < 146.70658541470155. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 51.868854365990245 (T) = (0 -140.75680606680206) / Math.Sqrt((2.3475662670200226 / (299)) + (0.6587840811181455 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.087516070731191 = (154.25675077871585 - 140.75680606680206) / 154.25675077871585 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 6, Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 141.3348395105726 < 147.05811952696496. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 36.033937854959376 (T) = (0 -142.874621610107) / Math.Sqrt((2.696043425397905 / (299)) + (1.2358742070444144 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.08411551685985112 = (155.99633386107305 - 142.874621610107) / 155.99633386107305 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 8, Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 115.04232935142463 < 131.06666495242084. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.467433331153867 (T) = (0 -117.50463237012669) / Math.Sqrt((43.73899506509796 / (299)) + (12.569007137230198 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15141239590492045 = (138.47083295004265 - 117.50463237012669) / 138.47083295004265 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 1, Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 187.66137319892508 < 199.4204491860152. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 41.84473775286542 (T) = (0 -189.1874833658856) / Math.Sqrt((8.17909203556473 / (299)) + (2.8273602729440928 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10550687637417878 = (211.50244576393786 - 189.1874833658856) / 211.50244576393786 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 7, Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 138.10483742794162 < 148.37865035308664. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 53.123455436886076 (T) = (0 -138.69035233698528) / Math.Sqrt((2.352732263105748 / (299)) + (0.8834769421045203 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10212935624273248 = (154.4658501770542 - 138.69035233698528) / 154.4658501770542 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 5, Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 405.28891287672 < 415.58448972509706. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 32.47737591570521 (T) = (0 -401.5462952387543) / Math.Sqrt((10.51600268520595 / (299)) + (10.956393245068812 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.07919668180606777 = (436.08258930511784 - 401.5462952387543) / 436.08258930511784 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 4, Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 396.82450757994917 < 407.9267831683815. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 35.153797264400204 (T) = (0 -394.82321192111345) / Math.Sqrt((12.047978225492182 / (299)) + (10.65600858850969 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08209516936659893 = (430.1352370579261 - 394.82321192111345) / 430.1352370579261 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 7, Options: NonBacktracking) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 111.44398457694973 < 119.90891459338825. IsChangePoint: Marked as a change because one of 2/19/2023 7:20:18 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.63865515102596 (T) = (0 -112.80961661494398) / Math.Sqrt((20.499402542050653 / (299)) + (9.017417210989743 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12844059294019342 = (129.43422525322242 - 112.80961661494398) / 129.43422525322242 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 3, Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 468.07480765919087 < 490.30084750623723. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 37.978153624107186 (T) = (0 -470.1867351399609) / Math.Sqrt((11.708710145122184 / (299)) + (16.709251510442353 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.0915912401137799 = (517.5937924672288 - 470.1867351399609) / 517.5937924672288 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 9, Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 140.26252922217316 < 149.5675762040016. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 80.83885813718881 (T) = (0 -139.92313151175296) / Math.Sqrt((1.9461605829852966 / (299)) + (0.35168613454037834 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.10550204924690613 = (156.42644166367197 - 139.92313151175296) / 156.42644166367197 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 8, Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 141.3056087808345 < 144.52008891765914. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 41.35945910701774 (T) = (0 -139.85723423069462) / Math.Sqrt((2.740997143102471 / (299)) + (1.120415468714353 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08969789781925111 = (153.6382634903821 - 139.85723423069462) / 153.6382634903821 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 13, Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 125.97347253297026 < 131.1659676998009. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 28.327930953677484 (T) = (0 -126.55689975245349) / Math.Sqrt((2.304067693343172 / (299)) + (1.7554175637542595 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08387240732738853 = (138.14331187564179 - 126.55689975245349) / 138.14331187564179 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.IO.Tests.StringReaderReadLineTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ReadLine - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange%3a%20%5b%20%20%201%2c%20%20%20%208%5d).html>) 91.44 μs 78.38 μs 0.86 0.02 False
[ReadLine - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange%3a%20%5b%20%20%209%2c%20%20%2032%5d).html>) 26.47 μs 23.63 μs 0.89 0.01 False
[ReadLine - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange%3a%20%5b%20%20%201%2c%20%20%20%201%5d).html>) 179.72 μs 157.00 μs 0.87 0.01 False
[ReadLine - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange%3a%20%5b%20%2033%2c%20%20128%5d).html>) 10.64 μs 9.42 μs 0.89 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.StringReaderReadLineTests*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange: [ 1, 8]) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 78.38405215983765 < 86.55496945398352. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.7059902307244 (T) = (0 -77703.99806875513) / Math.Sqrt((1797505.3918491055 / (299)) + (2483011.6096255826 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13737659847488887 = (90078.70402237534 - 77703.99806875513) / 90078.70402237534 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange: [ 9, 32]) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 23.63315500917134 < 25.15092675315827. IsChangePoint: Marked as a change because one of 4/11/2023 12:48:48 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 46.6622159198552 (T) = (0 -23515.717412933023) / Math.Sqrt((134471.33020377273 / (299)) + (27378.94370200787 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.09712170809616118 = (26045.279439986323 - 23515.717412933023) / 26045.279439986323 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange: [ 1, 1]) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 157.00018355769234 < 171.28962894040248. IsChangePoint: Marked as a change because one of 4/10/2023 1:33:42 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 35.05262173731971 (T) = (0 -154847.23170315629) / Math.Sqrt((8450932.555743976 / (299)) + (2806408.810521586 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.11175391351122359 = (174329.20229940454 - 154847.23170315629) / 174329.20229940454 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange: [ 33, 128]) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.42386937062937 < 10.092209227563377. IsChangePoint: Marked as a change because one of 5/2/2023 12:51:17 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 44.49482425551725 (T) = (0 -9460.164563512682) / Math.Sqrt((22678.210563140998 / (299)) + (5489.016161926499 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10134040932012599 = (10526.972239127463 - 9460.164563512682) / 10526.972239127463 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Concurrent.IsEmpty<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Bag - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Concurrent.IsEmpty(Int32).Bag(Size%3a%20512).html>) 18.11 ns 14.44 ns 0.80 0.36 False
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Concurrent.IsEmpty(Int32).Dictionary(Size%3a%20512).html>) 8.27 ns 3.83 ns 0.46 0.36 False
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Concurrent.IsEmpty(Int32).Queue(Size%3a%20512).html>) 13.29 ns 9.07 ns 0.68 0.22 False
[Bag - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Concurrent.IsEmpty(Int32).Bag(Size%3a%200).html>) 21.41 ns 16.36 ns 0.76 0.42 False
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Concurrent.IsEmpty(Int32).Queue(Size%3a%200).html>) 15.41 ns 9.79 ns 0.64 0.14 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Concurrent.IsEmpty&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.Concurrent.IsEmpty<Int32>.Bag(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.443876046612822 < 17.71944709087529. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 8.408727809473634 (T) = (0 -15.432799342717807) / Math.Sqrt((4.543043474696585 / (299)) + (2.8164561247736537 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.22104127202634416 = (19.81208861073284 - 15.432799342717807) / 19.81208861073284 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Concurrent.IsEmpty<Int32>.Dictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.8313979633252115 < 7.868638336315007. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 48.92927242317212 (T) = (0 -4.284386607104009) / Math.Sqrt((0.601806699850401 / (299)) + (0.06546122292664026 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5047425845656185 = (8.650827778815286 - 4.284386607104009) / 8.650827778815286 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Concurrent.IsEmpty<Int32>.Queue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.07344038527077 < 12.756633017300985. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 36.52606187711799 (T) = (0 -8.94567391727396) / Math.Sqrt((0.19804713739978255 / (299)) + (0.1742588887712653 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3440680058962731 = (13.638111873925943 - 8.94567391727396) / 13.638111873925943 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Concurrent.IsEmpty<Int32>.Bag(Size: 0) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.36115247791669 < 20.159367000252175. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 11.690260349780731 (T) = (0 -16.412160314478065) / Math.Sqrt((5.10488889854378 / (299)) + (1.5117519562961257 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.22610732968544353 = (21.20728228089714 - 16.412160314478065) / 21.20728228089714 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Concurrent.IsEmpty<Int32>.Queue(Size: 0) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.788144775357347 < 15.12801062822904. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 79.85194483058284 (T) = (0 -9.870308830660202) / Math.Sqrt((0.3259183349362113 / (299)) + (0.05351344818472892 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3843491882424272 = (16.032316764891835 - 9.870308830660202) / 16.032316764891835 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Tests.Perf_Encoding

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Tests.Perf_Encoding.GetString(size%3a%2016%2c%20encName%3a%20%22ascii%22).html>) 23.88 ns 18.11 ns 0.76 0.27 False
[GetByteCount - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Tests.Perf_Encoding.GetByteCount(size%3a%2016%2c%20encName%3a%20%22ascii%22).html>) 8.21 ns 6.26 ns 0.76 0.25 False
[GetString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Tests.Perf_Encoding.GetString(size%3a%2016%2c%20encName%3a%20%22utf-8%22).html>) 26.39 ns 23.95 ns 0.91 0.25 False
[GetByteCount - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Tests.Perf_Encoding.GetByteCount(size%3a%20512%2c%20encName%3a%20%22ascii%22).html>) 7.79 ns 6.25 ns 0.80 0.23 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Tests.Perf_Encoding*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Tests.Perf_Encoding.GetString(size: 16, encName: "ascii") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.11311464046037 < 23.066020153015447. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 28.67849063250648 (T) = (0 -19.46110449835778) / Math.Sqrt((3.3183194009824186 / (299)) + (0.585223743938789 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.2890559650674002 = (27.373609654384072 - 19.46110449835778) / 27.373609654384072 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetByteCount(size: 16, encName: "ascii") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.262206214795413 < 7.433699245656771. IsChangePoint: Marked as a change because one of 5/20/2023 6:43:26 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.25848433494401 (T) = (0 -6.436673464935132) / Math.Sqrt((0.9560072276422688 / (299)) + (0.030758112252177842 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.18367697014561368 = (7.884958808626641 - 6.436673464935132) / 7.884958808626641 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetString(size: 16, encName: "utf-8") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 23.954594170161336 < 24.924517076013494. IsChangePoint: Marked as a change because one of 4/26/2023 5:34:01 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 15.51557501197704 (T) = (0 -23.70579398143776) / Math.Sqrt((1.2046102694120353 / (299)) + (0.3712347081014429 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11285574796763398 = (26.721464888184716 - 23.70579398143776) / 26.721464888184716 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetByteCount(size: 512, encName: "ascii") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.251373353984218 < 7.4324559303722335. IsChangePoint: Marked as a change because one of 4/8/2023 3:09:32 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 24.42127257944567 (T) = (0 -6.358128194564509) / Math.Sqrt((0.48741667131465605 / (299)) + (0.020883520862587903 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.18577533341167515 = (7.808813040761394 - 6.358128194564509) / 7.808813040761394 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Tests.Perf_SortedSet

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[EnumerateViewBetween - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Tests.Perf_SortedSet.EnumerateViewBetween.html>) 3.37 μs 1.96 μs 0.58 0.34 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Perf_SortedSet*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.Tests.Perf_SortedSet.EnumerateViewBetween ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.9606241367808008 < 3.2098246881567722. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 128.92807703341452 (T) = (0 -1950.9251292149042) / Math.Sqrt((31346.32052202527 / (299)) + (296.4630378053593 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.4313842830132332 = (3431.0080972670467 - 1950.9251292149042) / 3431.0080972670467 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.CtorFromCollection<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[FrozenDictionaryOptimized - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CtorFromCollection(String).FrozenDictionaryOptimized(Size%3a%20512).html>) 174.19 μs 110.48 μs 0.63 0.02 True
[ImmutableHashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CtorFromCollection(String).ImmutableHashSet(Size%3a%20512).html>) 158.44 μs 129.95 μs 0.82 0.32 False
[HashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CtorFromCollection(String).HashSet(Size%3a%20512).html>) 20.67 μs 17.55 μs 0.85 0.01 False
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CtorFromCollection(String).ImmutableDictionary(Size%3a%20512).html>) 181.16 μs 141.28 μs 0.78 0.47 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorFromCollection&lt;String&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.CtorFromCollection<String>.FrozenDictionaryOptimized(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 110.48387590467783 < 160.53307476113957. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.175185048794138 (T) = (0 -125732.66044906921) / Math.Sqrt((6820043.7935325075 / (176)) + (59704118.65454707 / (11))) is greater than 1.9728699462106976 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (176) + (11) - 2, .975) and 0.26284551520382593 = (170564.87214323162 - 125732.66044906921) / 170564.87214323162 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<String>.ImmutableHashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 129.95022103365386 < 150.32017394133644. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 36.25666949433269 (T) = (0 -128807.31858036519) / Math.Sqrt((49182644.60684997 / (299)) + (9637492.034484891 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2230841459387121 = (165793.13951058086 - 128807.31858036519) / 165793.13951058086 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<String>.HashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 17.54683949544583 < 19.563933403176375. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 96.91587137023073 (T) = (0 -17631.36959486629) / Math.Sqrt((109712.45459879561 / (299)) + (6552.324485242645 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1456948398794733 = (20638.257168409036 - 17631.36959486629) / 20638.257168409036 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<String>.ImmutableDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 141.27534286209286 < 181.97978043716378. IsChangePoint: Marked as a change because one of 2/6/2023 2:52:08 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.072892729641566 (T) = (0 -153197.1448007866) / Math.Sqrt((66875226.62550044 / (299)) + (92142167.52335837 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1877237771119854 = (188602.2765212805 - 153197.1448007866) / 188602.2765212805 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Globalization.Tests.Perf_DateTimeCultureInfo

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring%3a%20da).html>) 444.40 ns 388.61 ns 0.87 0.00 True
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring%3a%20fr).html>) 421.90 ns 368.74 ns 0.87 0.01 True
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring%3a%20).html>) 182.64 ns 123.26 ns 0.67 0.02 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring%3a%20da).html>) 161.57 ns 125.33 ns 0.78 0.03 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring%3a%20).html>) 421.53 ns 365.18 ns 0.87 0.00 True
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring%3a%20ja).html>) 425.39 ns 367.63 ns 0.86 0.00 True
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring%3a%20ja).html>) 182.59 ns 127.07 ns 0.70 0.03 False
[ToStringHebrewIsrael - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.Perf_DateTimeCultureInfo.ToStringHebrewIsrael.html>) 363.83 ns 315.68 ns 0.87 0.01 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring%3a%20fr).html>) 182.27 ns 124.27 ns 0.68 0.03 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Globalization.Tests.Perf_DateTimeCultureInfo*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring: da) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 388.6135977407518 < 422.4896964250409. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 86.69812388588254 (T) = (0 -391.8186219067976) / Math.Sqrt((20.409351964101514 / (299)) + (3.10504446045531 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.11985659235387544 = (445.17588668270116 - 391.8186219067976) / 445.17588668270116 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring: fr) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 368.7407691140179 < 401.89411028150295. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 77.0547197544531 (T) = (0 -370.1523749582365) / Math.Sqrt((23.80563623599444 / (299)) + (3.4297893831633415 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11523073303075512 = (418.3603440772579 - 370.1523749582365) / 418.3603440772579 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring: ) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 123.2618611829906 < 173.7103339354793. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 79.987611472048 (T) = (0 -123.46466538552362) / Math.Sqrt((346.83300551448 / (299)) + (1.1652245725690222 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.42160475890099863 = (213.46072134156913 - 123.46466538552362) / 213.46072134156913 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring: da) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 125.3325069275358 < 153.7503527954415. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 60.700212432437624 (T) = (0 -124.14891085439349) / Math.Sqrt((432.0243987274832 / (299)) + (0.7138475296403829 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.37529942008262485 = (198.73346503186184 - 124.14891085439349) / 198.73346503186184 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring: ) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 365.18144346797794 < 402.35685490822607. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 70.00928304060052 (T) = (0 -368.62085435015126) / Math.Sqrt((22.517574831310572 / (299)) + (4.539433661012122 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11713184786143033 = (417.526505466577 - 368.62085435015126) / 417.526505466577 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring: ja) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 367.6341288715907 < 403.7668506392294. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 54.21953456411071 (T) = (0 -372.05969080583174) / Math.Sqrt((20.4388143872064 / (299)) + (7.443382751441686 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11173109091302022 = (418.85929699853926 - 372.05969080583174) / 418.85929699853926 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring: ja) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 127.06709117404142 < 173.68989355018417. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 82.94983132940959 (T) = (0 -123.2088933641255) / Math.Sqrt((280.6098313198643 / (299)) + (1.7456338819286017 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.4135595053275803 = (210.09615550670466 - 123.2088933641255) / 210.09615550670466 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.Perf_DateTimeCultureInfo.ToStringHebrewIsrael ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 315.68179438366434 < 344.52084718555915. IsChangePoint: Marked as a change because one of 3/23/2023 3:52:33 AM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 38.55395216406302 (T) = (0 -314.2486054349685) / Math.Sqrt((297.2404828078764 / (299)) + (17.791432035447283 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.17455447398543406 = (380.70180954548323 - 314.2486054349685) / 380.70180954548323 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring: fr) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 124.26636469676116 < 173.29424167197362. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 81.86701478574822 (T) = (0 -123.62261500796629) / Math.Sqrt((352.704461063532 / (299)) + (0.27995199512118485 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.4212080383237684 = (213.58730458167474 - 123.62261500796629) / 213.58730458167474 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Xml_FromStream<MyEventsListerViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[XmlSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.XmlFromStream(MyEventsListerViewModel).XmlSerializer.html>) 1.05 ms 913.62 μs 0.87 0.00 False
[DataContractSerializerBinaryXml - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Xml_FromStream(MyEventsListerViewModel).DataContractSerializerBinaryXml.html>) 833.92 μs 656.80 μs 0.79 0.02 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;MyEventsListerViewModel&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Xml_FromStream<MyEventsListerViewModel>.XmlSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 913.6154874869655 < 1.0008574836304305. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 41.7562818912437 (T) = (0 -910689.654417191) / Math.Sqrt((186375926.1237705 / (299)) + (103606780.07547621 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12686599229562467 = (1043012.4658774387 - 910689.654417191) / 1043012.4658774387 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Xml_FromStream<MyEventsListerViewModel>.DataContractSerializer_BinaryXml_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 656.8033194371151 < 788.767034161132. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 85.81447506386232 (T) = (0 -658284.1668121244) / Math.Sqrt((190823105.8330069 / (218)) + (34481149.77860653 / (10))) is greater than 1.9705162426829501 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (218) + (10) - 2, .975) and 0.21325389764638616 = (836717.4172745371 - 658284.1668121244) / 836717.4172745371 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ArrayList).SerializeToWriter(Mode%3a%20SourceGen).html>) 9.74 μs 7.31 μs 0.75 0.01 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ArrayList).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 9.99 μs 7.57 μs 0.76 0.01 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ArrayList).SerializeToString(Mode%3a%20SourceGen).html>) 10.75 μs 8.26 μs 0.77 0.00 True
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ArrayList).SerializeToStream(Mode%3a%20Reflection).html>) 9.93 μs 7.48 μs 0.75 0.01 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ArrayList).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 10.85 μs 8.33 μs 0.77 0.00 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ArrayList).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 9.98 μs 7.69 μs 0.77 0.01 True
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ArrayList).SerializeToStream(Mode%3a%20SourceGen).html>) 9.89 μs 7.71 μs 0.78 0.01 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ArrayList).SerializeObjectProperty(Mode%3a%20Reflection).html>) 10.81 μs 8.33 μs 0.77 0.07 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ArrayList).SerializeToString(Mode%3a%20Reflection).html>) 10.86 μs 8.17 μs 0.75 0.01 True
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(ArrayList).SerializeToWriter(Mode%3a%20Reflection).html>) 9.69 μs 7.17 μs 0.74 0.02 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;ArrayList&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToWriter(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.3076815601591765 < 9.218763096741725. IsChangePoint: Marked as a change because one of 4/19/2023 10:34:24 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 90.05034122957672 (T) = (0 -7235.483589198237) / Math.Sqrt((22571.76765799124 / (299)) + (6905.884464907867 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.248151968662256 = (9623.598503442678 - 7235.483589198237) / 9623.598503442678 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.574770817797083 < 9.488254837328784. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 157.35084436386526 (T) = (0 -7593.442643769194) / Math.Sqrt((19339.785312222593 / (299)) + (1586.6942771219908 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23048562834617578 = (9867.83733154915 - 7593.442643769194) / 9867.83733154915 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.255770170849342 < 10.051688972741246. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 132.90043607110968 (T) = (0 -8125.304700877529) / Math.Sqrt((20165.469454630256 / (299)) + (2552.6221262712916 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.22061574343094498 = (10425.28718330303 - 8125.304700877529) / 10425.28718330303 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.476768350390668 < 9.570975182798117. IsChangePoint: Marked as a change because one of 4/19/2023 10:34:24 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 79.08855084966517 (T) = (0 -7566.8831235290045) / Math.Sqrt((36092.81884543112 / (299)) + (7255.286312268656 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.22598197866701125 = (9776.10716414272 - 7566.8831235290045) / 9776.10716414272 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeObjectProperty(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.329094525164486 < 10.331736932787638. IsChangePoint: Marked as a change because one of 4/18/2023 7:42:00 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 124.62528498652341 (T) = (0 -8373.074809740121) / Math.Sqrt((38327.7941530355 / (299)) + (2514.99897203843 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21945500062409756 = (10727.216004759432 - 8373.074809740121) / 10727.216004759432 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.690971645515032 < 9.49755914254329. IsChangePoint: Marked as a change because one of 4/19/2023 10:34:24 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 79.44488758091195 (T) = (0 -7628.156329745477) / Math.Sqrt((28050.55406139855 / (299)) + (7622.810935273895 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.22608473246391164 = (9856.57816782865 - 7628.156329745477) / 9856.57816782865 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.712749827586206 < 9.403771235788772. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 89.88602392941218 (T) = (0 -7644.55949181241) / Math.Sqrt((15423.394861980545 / (299)) + (5093.603767933337 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.21782324499691547 = (9773.442438572933 - 7644.55949181241) / 9773.442438572933 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.334158761904762 < 10.271150254167473. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 69.21543261090535 (T) = (0 -8470.838059302321) / Math.Sqrt((42616.212784417934 / (299)) + (10456.593345250565 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21269419139680373 = (10759.27291115877 - 8470.838059302321) / 10759.27291115877 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.16937233240897 < 10.077024347137444. IsChangePoint: Marked as a change because one of 4/19/2023 10:34:24 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 110.6755806709538 (T) = (0 -8203.443565479278) / Math.Sqrt((43854.430154993104 / (299)) + (2568.9866081874384 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.21323540665254215 = (10426.808266213375 - 8203.443565479278) / 10426.808266213375 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.173491038572743 < 9.214874122584845. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 104.5427618209013 (T) = (0 -7170.484234418523) / Math.Sqrt((34705.17122605235 / (299)) + (4761.2543213676945 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.25461218262727225 = (9619.803365840302 - 7170.484234418523) / 9619.803365840302 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Hashtable).SerializeToWriter(Mode%3a%20Reflection).html>) 17.01 μs 12.28 μs 0.72 0.01 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Hashtable).SerializeObjectProperty(Mode%3a%20Reflection).html>) 18.65 μs 14.11 μs 0.76 0.02 True
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Hashtable).SerializeToStream(Mode%3a%20Reflection).html>) 17.10 μs 12.74 μs 0.74 0.00 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Hashtable).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 19.42 μs 14.07 μs 0.72 0.02 True
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Hashtable).SerializeToStream(Mode%3a%20SourceGen).html>) 17.26 μs 12.66 μs 0.73 0.01 True
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Hashtable).SerializeToWriter(Mode%3a%20SourceGen).html>) 16.71 μs 12.38 μs 0.74 0.01 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Hashtable).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 17.32 μs 12.83 μs 0.74 0.00 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Hashtable).SerializeToString(Mode%3a%20Reflection).html>) 18.40 μs 13.79 μs 0.75 0.01 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Hashtable).SerializeToString(Mode%3a%20SourceGen).html>) 18.54 μs 14.11 μs 0.76 0.00 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Hashtable).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 17.62 μs 13.08 μs 0.74 0.01 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;Hashtable&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.279423629453749 < 16.162645133902135. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 178.22832394639374 (T) = (0 -12329.393944698664) / Math.Sqrt((58252.48520677108 / (299)) + (4903.3780879276055 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.26786451063900446 = (16840.31729626944 - 12329.393944698664) / 16840.31729626944 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.109379132087314 < 17.84779588980601. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 221.88944362101108 (T) = (0 -14189.801972770541) / Math.Sqrt((67621.33351384802 / (299)) + (2158.2407176021575 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.24320859565389757 = (18749.951296065643 - 14189.801972770541) / 18749.951296065643 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.741758414832926 < 16.26465156307501. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 98.07432741577254 (T) = (0 -12692.066866772475) / Math.Sqrt((57240.5406788994 / (299)) + (19149.909413655583 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2535508521448794 = (17003.257225549 - 12692.066866772475) / 17003.257225549 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeObjectProperty(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.074579719387751 < 18.536401917129517. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 162.93342466589488 (T) = (0 -14185.339331253) / Math.Sqrt((117840.04724692463 / (299)) + (3921.2014250345205 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2436087430355039 = (18753.970515445606 - 14185.339331253) / 18753.970515445606 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.66071961815646 < 16.291789021652956. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 171.00750252403344 (T) = (0 -12649.695937101782) / Math.Sqrt((47829.08154077328 / (299)) + (5351.443752815267 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2557975825634328 = (16997.654993750395 - 12649.695937101782) / 16997.654993750395 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToWriter(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.381550326276919 < 15.968338825184084. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 146.39461902976464 (T) = (0 -12309.812695409975) / Math.Sqrt((53868.44242482577 / (299)) + (8399.90156355265 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2675880185919216 = (16807.224632977857 - 12309.812695409975) / 16807.224632977857 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.826637601921497 < 16.518746984496662. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 196.70816365908692 (T) = (0 -12886.422031545815) / Math.Sqrt((44560.43864558362 / (299)) + (3978.2626952007513 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.25648379004152744 = (17331.72977125214 - 12886.422031545815) / 17331.72977125214 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.791255237101431 < 17.61613518052513. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 186.3750259796243 (T) = (0 -13811.09547341076) / Math.Sqrt((70696.5259162302 / (299)) + (3601.997445036604 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2479068334235361 = (18363.543357638806 - 13811.09547341076) / 18363.543357638806 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.11223999259307 < 17.498122133491794. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 113.29806477789288 (T) = (0 -14033.096905628294) / Math.Sqrt((58321.423443637774 / (299)) + (13843.167613003694 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23536187929348992 = (18352.59912579561 - 14033.096905628294) / 18352.59912579561 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.08024558775425 < 16.626405424574347. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 139.32372376310815 (T) = (0 -12920.534023942037) / Math.Sqrt((66580.07815880587 / (299)) + (8663.759376614671 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2552554582885109 = (17348.947592485205 - 12920.534023942037) / 17348.947592485205 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Xml_ToStream<XmlElement>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DataContractSerializerBinaryXml - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Xml_ToStream(XmlElement).DataContractSerializerBinaryXml.html>) 269.41 ns 168.93 ns 0.63 0.02 True
[XmlSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.XmlToStream(XmlElement).XmlSerializer.html>) 1.21 μs 1.11 μs 0.92 0.12 False
[DataContractSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.XmlToStream(XmlElement).DataContractSerializer.html>) 494.05 ns 368.06 ns 0.74 0.24 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;XmlElement&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Xml_ToStream<XmlElement>.DataContractSerializer_BinaryXml_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 168.9307975908736 < 254.83276996906432. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 51.240315792300535 (T) = (0 -163.8982215892775) / Math.Sqrt((19.91428257087885 / (218)) + (42.21943290454562 / (10))) is greater than 1.9705162426829501 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (218) + (10) - 2, .975) and 0.3936803239128601 = (270.3165146263902 - 163.8982215892775) / 270.3165146263902 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Xml_ToStream<XmlElement>.XmlSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.1114818801457227 < 1.1573246611276826. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.170604648825869 (T) = (0 -1079.6546033727936) / Math.Sqrt((1190.373001858531 / (299)) + (907.1204432213244 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.09486674180545651 = (1192.8128743455582 - 1079.6546033727936) / 1192.8128743455582 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Xml_ToStream<XmlElement>.DataContractSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 368.0574161715641 < 470.9938058945109. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.140557274453705 (T) = (0 -381.4543426565704) / Math.Sqrt((232.10896115391472 / (299)) + (246.0167398829201 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.24072729517108266 = (502.39438377087635 - 381.4543426565704) / 502.39438377087635 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Microsoft.Extensions.DependencyInjection.GetService

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Transient - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.DependencyInjection.GetService.Transient.html>) 33.48 ns 24.48 ns 0.73 0.34 False
[Singleton - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.DependencyInjection.GetService.Singleton.html>) 28.40 ns 18.10 ns 0.64 0.32 False
[Scoped - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.DependencyInjection.GetService.Scoped.html>) 69.62 ns 56.38 ns 0.81 0.38 False
[EmptyEnumerable - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.DependencyInjection.GetService.EmptyEnumerable.html>) 36.57 ns 28.56 ns 0.78 0.33 False
[ServiceScopeProvider - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.DependencyInjection.GetService.ServiceScopeProvider.html>) 33.93 ns 24.34 ns 0.72 0.16 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.DependencyInjection.GetService*'
### Payloads [Baseline]() [Compare]() ### Histogram #### Microsoft.Extensions.DependencyInjection.GetService.Transient ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 24.476124234762093 < 31.868304780125843. IsChangePoint: Marked as a change because one of 5/1/2023 3:45:46 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.763754170512655 (T) = (0 -24.10320846769621) / Math.Sqrt((4.461410835525374 / (299)) + (6.106584329268906 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.344313946198756 = (36.760288445913076 - 24.10320846769621) / 36.760288445913076 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.DependencyInjection.GetService.Singleton ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.097289198290053 < 27.482763178153792. IsChangePoint: Marked as a change because one of 3/17/2023 1:30:52 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 21.45856759804636 (T) = (0 -18.48062788541394) / Math.Sqrt((3.3554821200448193 / (299)) + (3.539532670412823 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.4012142252443311 = (30.863505220969646 - 18.48062788541394) / 30.863505220969646 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.DependencyInjection.GetService.Scoped ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 56.376351464591586 < 65.38003995530472. IsChangePoint: Marked as a change because one of 4/21/2023 12:49:36 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 27.367484429875613 (T) = (0 -56.42341509255478) / Math.Sqrt((14.416033597361386 / (299)) + (2.989908601320401 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2153102817734249 = (71.90538346809689 - 56.42341509255478) / 71.90538346809689 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.DependencyInjection.GetService.EmptyEnumerable ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 28.560436933174664 < 34.03922223504896. IsChangePoint: Marked as a change because one of 3/9/2023 2:25:45 AM, 4/28/2023 1:33:49 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 36.27063118863503 (T) = (0 -26.66813305442173) / Math.Sqrt((6.621679897494921 / (299)) + (0.730547354559394 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2955989293591505 = (37.859302272439216 - 26.66813305442173) / 37.859302272439216 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.DependencyInjection.GetService.ServiceScopeProvider ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 24.33584497745817 < 32.69546249821083. IsChangePoint: Marked as a change because one of 3/17/2023 1:30:52 PM, 4/25/2023 1:02:54 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 38.3558626786262 (T) = (0 -25.467123964383017) / Math.Sqrt((1.353490976294174 / (299)) + (0.6524509958166268 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2756455399779919 = (35.15837255093211 - 25.467123964383017) / 35.15837255093211 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Version

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Parse4 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Version.Parse4.html>) 62.60 ns 51.31 ns 0.82 0.04 False
[Parse3 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Version.Parse3.html>) 49.01 ns 41.33 ns 0.84 0.26 False
[Parse2 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_Version.Parse2.html>) 34.98 ns 29.15 ns 0.83 0.17 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Version*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_Version.Parse4 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 51.31464016955514 < 60.30090421406313. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.474185104238735 (T) = (0 -51.97207476183408) / Math.Sqrt((5.46345077211374 / (299)) + (3.038139640716755 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21655933772016694 = (66.33824010435451 - 51.97207476183408) / 66.33824010435451 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.Parse3 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 41.33028664877706 < 47.80750898258342. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 8.931741895203734 (T) = (0 -41.0838489812004) / Math.Sqrt((14.37415811607602 / (299)) + (0.6307673391755988 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.0675821489306194 = (44.061628522107064 - 41.0838489812004) / 44.061628522107064 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.Parse2 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 29.149936214515836 < 33.719374078092514. IsChangePoint: Marked as a change because one of 5/1/2023 3:45:46 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.230390990855387 (T) = (0 -28.93185863901979) / Math.Sqrt((2.5341310771881953 / (299)) + (1.8129059813448816 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2254530689896997 = (37.353267414386075 - 28.93185863901979) / 37.353267414386075 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Memory.Span<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SequenceCompareTo - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Memory.Span(Int32).SequenceCompareTo(Size%3a%2033).html>) 50.83 ns 43.43 ns 0.85 0.01 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Memory.Span<Int32>.SequenceCompareTo(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 43.4317883054612 < 48.812259492237835. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/5/2023 3:18:41 PM, 5/10/2023 2:36:50 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 11.756699456976015 (T) = (0 -43.981959940391334) / Math.Sqrt((8.1311740350494 / (299)) + (0.12000403668251186 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.05026090424212368 = (46.30951820014785 - 43.981959940391334) / 46.30951820014785 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_UInt64

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ParseSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_UInt64.ParseSpan(value%3a%20%2212345%22).html>) 19.47 ns 16.58 ns 0.85 0.05 False
[ParseSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_UInt64.ParseSpan(value%3a%20%2218446744073709551615%22).html>) 49.63 ns 38.19 ns 0.77 0.04 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_UInt64.Parse(value%3a%20%2218446744073709551615%22).html>) 48.23 ns 38.29 ns 0.79 0.01 False
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_UInt64.TryParse(value%3a%20%2218446744073709551615%22).html>) 47.11 ns 36.55 ns 0.78 0.03 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_UInt64.Parse(value%3a%20%2212345%22).html>) 19.50 ns 16.62 ns 0.85 0.05 False
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Tests.Perf_UInt64.TryParse(value%3a%20%2212345%22).html>) 18.00 ns 15.39 ns 0.85 0.03 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_UInt64*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_UInt64.ParseSpan(value: "12345") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.583661844687416 < 18.51434837780962. IsChangePoint: Marked as a change because one of 4/17/2023 8:43:19 PM, 4/25/2023 6:46:56 PM, 5/2/2023 4:25:00 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 14.18954863620147 (T) = (0 -16.66640995326745) / Math.Sqrt((0.7633619597753147 / (299)) + (0.027551069325972444 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.057091603758378816 = (17.67553456910428 - 16.66640995326745) / 17.67553456910428 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt64.ParseSpan(value: "18446744073709551615") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 38.186477481117954 < 46.95044298412167. IsChangePoint: Marked as a change because one of 4/17/2023 8:43:19 PM, 5/2/2023 12:51:17 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.470366708181512 (T) = (0 -38.307767905471614) / Math.Sqrt((9.062940083563138 / (299)) + (0.3728295489279425 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11409274875648945 = (43.241284967134675 - 38.307767905471614) / 43.241284967134675 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt64.Parse(value: "18446744073709551615") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 38.29367629883499 < 46.90319343436671. IsChangePoint: Marked as a change because one of 4/17/2023 8:43:19 PM, 5/2/2023 12:51:17 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 28.383681175378058 (T) = (0 -38.15309628278397) / Math.Sqrt((8.570394370861745 / (299)) + (0.040962294254009914 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11807511525632647 = (43.261163102198836 - 38.15309628278397) / 43.261163102198836 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt64.TryParse(value: "18446744073709551615") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 36.55068747640503 < 45.41477492834136. IsChangePoint: Marked as a change because one of 4/17/2023 8:43:19 PM, 5/2/2023 12:51:17 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.23371600050957 (T) = (0 -36.685269829361104) / Math.Sqrt((10.049207632209956 / (299)) + (0.03910798024382589 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.1216638009133449 = (41.76677434848817 - 36.685269829361104) / 41.76677434848817 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt64.Parse(value: "12345") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.623243370301807 < 18.518974680184446. IsChangePoint: Marked as a change because one of 4/17/2023 8:43:19 PM, 4/25/2023 6:46:56 PM, 5/2/2023 12:51:17 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.872610970917655 (T) = (0 -16.538039917870133) / Math.Sqrt((0.8740293685836037 / (299)) + (0.01533044664777036 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.06376281005232183 = (17.664369772359038 - 16.538039917870133) / 17.664369772359038 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt64.TryParse(value: "12345") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.390727938015491 < 17.086214522733954. IsChangePoint: Marked as a change because one of 4/17/2023 8:43:19 PM, 4/25/2023 6:46:56 PM, 5/2/2023 12:51:17 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.577745780183463 (T) = (0 -15.03110112328276) / Math.Sqrt((0.757649763640715 / (299)) + (0.05505890170028034 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.07221194535305483 = (16.201007383095273 - 15.03110112328276) / 16.201007383095273 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
[SystemTextJsonReflection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_FromString(IndexViewModel).SystemTextJsonReflection.html>) 34.64 μs 28.76 μs 0.83 0.02 False
[SystemTextJsonSourceGen - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_FromString(IndexViewModel).SystemTextJsonSourceGen.html>) 33.99 μs 27.15 μs 0.80 0.01 False
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.JsonFromString(IndexViewModel).JsonNet.html>) 82.13 μs 64.95 μs 0.79 0.01 True

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
python3 .\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_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 28.76168850640658 < 31.945542439215554. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 38.810171155907454 (T) = (0 -27664.471261659917) / Math.Sqrt((297886.9485062851 / (299)) + (249598.10914089493 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17757258825628963 = (33637.58414010753 - 27664.471261659917) / 33637.58414010753 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_FromString<IndexViewModel>.SystemTextJson_SourceGen_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 27.153590640233993 < 31.902426318168366. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 65.0197124196135 (T) = (0 -27195.30705318629) / Math.Sqrt((254689.62104912472 / (299)) + (98214.49754306268 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19122939219392227 = (33625.48884776859 - 27195.30705318629) / 33625.48884776859 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_FromString<IndexViewModel>.JsonNet_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 64.94702182979148 < 78.73134369092817. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 123.61594230587417 (T) = (0 -64579.972119345104) / Math.Sqrt((1890060.7560758826 / (299)) + (216905.51762359124 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23599091477917888 = (84527.7541440225 - 64579.972119345104) / 84527.7541440225 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.AddGivenSize<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.AddGivenSize(Int32).SortedList(Size%3a%20512).html>) 79.08 μs 72.30 μs 0.91 0.08 False
[IDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.AddGivenSize(Int32).IDictionary(Size%3a%20512).html>) 8.05 μs 5.60 μs 0.70 0.01 True
[ObservableCollection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.AddGivenSize(Int32).ObservableCollection(Size%3a%20512).html>) 20.75 μs 18.92 μs 0.91 0.65 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.AddGivenSize&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.AddGivenSize<Int32>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 72.30393580522485 < 75.17883458084037. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.97603178357796 (T) = (0 -72815.36443266364) / Math.Sqrt((2205000.7332053822 / (299)) + (236941.72259422415 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.05926290801604493 = (77402.459255753 - 72815.36443266364) / 77402.459255753 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.AddGivenSize<Int32>.IDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.599112044039147 < 7.655642803180235. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.797022478183568 (T) = (0 -6228.474724187804) / Math.Sqrt((14555.87459230778 / (299)) + (106765.654519658 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.24799633715408867 = (8282.505833304756 - 6228.474724187804) / 8282.505833304756 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.AddGivenSize<Int32>.ObservableCollection(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.91659788624314 < 20.638214852937924. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 8.075434844130205 (T) = (0 -17074.761934335278) / Math.Sqrt((9067171.452330904 / (299)) + (6303195.9719917625 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.2878878302768751 = (23977.62973349281 - 17074.761934335278) / 23977.62973349281 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LoginViewModel).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 310.40 ns 266.62 ns 0.86 0.08 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LoginViewModel).SerializeToString(Mode%3a%20Reflection).html>) 427.32 ns 371.03 ns 0.87 0.05 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LoginViewModel).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 631.09 ns 521.23 ns 0.83 0.24 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LoginViewModel).SerializeObjectProperty(Mode%3a%20Reflection).html>) 727.72 ns 583.43 ns 0.80 0.24 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LoginViewModel).SerializeToStream(Mode%3a%20SourceGen).html>) 421.36 ns 361.83 ns 0.86 0.12 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LoginViewModel).SerializeToWriter(Mode%3a%20SourceGen).html>) 196.87 ns 171.18 ns 0.87 0.01 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LoginViewModel).SerializeToStream(Mode%3a%20Reflection).html>) 505.18 ns 436.49 ns 0.86 0.21 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LoginViewModel).SerializeToWriter(Mode%3a%20Reflection).html>) 298.31 ns 225.65 ns 0.76 0.01 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LoginViewModel).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 405.42 ns 342.84 ns 0.85 0.06 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;LoginViewModel&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<LoginViewModel>.SerializeToUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 266.621753473149 < 295.47663087932494. IsChangePoint: Marked as a change because one of 3/20/2023 7:45:43 PM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.08603779386443 (T) = (0 -272.0645057264783) / Math.Sqrt((95.22480678600951 / (299)) + (21.334762052045818 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12169374805658699 = (309.7604111601003 - 272.0645057264783) / 309.7604111601003 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LoginViewModel>.SerializeToString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 371.0260269016903 < 410.50174554111004. IsChangePoint: Marked as a change because one of 3/18/2023 3:39:51 AM, 4/12/2023 2:59:13 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.909651244693144 (T) = (0 -370.04832666914035) / Math.Sqrt((125.0207081849802 / (299)) + (96.11267491321816 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.13928983299366182 = (429.9337231674822 - 370.04832666914035) / 429.9337231674822 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LoginViewModel>.SerializeObjectProperty(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 521.2312512989374 < 597.6866392301447. IsChangePoint: Marked as a change because one of 2/5/2023 7:19:43 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 22.273417906825298 (T) = (0 -519.0585433267923) / Math.Sqrt((372.49664797559507 / (299)) + (163.3321966842585 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14686630686017013 = (608.4140709722478 - 519.0585433267923) / 608.4140709722478 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LoginViewModel>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 583.4294743956376 < 633.8549867607962. IsChangePoint: Marked as a change because one of 2/5/2023 4:54:05 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.69360717426387 (T) = (0 -565.139031048494) / Math.Sqrt((430.9582221707117 / (299)) + (360.4788163682149 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1547818311908514 = (668.6309545909716 - 565.139031048494) / 668.6309545909716 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LoginViewModel>.SerializeToStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 361.8253510069705 < 389.8452936163567. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.7435400294371 (T) = (0 -349.7427761552284) / Math.Sqrt((157.17851446343496 / (299)) + (73.39236546598687 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.12455658066172619 = (399.50357547903025 - 349.7427761552284) / 399.50357547903025 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LoginViewModel>.SerializeToWriter(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 171.1760159067038 < 186.68558925693853. IsChangePoint: Marked as a change because one of 3/24/2023 7:13:05 PM, 4/12/2023 8:39:35 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 69.55223401658581 (T) = (0 -170.9945381038514) / Math.Sqrt((20.150068955987265 / (299)) + (1.235395757255867 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1470678256749078 = (200.47847091611462 - 170.9945381038514) / 200.47847091611462 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LoginViewModel>.SerializeToStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 436.49225136035363 < 484.9066196512793. IsChangePoint: Marked as a change because one of 3/18/2023 3:40:27 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 27.612917565583775 (T) = (0 -437.2325472158046) / Math.Sqrt((224.31809262047122 / (299)) + (86.3803367462905 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15628587596953414 = (518.2235721349812 - 437.2325472158046) / 518.2235721349812 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LoginViewModel>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 225.65296745295652 < 283.3330397802878. IsChangePoint: Marked as a change because one of 3/20/2023 7:45:43 PM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 74.32584341201846 (T) = (0 -223.4688125046953) / Math.Sqrt((73.63480902814344 / (299)) + (8.178708906775277 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.24862768297831248 = (297.4142212085851 - 223.4688125046953) / 297.4142212085851 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LoginViewModel>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 342.83973180655704 < 381.73482790320173. IsChangePoint: Marked as a change because one of 3/13/2023 3:41:35 AM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 28.511723504313363 (T) = (0 -335.71865192588007) / Math.Sqrt((144.73893073743125 / (299)) + (48.94710673448752 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15870409935790275 = (399.0494327497038 - 335.71865192588007) / 399.0494327497038 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.IO.Tests.BinaryWriterTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[WriteBool - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.IO.Tests.BinaryWriterTests.WriteBool.html>) 3.46 ns 0.91 ns 0.26 0.16 True
[WriteAsciiChar - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.IO.Tests.BinaryWriterTests.WriteAsciiChar.html>) 7.24 ns 5.17 ns 0.71 0.19 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.BinaryWriterTests*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.IO.Tests.BinaryWriterTests.WriteBool ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.9144943519274477 < 3.3111655779357627. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 68.02447208278716 (T) = (0 -0.759068359142572) / Math.Sqrt((0.09051183539199953 / (299)) + (0.01263154231477482 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.7800356136014294 = (3.450869350128148 - 0.759068359142572) / 3.450869350128148 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.BinaryWriterTests.WriteAsciiChar ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.170615313837485 < 6.84137108552507. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 4.715572485201228 (T) = (0 -6.314989742535633) / Math.Sqrt((0.1808882758696055 / (299)) + (0.2832608589253403 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10812036018080678 = (7.080540311264245 - 6.314989742535633) / 7.080540311264245 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Hashtable).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 41.94 μs 37.30 μs 0.89 0.09 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Hashtable).DeserializeFromStream(Mode%3a%20SourceGen).html>) 45.90 μs 38.58 μs 0.84 0.06 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Hashtable).DeserializeFromString(Mode%3a%20SourceGen).html>) 43.70 μs 38.56 μs 0.88 0.09 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Hashtable).DeserializeFromReader(Mode%3a%20Reflection).html>) 49.66 μs 42.74 μs 0.86 0.05 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Hashtable).DeserializeFromString(Mode%3a%20Reflection).html>) 43.68 μs 37.76 μs 0.86 0.08 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Hashtable).DeserializeFromReader(Mode%3a%20SourceGen).html>) 49.75 μs 42.81 μs 0.86 0.06 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Hashtable).DeserializeFromStream(Mode%3a%20Reflection).html>) 44.49 μs 38.58 μs 0.87 0.05 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(Hashtable).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 42.38 μs 37.73 μs 0.89 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
python3 .\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>.DeserializeFromUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 37.300172480264365 < 41.47107377325163. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.492933813614027 (T) = (0 -36957.920565040906) / Math.Sqrt((1192221.2277624346 / (299)) + (1074732.872687304 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12457959775044344 = (42217.33977192057 - 36957.920565040906) / 42217.33977192057 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Hashtable>.DeserializeFromStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 38.58362629107981 < 43.28913477092865. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 29.70326109354648 (T) = (0 -38088.92267137451) / Math.Sqrt((963814.6639411332 / (299)) + (363138.588680232 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1292600697164473 = (43743.16755976841 - 38088.92267137451) / 43743.16755976841 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Hashtable>.DeserializeFromString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 38.55848307834407 < 41.51695749771872. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.960383577695456 (T) = (0 -38038.73433148095) / Math.Sqrt((1031644.6469226404 / (299)) + (786381.5464805537 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12006761827707732 = (43229.15615061291 - 38038.73433148095) / 43229.15615061291 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Hashtable>.DeserializeFromReader(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 42.73955119399831 < 47.227155902560256. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.934037015656028 (T) = (0 -43351.14823538252) / Math.Sqrt((963549.52188143 / (299)) + (495899.4785175261 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11620247980444381 = (49050.99555584892 - 43351.14823538252) / 49050.99555584892 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Hashtable>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 37.76460235010164 < 41.36168375083425. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.355898601370374 (T) = (0 -37991.58709000369) / Math.Sqrt((1032068.454877078 / (299)) + (764718.1226441676 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12097703798422764 = (43220.24421623926 - 37991.58709000369) / 43220.24421623926 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Hashtable>.DeserializeFromReader(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 42.81273639581572 < 47.73134693216439. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 21.43769487005382 (T) = (0 -42978.01408819602) / Math.Sqrt((1246243.324827608 / (299)) + (731027.4038430247 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.12721822233012745 = (49242.565768200926 - 42978.01408819602) / 49242.565768200926 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Hashtable>.DeserializeFromStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 38.58044157286045 < 42.65596370668412. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.128833005080978 (T) = (0 -37822.073778438134) / Math.Sqrt((791618.4204421161 / (299)) + (1036571.2229811642 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.13515684532474115 = (43732.870606624616 - 37822.073778438134) / 43732.870606624616 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<Hashtable>.DeserializeFromUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 37.73381954355886 < 40.85323692121619. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.882736467347733 (T) = (0 -36882.434959400016) / Math.Sqrt((709151.4076004445 / (299)) + (978026.1853453586 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.1265442605567357 = (42225.8773900881 - 36882.434959400016) / 42225.8773900881 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Binary_ToStream<IndexViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[BinaryFormatter_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.BinaryToStream(IndexViewModel).BinaryFormatter.html>) 17.48 μs 15.07 μs 0.86 0.07 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Binary_ToStream&lt;IndexViewModel&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Binary_ToStream<IndexViewModel>.BinaryFormatter_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.069282759865253 < 16.44626093293864. IsChangePoint: Marked as a change because one of 3/15/2023 9:07:40 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.70275523620274 (T) = (0 -14791.87303024055) / Math.Sqrt((152654.04491233832 / (299)) + (207560.813104924 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.149672590158123 = (17395.50302511262 - 14791.87303024055) / 17395.50302511262 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.ComponentModel.Tests.Perf_TypeDescriptorTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(int%3f)).html>) 200.74 ns 186.39 ns 0.93 0.10 False
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(int)).html>) 190.21 ns 172.50 ns 0.91 0.06 False
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(System.ComponentModel.Tests.IDerived)).html>) 107.89 ns 93.03 ns 0.86 0.02 False
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(System.ComponentModel.Tests.ClassWithNoConverter)).html>) 137.54 ns 115.48 ns 0.84 0.08 False
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(System.Guid)).html>) 190.58 ns 172.67 ns 0.91 0.10 False
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(System.ComponentModel.Tests.DerivedClass)).html>) 195.21 ns 181.84 ns 0.93 0.11 False
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(System.ComponentModel.Tests.SomeEnum)).html>) 260.16 ns 238.04 ns 0.91 0.14 False
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(System.Enum)).html>) 189.17 ns 173.21 ns 0.92 0.12 False
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(System.ComponentModel.Tests.SomeValueType%3f)).html>) 198.10 ns 172.43 ns 0.87 0.10 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.ComponentModel.Tests.Perf_TypeDescriptorTests*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(int?)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 186.3907645631153 < 191.0744632693384. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 35.47990846488479 (T) = (0 -181.71982254609568) / Math.Sqrt((20.296005475852365 / (299)) + (3.330768799584283 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10624234597571328 = (203.3211371425723 - 181.71982254609568) / 203.3211371425723 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(int)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 172.50095926750438 < 181.0895040648257. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 15.441408292680954 (T) = (0 -173.6753319241993) / Math.Sqrt((18.37627263859527 / (299)) + (16.55481904436074 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1001344766346993 = (193.0014290076271 - 173.6753319241993) / 193.0014290076271 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.ComponentModel.Tests.IDerived)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 93.03126120159448 < 101.91654317618614. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 30.22640795866216 (T) = (0 -94.22543306885035) / Math.Sqrt((2.0726377026350424 / (299)) + (2.033750656331688 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12318837846605149 = (107.46371370398415 - 94.22543306885035) / 107.46371370398415 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.ComponentModel.Tests.ClassWithNoConverter)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 115.48487673563007 < 122.88712787220325. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.34812878474186 (T) = (0 -116.05486154163705) / Math.Sqrt((12.80469574791802 / (299)) + (7.982700642458248 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11586138000300555 = (131.26319664899557 - 116.05486154163705) / 131.26319664899557 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.Guid)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 172.6686559242016 < 181.74510096694354. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 58.00377469710138 (T) = (0 -172.75833325125458) / Math.Sqrt((21.016460421483515 / (299)) + (0.6232668558992921 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10684629048264017 = (193.42508619777138 - 172.75833325125458) / 193.42508619777138 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.ComponentModel.Tests.DerivedClass)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 181.83600891058614 < 182.02234353242082. IsChangePoint: Marked as a change because one of 2/14/2023 11:21:41 AM, 2/15/2023 9:41:15 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.150859962816615 (T) = (0 -173.5719716019961) / Math.Sqrt((42.50966234496166 / (299)) + (9.178946726612885 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.10676885753596389 = (194.31921184833138 - 173.5719716019961) / 194.31921184833138 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.ComponentModel.Tests.SomeEnum)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 238.03760958943172 < 248.19079026595045. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 9.650472131037152 (T) = (0 -241.5023518499) / Math.Sqrt((69.05560293091128 / (299)) + (83.19013454399935 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.104620459695625 = (269.7206502706146 - 241.5023518499) / 269.7206502706146 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.Enum)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 173.21173411764258 < 180.035994745494. IsChangePoint: Marked as a change because one of 2/17/2023 12:34:41 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 7.279588035063388 (T) = (0 -176.34601362953674) / Math.Sqrt((26.08024936099231 / (299)) + (56.67767239983633 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08633429965430163 = (193.0093398086562 - 176.34601362953674) / 193.0093398086562 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.ComponentModel.Tests.SomeValueType?)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 172.42966058634514 < 182.1632006204162. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 40.84368397116272 (T) = (0 -173.01019406886425) / Math.Sqrt((28.120170056915693 / (299)) + (1.7175898356236652 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10561255510267066 = (193.43987335234212 - 173.01019406886425) / 193.43987335234212 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.WriteJson<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeToStream(Mode%3a%20Reflection).html>) 236.49 ns 194.85 ns 0.82 0.48 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeToWriter(Mode%3a%20SourceGen).html>) 64.99 ns 44.43 ns 0.68 0.10 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeToStream(Mode%3a%20SourceGen).html>) 236.28 ns 211.42 ns 0.89 0.50 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 166.33 ns 119.94 ns 0.72 0.16 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeToString(Mode%3a%20Reflection).html>) 186.43 ns 146.76 ns 0.79 0.08 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 165.84 ns 123.77 ns 0.75 0.19 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 346.22 ns 264.29 ns 0.76 0.14 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeToWriter(Mode%3a%20Reflection).html>) 65.06 ns 44.47 ns 0.68 0.11 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeObjectProperty(Mode%3a%20Reflection).html>) 356.60 ns 269.48 ns 0.76 0.16 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeToString(Mode%3a%20SourceGen).html>) 192.61 ns 134.53 ns 0.70 0.14 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeToStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 194.85180786750405 < 226.7645919719472. IsChangePoint: Marked as a change because one of 3/23/2023 12:23:24 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 14.445664520494892 (T) = (0 -203.91769495706666) / Math.Sqrt((171.58096009832167 / (299)) + (124.8718351859009 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19655465631342198 = (253.80406590123252 - 203.91769495706666) / 253.80406590123252 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeToWriter(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 44.43294746391883 < 60.55715114833635. IsChangePoint: Marked as a change because one of 3/13/2023 2:14:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 83.05640873793946 (T) = (0 -44.12285532373667) / Math.Sqrt((10.71250941088832 / (299)) + (0.39335527108244867 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.33495104174505885 = (66.34527394721898 - 44.12285532373667) / 66.34527394721898 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeToStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 211.41586867714943 < 228.02228341847376. IsChangePoint: Marked as a change because one of 3/13/2023 2:14:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 10.923989690685705 (T) = (0 -211.3303870444049) / Math.Sqrt((150.91082628059152 / (299)) + (118.69434599853807 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.1605663953430061 = (251.75354652469255 - 211.3303870444049) / 251.75354652469255 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeToUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 119.94146780956547 < 155.86199967532616. IsChangePoint: Marked as a change because one of 2/2/2023 8:18:56 AM, 3/13/2023 9:17:14 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 28.866517537314483 (T) = (0 -121.82886907774376) / Math.Sqrt((30.3692603680711 / (299)) + (17.855489551986018 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23732876743669098 = (159.73969369249915 - 121.82886907774376) / 159.73969369249915 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeToString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 146.7550798223369 < 178.23458029832108. IsChangePoint: Marked as a change because one of 3/13/2023 2:14:21 PM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 41.929279245089774 (T) = (0 -139.56993297492733) / Math.Sqrt((55.25965316474131 / (299)) + (10.962067172392443 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.24615125768060636 = (185.1431529162037 - 139.56993297492733) / 185.1431529162037 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 123.76902605903003 < 156.280030542454. IsChangePoint: Marked as a change because one of 3/15/2023 9:07:40 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.18715660978901 (T) = (0 -125.20756608668036) / Math.Sqrt((53.379931141490005 / (299)) + (46.125454069855714 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2230069183800093 = (161.14373351385447 - 125.20756608668036) / 161.14373351385447 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeObjectProperty(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 264.2869518057386 < 330.8249123322015. IsChangePoint: Marked as a change because one of 2/5/2023 4:54:05 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 33.423115153425435 (T) = (0 -273.1090359769771) / Math.Sqrt((99.48267852288228 / (299)) + (42.33305566645435 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20015483557753602 = (341.45238119202503 - 273.1090359769771) / 341.45238119202503 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 44.467940414764435 < 61.54088979943256. IsChangePoint: Marked as a change because one of 3/13/2023 2:14:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 69.48959891768389 (T) = (0 -43.979191057141364) / Math.Sqrt((14.79389217917704 / (299)) + (0.580587779494194 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.34130116572030594 = (66.76676618873003 - 43.979191057141364) / 66.76676618873003 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 269.4844664653261 < 339.5292523111329. IsChangePoint: Marked as a change because one of 2/3/2023 8:13:11 AM, 4/18/2023 7:42:00 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.288802752767207 (T) = (0 -277.66070414194957) / Math.Sqrt((203.15652740972993 / (299)) + (140.34969861264574 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.19279865359284362 = (343.9794858839298 - 277.66070414194957) / 343.9794858839298 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeToString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 134.52614484824733 < 179.60595180491475. IsChangePoint: Marked as a change because one of 1/28/2023 4:01:39 AM, 3/20/2023 7:45:43 PM, 4/17/2023 2:42:45 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 22.57550636204514 (T) = (0 -141.4961913526632) / Math.Sqrt((55.11537933759247 / (299)) + (39.17213048250373 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23592745601463502 = (185.18685492168845 - 141.4961913526632) / 185.18685492168845 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Xml_ToStream<ClassImplementingIXmlSerialiable>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DataContractSerializerBinaryXml - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Xml_ToStream(ClassImplementingIXmlSerialiable).DataContractSerializerBinaryXml.html>) 446.85 ns 278.72 ns 0.62 0.03 False
[DataContractSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.XmlToStream(ClassImplementingIXmlSerialiable).DataContractSerializer.html>) 729.09 ns 591.19 ns 0.81 0.07 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;ClassImplementingIXmlSerialiable&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Xml_ToStream<ClassImplementingIXmlSerialiable>.DataContractSerializer_BinaryXml_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 278.720095137473 < 426.06920781449895. IsChangePoint: Marked as a change because one of 4/4/2023 3:37:20 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 54.89347506072674 (T) = (0 -291.47866228319083) / Math.Sqrt((1577.1976830509793 / (217)) + (53.20038943849424 / (11))) is greater than 1.9705162426829501 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (217) + (11) - 2, .975) and 0.39585173455141376 = (482.46213546068026 - 291.47866228319083) / 482.46213546068026 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Xml_ToStream<ClassImplementingIXmlSerialiable>.DataContractSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 591.1945305088361 < 715.2360945569285. IsChangePoint: Marked as a change because one of 4/4/2023 11:36:00 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 35.383111381827746 (T) = (0 -567.4428584409095) / Math.Sqrt((471.32588765926596 / (299)) + (299.73560248599887 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.25939408198452374 = (766.1873131684208 - 567.4428584409095) / 766.1873131684208 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Tests.Perf_StringBuilder

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Append_ValueTypes_Interpolated - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Tests.Perf_StringBuilder.Append_ValueTypes_Interpolated.html>) 3.58 μs 2.98 μs 0.83 0.01 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Tests.Perf_StringBuilder*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Tests.Perf_StringBuilder.Append_ValueTypes_Interpolated ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.983512199871661 < 3.386736939083816. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 4/9/2023 1:38:49 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 51.33128641924482 (T) = (0 -2920.363800978387) / Math.Sqrt((93451.30503806732 / (299)) + (1196.4611457487267 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.26513021870336967 = (3973.9881477036565 - 2920.363800978387) / 3973.9881477036565 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Microsoft.Extensions.Logging.EventSourceLogger

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[NestedScopes_TwoMessages - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers%3a%20True%2c%20Json%3a%20True).html>) 2.77 μs 2.48 μs 0.90 0.28 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Logging.EventSourceLogger*'
### Payloads [Baseline]() [Compare]() ### Histogram #### Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers: True, Json: True) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.4788540508216137 < 2.631815800940333. IsChangePoint: Marked as a change because one of 4/26/2023 12:55:36 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 9.822920529394365 (T) = (0 -2394.4125693354913) / Math.Sqrt((9052.748864151736 / (299)) + (9386.420256041032 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10869126349055971 = (2686.400874642533 - 2394.4125693354913) / 2686.400874642533 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToWriter(Mode%3a%20Reflection).html>) 7.01 μs 5.99 μs 0.85 0.33 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeObjectProperty(Mode%3a%20Reflection).html>) 8.17 μs 6.39 μs 0.78 0.56 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 5.26 μs 4.53 μs 0.86 0.00 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToString(Mode%3a%20Reflection).html>) 7.86 μs 6.19 μs 0.79 0.33 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToStream(Mode%3a%20SourceGen).html>) 5.14 μs 4.37 μs 0.85 0.00 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 7.19 μs 5.65 μs 0.79 0.37 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToStream(Mode%3a%20Reflection).html>) 7.09 μs 5.55 μs 0.78 0.38 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToWriter(Mode%3a%20SourceGen).html>) 5.07 μs 4.29 μs 0.85 0.01 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 6.08 μs 5.29 μs 0.87 0.00 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToString(Mode%3a%20SourceGen).html>) 5.85 μs 5.09 μs 0.87 0.00 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;HashSet&lt;String&gt;&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<HashSet<String>>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.985962657967034 < 6.69260973647485. IsChangePoint: Marked as a change because one of 3/19/2023 10:05:03 PM, 4/4/2023 10:11:10 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.806615234060036 (T) = (0 -5479.775146429265) / Math.Sqrt((128255.75136730165 / (299)) + (92865.73345203388 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2527742403213133 = (7333.493359203267 - 5479.775146429265) / 7333.493359203267 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<HashSet<String>>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.394734720044546 < 7.776897062156107. IsChangePoint: Marked as a change because one of 4/19/2023 4:06:12 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 24.44045501234415 (T) = (0 -6606.444064984076) / Math.Sqrt((400776.5378241111 / (299)) + (65127.533783173654 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.24689779036197151 = (8772.307371345254 - 6606.444064984076) / 8772.307371345254 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<HashSet<String>>.SerializeToUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.527698672904176 < 4.996728328485516. IsChangePoint: Marked as a change because one of 4/6/2023 5:23:20 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 153.2162693588927 (T) = (0 -4543.629362000638) / Math.Sqrt((7188.572186410816 / (299)) + (117.0347077390852 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16568442627609345 = (5445.936172233344 - 4543.629362000638) / 5445.936172233344 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<HashSet<String>>.SerializeToString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.187299715478572 < 7.482270895726963. IsChangePoint: Marked as a change because one of 3/16/2023 8:14:39 PM, 3/19/2023 10:05:03 PM, 4/12/2023 6:21:10 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.696833056492306 (T) = (0 -6281.178091066793) / Math.Sqrt((217001.50777937248 / (299)) + (53070.58221485689 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2404965315367263 = (8270.111134285786 - 6281.178091066793) / 8270.111134285786 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<HashSet<String>>.SerializeToStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.371065741551567 < 4.874740204699421. IsChangePoint: Marked as a change because one of 4/8/2023 9:16:19 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 113.25451737046467 (T) = (0 -4399.443604546586) / Math.Sqrt((8263.340517531957 / (299)) + (355.7346017784323 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.17421604626872364 = (5327.596382404686 - 4399.443604546586) / 5327.596382404686 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<HashSet<String>>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.650471451134605 < 6.94021157392875. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.287157209979938 (T) = (0 -5865.35724292076) / Math.Sqrt((177084.3144259158 / (299)) + (86057.03128601509 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23174986894705443 = (7634.697354209155 - 5865.35724292076) / 7634.697354209155 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<HashSet<String>>.SerializeToStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.550316782567909 < 6.786033060405502. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.323224516246828 (T) = (0 -5753.298143442604) / Math.Sqrt((98651.79237374559 / (299)) + (80798.72947184872 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.22734904202127776 = (7446.180042917958 - 5753.298143442604) / 7446.180042917958 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<HashSet<String>>.SerializeToWriter(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.288514967483717 < 4.819335559546201. IsChangePoint: Marked as a change because one of 4/4/2023 10:11:10 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 22.00584741975868 (T) = (0 -4563.332511153273) / Math.Sqrt((4943.366181921112 / (299)) + (9985.760623580496 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12786536012032387 = (5232.371588614864 - 4563.332511153273) / 5232.371588614864 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<HashSet<String>>.SerializeObjectProperty(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.2946580156425025 < 5.795026603480896. IsChangePoint: Marked as a change because one of 4/4/2023 10:11:10 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 113.93860452399721 (T) = (0 -5318.8517969370405) / Math.Sqrt((7248.324610849892 / (299)) + (555.2875717693668 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15624170869301435 = (6303.76240652772 - 5318.8517969370405) / 6303.76240652772 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<HashSet<String>>.SerializeToString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.085850578361944 < 5.535914710909866. IsChangePoint: Marked as a change because one of 4/8/2023 3:10:58 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 144.9469283331126 (T) = (0 -5096.300652419077) / Math.Sqrt((8142.855152836824 / (299)) + (135.02147296845857 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15165913717814794 = (6007.3737759927735 - 5096.300652419077) / 6007.3737759927735 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Microsoft.Extensions.DependencyInjection.ScopeValidation

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Transient - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.DependencyInjection.ScopeValidation.Transient.html>) 34.05 ns 22.04 ns 0.65 0.38 False
[TransientWithScopeValidation - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.DependencyInjection.ScopeValidation.TransientWithScopeValidation.html>) 52.84 ns 29.36 ns 0.56 0.25 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.DependencyInjection.ScopeValidation*'
### Payloads [Baseline]() [Compare]() ### Histogram #### Microsoft.Extensions.DependencyInjection.ScopeValidation.Transient ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.0414844470832 < 32.288414245021336. IsChangePoint: Marked as a change because one of 2/14/2023 11:21:41 AM, 2/18/2023 9:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.101119426107257 (T) = (0 -23.67322226190242) / Math.Sqrt((11.114080274517521 / (299)) + (4.654722340395052 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3655216444435388 = (37.311315751882695 - 23.67322226190242) / 37.311315751882695 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.DependencyInjection.ScopeValidation.TransientWithScopeValidation ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 29.359411382551777 < 46.84550570075362. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 28.461278004467946 (T) = (0 -31.98932459674778) / Math.Sqrt((3.6601410086119652 / (299)) + (4.526022786413654 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.36674067051288284 = (50.515362517684885 - 31.98932459674778) / 50.515362517684885 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.ContainsKeyTrue<String, String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.ContainsKeyTrue(String%2c%20String).ImmutableDictionary(Size%3a%20512).html>) 41.16 μs 38.82 μs 0.94 0.46 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsKeyTrue&lt;String, String&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.ContainsKeyTrue<String, String>.ImmutableDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 38.81982817411083 < 39.03587206277341. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 27.287542965423565 (T) = (0 -38566.02004611822) / Math.Sqrt((3675264.361036129 / (299)) + (47823.29902829783 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.08463034283336511 = (42131.634738136854 - 38566.02004611822) / 42131.634738136854 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(LoginViewModel).DeserializeFromString(Mode%3a%20SourceGen).html>) 608.45 ns 479.52 ns 0.79 0.11 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(LoginViewModel).DeserializeFromString(Mode%3a%20Reflection).html>) 606.92 ns 479.88 ns 0.79 0.14 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(LoginViewModel).DeserializeFromReader(Mode%3a%20SourceGen).html>) 829.81 ns 643.54 ns 0.78 0.09 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(LoginViewModel).DeserializeFromStream(Mode%3a%20SourceGen).html>) 936.36 ns 747.00 ns 0.80 0.08 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(LoginViewModel).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 520.00 ns 419.06 ns 0.81 0.16 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(LoginViewModel).DeserializeFromReader(Mode%3a%20Reflection).html>) 837.97 ns 691.43 ns 0.83 0.16 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(LoginViewModel).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 525.37 ns 399.61 ns 0.76 0.08 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(LoginViewModel).DeserializeFromStream(Mode%3a%20Reflection).html>) 930.50 ns 768.85 ns 0.83 0.05 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
python3 .\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>.DeserializeFromString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 479.515706908832 < 573.4955380391929. IsChangePoint: Marked as a change because one of 1/31/2023 8:24:06 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 61.12439854970036 (T) = (0 -470.7632905281123) / Math.Sqrt((268.2530993568635 / (299)) + (40.69408550129064 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21775752457196887 = (601.8124882192287 - 470.7632905281123) / 601.8124882192287 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 479.87763436852595 < 570.3337432073309. IsChangePoint: Marked as a change because one of 3/29/2023 4:47:17 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 42.73529319597843 (T) = (0 -479.09027608353676) / Math.Sqrt((406.9207032678634 / (299)) + (80.06977646162152 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2077301626432872 = (604.7059391809591 - 479.09027608353676) / 604.7059391809591 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>.DeserializeFromReader(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 643.5442998993818 < 794.8103145041989. IsChangePoint: Marked as a change because one of 3/8/2023 2:17:54 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 41.28178081878793 (T) = (0 -655.5926413647004) / Math.Sqrt((825.9445778199503 / (299)) + (152.90388108527864 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.211073041626342 = (830.9928243752488 - 655.5926413647004) / 830.9928243752488 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>.DeserializeFromStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 746.9971842499078 < 875.6436861008468. IsChangePoint: Marked as a change because one of 2/8/2023 4:01:29 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 31.146378162046023 (T) = (0 -765.7186871615089) / Math.Sqrt((512.256010122978 / (299)) + (282.63531215952816 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1755617704566762 = (928.7762984810383 - 765.7186871615089) / 928.7762984810383 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>.DeserializeFromUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 419.0598444147617 < 496.943155780155. IsChangePoint: Marked as a change because one of 3/31/2023 7:02:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 56.584890638256375 (T) = (0 -420.2673964832908) / Math.Sqrt((385.1013450665766 / (299)) + (29.917891818333278 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2123143147136898 = (533.5470789094394 - 420.2673964832908) / 533.5470789094394 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>.DeserializeFromReader(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 691.4316289814705 < 796.5382656775324. IsChangePoint: Marked as a change because one of 3/25/2023 3:46:49 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 55.51663238049467 (T) = (0 -680.5184263316238) / Math.Sqrt((749.4812730376074 / (299)) + (64.77730685190357 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1911854186982839 = (841.3775444507802 - 680.5184263316238) / 841.3775444507802 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>.DeserializeFromUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 399.6067377304383 < 494.69701544588526. IsChangePoint: Marked as a change because one of 2/9/2023 1:20:08 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 66.18049120815961 (T) = (0 -401.5157748536738) / Math.Sqrt((204.77898128637327 / (299)) + (28.800556024338285 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23051090940587876 = (521.7952791814945 - 401.5157748536738) / 521.7952791814945 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>.DeserializeFromStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 768.8475005335123 < 879.705413577205. IsChangePoint: Marked as a change because one of 2/9/2023 1:41:04 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 56.21515659882932 (T) = (0 -763.113218505546) / Math.Sqrt((449.23021292511265 / (299)) + (73.12034071501422 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17375764976046978 = (923.5948971682668 - 763.113218505546) / 923.5948971682668 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(MyEventsListerViewModel).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 348.76 μs 305.09 μs 0.87 0.01 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(MyEventsListerViewModel).DeserializeFromReader(Mode%3a%20SourceGen).html>) 480.55 μs 393.32 μs 0.82 0.01 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(MyEventsListerViewModel).DeserializeFromString(Mode%3a%20Reflection).html>) 362.54 μs 301.81 μs 0.83 0.04 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(MyEventsListerViewModel).DeserializeFromStream(Mode%3a%20Reflection).html>) 387.05 μs 313.95 μs 0.81 0.02 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(MyEventsListerViewModel).DeserializeFromReader(Mode%3a%20Reflection).html>) 469.31 μs 400.56 μs 0.85 0.02 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(MyEventsListerViewModel).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 358.67 μs 288.13 μs 0.80 0.01 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(MyEventsListerViewModel).DeserializeFromString(Mode%3a%20SourceGen).html>) 355.05 μs 296.21 μs 0.83 0.02 False

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
python3 .\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>.DeserializeFromUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 305.08915426829265 < 332.03173389849945. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 31.971876027725163 (T) = (0 -294094.69419061224) / Math.Sqrt((34126249.89282143 / (299)) + (34586158.1031618 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.17045906194283994 = (354527.0410395918 - 294094.69419061224) / 354527.0410395918 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<MyEventsListerViewModel>.DeserializeFromReader(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 393.3235151706036 < 456.54756002564096. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.38714429844231 (T) = (0 -396664.6670911483) / Math.Sqrt((36532832.40625464 / (299)) + (45650909.06768575 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17028912145271846 = (478075.76994248625 - 396664.6670911483) / 478075.76994248625 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<MyEventsListerViewModel>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 301.80736783273016 < 343.4569559537647. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.823913277906414 (T) = (0 -295371.07069946366) / Math.Sqrt((37257286.51814825 / (299)) + (73127542.32286869 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.18535318135550374 = (362575.6142900506 - 295371.07069946366) / 362575.6142900506 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<MyEventsListerViewModel>.DeserializeFromStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 313.9465914380715 < 367.40868860529923. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.440186830377904 (T) = (0 -318987.107686365) / Math.Sqrt((38931568.609348595 / (299)) + (33680638.65548045 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1809345381279491 = (389452.5194082657 - 318987.107686365) / 389452.5194082657 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<MyEventsListerViewModel>.DeserializeFromReader(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 400.56215584000006 < 452.43354115967577. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 36.899290874319945 (T) = (0 -399194.11470698763) / Math.Sqrt((69289919.23446327 / (299)) + (46426600.140588254 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.16948844712869637 = (480660.5198047701 - 399194.11470698763) / 480660.5198047701 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<MyEventsListerViewModel>.DeserializeFromUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 288.1253738761239 < 340.7604627296926. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 38.234762639109505 (T) = (0 -287057.4228880424) / Math.Sqrt((28672491.41957081 / (299)) + (30212488.02313461 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.18338231324980092 = (351519.9677224875 - 287057.4228880424) / 351519.9677224875 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<MyEventsListerViewModel>.DeserializeFromString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 296.21413634562026 < 341.54081776948277. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.411440777898786 (T) = (0 -294434.2901637193) / Math.Sqrt((34134165.634387985 / (299)) + (56905464.05433515 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.17963449069799695 = (358906.2275597554 - 294434.2901637193) / 358906.2275597554 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Concurrent.Count<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Queue_EnqueueCountDequeue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Concurrent.Count(String).Queue_EnqueueCountDequeue(Size%3a%20512).html>) 50.04 ns 46.44 ns 0.93 0.11 False
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Concurrent.Count(String).Queue(Size%3a%20512).html>) 13.62 ns 5.24 ns 0.38 0.08 False
[Bag - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Concurrent.Count(String).Bag(Size%3a%20512).html>) 65.31 ns 52.67 ns 0.81 0.15 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Concurrent.Count&lt;String&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.Concurrent.Count<String>.Queue_EnqueueCountDequeue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 46.43593358366448 < 47.301493056068225. IsChangePoint: Marked as a change because one of 1/27/2023 7:12:54 PM, 3/14/2023 3:18:57 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 10.086230923534012 (T) = (0 -43.74364241631271) / Math.Sqrt((3.7434309965396304 / (299)) + (1.1089942110534312 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.07493387735941714 = (47.28704396983791 - 43.74364241631271) / 47.28704396983791 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Concurrent.Count<String>.Queue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.237584689072528 < 12.910619303984415. IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 4/25/2023 6:46:56 PM, 5/2/2023 12:51:17 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 81.54331186079983 (T) = (0 -5.398043800018211) / Math.Sqrt((1.9352539221700131 / (299)) + (0.0380626666697359 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6008803020027198 = (13.524874435175075 - 5.398043800018211) / 13.524874435175075 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Concurrent.Count<String>.Bag(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 52.67308938399811 < 61.950853367914426. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 38.912334010330966 (T) = (0 -52.11939128116657) / Math.Sqrt((4.512338648692335 / (299)) + (1.0867398775476729 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2012492734451001 = (65.25113473882304 - 52.11939128116657) / 65.25113473882304 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Benchstone.MDBenchI.MDPuzzle

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Test - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Benchstone.MDBenchI.MDPuzzle.Test.html>) 705.76 ms 609.07 ms 0.86 0.00 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Benchstone.MDBenchI.MDPuzzle*'
### Payloads [Baseline]() [Compare]() ### Histogram #### Benchstone.MDBenchI.MDPuzzle.Test ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 609.0720246666666 < 670.4458204383333. IsChangePoint: Marked as a change because one of 3/16/2023 8:14:39 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 300.5011457007938 (T) = (0 -609233028.7014287) / Math.Sqrt((22732073659040.863 / (299)) + (335793147232.7584 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.14037493123816247 = (708719476.4793662 - 609233028.7014287) / 708719476.4793662 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.ColdStartSerialization<SimpleStructWithProperties>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[CachedJsonSerializerContext - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ColdStartSerialization(SimpleStructWithProperties).CachedJsonSerializerContext.html>) 734.11 ns 572.68 ns 0.78 0.06 True
[NewCustomizedOptions - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ColdStartSerialization(SimpleStructWithProperties).NewCustomizedOptions.html>) 1.57 μs 1.26 μs 0.80 0.23 False
[NewCachedCustomConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ColdStartSerialization(SimpleStructWithProperties).NewCachedCustomConverter.html>) 1.63 μs 1.36 μs 0.83 0.24 False
[CachedDefaultOptions - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ColdStartSerialization(SimpleStructWithProperties).CachedDefaultOptions.html>) 823.48 ns 593.65 ns 0.72 0.17 False
[NewCustomConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ColdStartSerialization(SimpleStructWithProperties).NewCustomConverter.html>) 38.73 μs 34.71 μs 0.90 0.15 False
[NewDefaultOptions - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ColdStartSerialization(SimpleStructWithProperties).NewDefaultOptions.html>) 1.36 μs 1.16 μs 0.85 0.24 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ColdStartSerialization&lt;SimpleStructWithProperties&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.ColdStartSerialization<SimpleStructWithProperties>.CachedJsonSerializerContext ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 572.6823761061021 < 700.40185107504. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.89594973339561 (T) = (0 -554.8115489778312) / Math.Sqrt((279.03021768238585 / (299)) + (162.11369428806293 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.23838368709994787 = (728.4659474601351 - 554.8115489778312) / 728.4659474601351 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ColdStartSerialization<SimpleStructWithProperties>.NewCustomizedOptions ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2550025664682538 < 1.4689035375187334. IsChangePoint: Marked as a change because one of 3/13/2023 2:14:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 44.79336341699635 (T) = (0 -1261.904993033256) / Math.Sqrt((3901.3069432663 / (299)) + (414.52893029754796 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2018073593044287 = (1580.9529287736736 - 1261.904993033256) / 1580.9529287736736 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ColdStartSerialization<SimpleStructWithProperties>.NewCachedCustomConverter ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3562191119401188 < 1.5895563087996492. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 45.5125059660151 (T) = (0 -1364.6768105677281) / Math.Sqrt((3513.9454672180045 / (299)) + (457.98550191807465 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19593476203482185 = (1697.221501605108 - 1364.6768105677281) / 1697.221501605108 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ColdStartSerialization<SimpleStructWithProperties>.CachedDefaultOptions ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 593.6545222585706 < 754.0096043058724. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 50.858087592988554 (T) = (0 -603.2852944111062) / Math.Sqrt((518.540354138217 / (299)) + (165.27355164636003 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2565687092290941 = (811.4876275728528 - 603.2852944111062) / 811.4876275728528 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ColdStartSerialization<SimpleStructWithProperties>.NewCustomConverter ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 34.709850273188785 < 37.15921436784412. IsChangePoint: Marked as a change because one of 2/3/2023 10:29:12 PM, 4/25/2023 1:02:54 PM, 5/10/2023 2:36:50 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.28633379916919 (T) = (0 -33629.012601463335) / Math.Sqrt((2571346.738299123 / (299)) + (519609.9226478715 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.12926250030588338 = (38621.29816767619 - 33629.012601463335) / 38621.29816767619 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ColdStartSerialization<SimpleStructWithProperties>.NewDefaultOptions ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.1560988886282497 < 1.347722165740539. IsChangePoint: Marked as a change because one of 3/17/2023 1:30:52 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 36.995045596644474 (T) = (0 -1153.5105708374392) / Math.Sqrt((3681.6173699058527 / (299)) + (570.0253970753155 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2043545660671725 = (1449.7796652155796 - 1153.5105708374392) / 1449.7796652155796 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Load - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks.Load(FileName%3a%20%22repeated.xml%22).html>) 156.48 μs 125.54 μs 0.80 0.29 False
[Load - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks.Load(FileName%3a%20%22simple.xml%22).html>) 66.89 μs 55.75 μs 0.83 0.22 False
[Load - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks.Load(FileName%3a%20%22deep.xml%22).html>) 105.53 μs 87.52 μs 0.83 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks*'
### Payloads [Baseline]() [Compare]() ### Histogram #### Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks.Load(FileName: "repeated.xml") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 125.53873056194307 < 149.02486604277186. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 27.5057145597484 (T) = (0 -124808.16966365937) / Math.Sqrt((20421989.69010892 / (299)) + (10837310.84387515 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.19910247366735442 = (155835.37913416082 - 124808.16966365937) / 155835.37913416082 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks.Load(FileName: "simple.xml") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 55.74972681764414 < 66.33079738032762. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.918711408682245 (T) = (0 -54604.562788007155) / Math.Sqrt((3936791.36485642 / (299)) + (3128557.09310332 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2196528298380924 = (69974.704690321 - 54604.562788007155) / 69974.704690321 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks.Load(FileName: "deep.xml") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 87.51829197394629 < 100.11242442794696. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.738061120208272 (T) = (0 -90294.34818264398) / Math.Sqrt((3947101.4220120907 / (299)) + (5287527.609599075 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1331658859242445 = (104165.66066844118 - 90294.34818264398) / 104165.66066844118 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetHashCodeBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int64).GetHashCodeBenchmark.html>) 11.94 ns 10.88 ns 0.91 0.03 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Runtime.Intrinsics.Tests.Perf_Vector128Of&lt;Int64&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.GetHashCodeBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.879040976400452 < 11.326191630121036. IsChangePoint: Marked as a change because one of 2/14/2023 11:21:41 AM, 3/3/2023 4:19:26 AM, 4/12/2023 8:39:35 PM, 4/28/2023 1:33:49 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 33.238510587923216 (T) = (0 -10.823865569272261) / Math.Sqrt((0.21616933360943497 / (299)) + (0.008894358576345934 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.10977348708097638 = (12.158552247316427 - 10.823865569272261) / 12.158552247316427 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Tests.Perf_Basic

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[WriteBasicUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Basic.WriteBasicUtf16(Formatted%3a%20False%2c%20SkipValidation%3a%20False%2c%20DataSize%3a%2010).html>) 848.79 ns 743.03 ns 0.88 0.01 False
[WriteBasicUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Basic.WriteBasicUtf16(Formatted%3a%20True%2c%20SkipValidation%3a%20False%2c%20DataSize%3a%2010).html>) 1.03 μs 893.98 ns 0.87 0.01 False
[WriteBasicUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Basic.WriteBasicUtf8(Formatted%3a%20True%2c%20SkipValidation%3a%20False%2c%20DataSize%3a%2010).html>) 929.00 ns 795.57 ns 0.86 0.01 False
[WriteBasicUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Basic.WriteBasicUtf8(Formatted%3a%20True%2c%20SkipValidation%3a%20True%2c%20DataSize%3a%2010).html>) 871.62 ns 763.69 ns 0.88 0.01 False
[WriteBasicUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Basic.WriteBasicUtf8(Formatted%3a%20True%2c%20SkipValidation%3a%20False%2c%20DataSize%3a%20100000).html>) 2.99 ms 2.77 ms 0.92 0.01 False
[WriteBasicUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Basic.WriteBasicUtf16(Formatted%3a%20True%2c%20SkipValidation%3a%20True%2c%20DataSize%3a%2010).html>) 971.02 ns 852.18 ns 0.88 0.01 False
[WriteBasicUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Basic.WriteBasicUtf16(Formatted%3a%20False%2c%20SkipValidation%3a%20True%2c%20DataSize%3a%2010).html>) 800.30 ns 721.28 ns 0.90 0.01 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Basic*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf16(Formatted: False, SkipValidation: False, DataSize: 10) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 743.0292058907218 < 807.1223566364758. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/24/2023 7:54:29 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 43.6356645548152 (T) = (0 -765.0618716476827) / Math.Sqrt((727.2952222472799 / (299)) + (61.22793214830283 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13890093632778394 = (888.4713779446279 - 765.0618716476827) / 888.4713779446279 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf16(Formatted: True, SkipValidation: False, DataSize: 10) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 893.9818070240789 < 0.9811262909199858. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/24/2023 7:54:29 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 23.208713771671164 (T) = (0 -940.8128905801178) / Math.Sqrt((671.5841540636279 / (299)) + (248.74892272366145 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10952582953328678 = (1056.5302417329199 - 940.8128905801178) / 1056.5302417329199 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf8(Formatted: True, SkipValidation: False, DataSize: 10) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 795.5660179357686 < 882.9490233556095. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/24/2023 7:54:29 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 86.21001214568263 (T) = (0 -796.9449896826695) / Math.Sqrt((766.0578727793147 / (299)) + (3.8439180012923173 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15582019040873293 = (944.0464941568935 - 796.9449896826695) / 944.0464941568935 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf8(Formatted: True, SkipValidation: True, DataSize: 10) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 763.6938545311332 < 827.7668138053964. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/24/2023 7:54:29 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 60.40498902689564 (T) = (0 -765.0968902760251) / Math.Sqrt((744.6265641572664 / (299)) + (24.36942501683014 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14622343214066957 = (896.1324532416585 - 765.0968902760251) / 896.1324532416585 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf8(Formatted: True, SkipValidation: False, DataSize: 100000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.7682212111111113 < 2.845491753429101. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/24/2023 7:54:29 PM, 5/19/2023 1:23:34 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 34.914183479750754 (T) = (0 -2771201.0285582175) / Math.Sqrt((22403349532.624973 / (299)) + (36853770.34189022 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.10071756649404368 = (3081569.177054166 - 2771201.0285582175) / 3081569.177054166 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf16(Formatted: True, SkipValidation: True, DataSize: 10) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 852.1809219204875 < 922.6448404400626. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/24/2023 7:54:29 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.43702687420382 (T) = (0 -901.3788874986117) / Math.Sqrt((753.5307372571042 / (299)) + (272.7928065579216 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10595167495792832 = (1008.1992910799257 - 901.3788874986117) / 1008.1992910799257 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Basic.WriteBasicUtf16(Formatted: False, SkipValidation: True, DataSize: 10) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 721.2775632296757 < 757.4689315082604. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/24/2023 7:54:29 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 51.809109076938036 (T) = (0 -727.0237566688661) / Math.Sqrt((671.7834210074168 / (299)) + (14.169915214217138 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11815230905486573 = (824.4323414734656 - 727.0237566688661) / 824.4323414734656 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in ByteMark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[BenchEmFloat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/ByteMark.BenchEmFloat.html>) 3.38 secs 2.58 secs 0.76 0.01 False
[BenchEmFloatClass - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/ByteMark.BenchEmFloatClass.html>) 681.96 ms 537.36 ms 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'ByteMark*'
### Payloads [Baseline]() [Compare]() ### Histogram #### ByteMark.BenchEmFloat ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.5777010744615385 < 3.2099917856905127. IsChangePoint: Marked as a change because one of 4/20/2023 5:25:38 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 126.2757765232143 (T) = (0 -2582733901.783517) / Math.Sqrt((15912368295819418 / (299)) + (54459442432448.445 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2724519869374478 = (3549915408.2102647 - 2582733901.783517) / 3549915408.2102647 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### ByteMark.BenchEmFloatClass ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 537.3580992307693 < 644.8802745132143. IsChangePoint: Marked as a change because one of 4/20/2023 5:25:38 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 105.4819592097731 (T) = (0 -538857157.8614552) / Math.Sqrt((533173140750673.6 / (299)) + (10084525524718.322 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2433699734359159 = (712180509.5529284 - 538857157.8614552) / 712180509.5529284 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.IterateFor<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[IList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IterateFor(Int32).IList(Size%3a%20512).html>) 2.07 μs 603.43 ns 0.29 0.34 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateFor&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.IterateFor<Int32>.IList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 603.4306071400708 < 1.9660313520414345. IsChangePoint: Marked as a change because one of 4/11/2023 2:19:19 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 58.17777727649324 (T) = (0 -603.184689077096) / Math.Sqrt((312339.942374892 / (299)) + (0.017120927036295218 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.7571252264567364 = (2483.521364847099 - 603.184689077096) / 2483.521364847099 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Tests.Perf_Strings

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[WriteStringsUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted%3a%20True%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20OneEscaped).html>) 11.82 ms 11.15 ms 0.94 0.00 False
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20False%2c%20SkipValidation%3a%20True%2c%20Escaped%3a%20OneEscaped).html>) 14.05 ms 13.26 ms 0.94 0.00 False
[WriteStringsUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted%3a%20False%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20NoneEscaped).html>) 5.17 ms 4.85 ms 0.94 0.00 False
[WriteStringsUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted%3a%20True%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20NoneEscaped).html>) 5.92 ms 5.26 ms 0.89 0.00 False
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20False%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20OneEscaped).html>) 14.32 ms 13.31 ms 0.93 0.01 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Strings*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: False, Escaped: OneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.152486553571428 < 11.231896075. IsChangePoint: Marked as a change because one of 4/17/2023 2:42:45 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 24.885416320230505 (T) = (0 -11078021.669642856) / Math.Sqrt((7583919726.443941 / (299)) + (5942590516.656709 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.05295618073353352 = (11697475.284959197 - 11078021.669642856) / 11697475.284959197 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: True, Escaped: OneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.26381882142857 < 13.348393395833332. IsChangePoint: Marked as a change because one of 4/10/2023 1:33:42 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.54627085604876 (T) = (0 -13335522.981343657) / Math.Sqrt((47028226903.900536 / (299)) + (20956979925.409874 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.06539497325794938 = (14268618.93502766 - 13335522.981343657) / 14268618.93502766 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: False, Escaped: NoneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.853529039215686 < 4.963962099916413. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 34.84119857159435 (T) = (0 -4782977.037313453) / Math.Sqrt((1998717590.8968523 / (299)) + (1648530446.7069938 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08352975226684588 = (5218911.414902907 - 4782977.037313453) / 5218911.414902907 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: False, Escaped: NoneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.2587343392592585 < 5.538338989939091. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 29.96183458792682 (T) = (0 -5338366.04864849) / Math.Sqrt((2669749877.6833687 / (299)) + (2303431510.459241 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.07658040029638402 = (5781083.756898717 - 5338366.04864849) / 5781083.756898717 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: False, Escaped: OneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.314712125 < 13.637041838601188. IsChangePoint: Marked as a change because one of 4/10/2023 1:33:42 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 44.406433982358244 (T) = (0 -13342980.157792209) / Math.Sqrt((126681333717.67468 / (299)) + (2999170180.7006116 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08073177310153659 = (14514784.441979839 - 13342980.157792209) / 14514784.441979839 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_ToString<IndexViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SystemTextJsonReflection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_ToString(IndexViewModel).SystemTextJsonReflection.html>) 19.91 μs 17.14 μs 0.86 0.01 True
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.JsonToString(IndexViewModel).JsonNet.html>) 53.53 μs 38.50 μs 0.72 0.02 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToString&lt;IndexViewModel&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Json_ToString<IndexViewModel>.SystemTextJson_Reflection_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 17.144091316222944 < 18.812792686432086. IsChangePoint: Marked as a change because one of 3/16/2023 2:30:29 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 41.0070708422529 (T) = (0 -17181.55808538402) / Math.Sqrt((73711.79671194676 / (299)) + (57880.14929468489 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15048063798833275 = (20225.03412364608 - 17181.55808538402) / 20225.03412364608 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToString<IndexViewModel>.JsonNet_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 38.502334381422116 < 50.835566460508815. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 150.9667379397041 (T) = (0 -38281.680468540566) / Math.Sqrt((1339537.4140334905 / (299)) + (34998.380768373085 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2605085840746067 = (51767.579236379905 - 38281.680468540566) / 51767.579236379905 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in GuardedDevirtualization.TwoClassVirtual

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.TwoClassVirtual.Call(testInput%3a%20pB%20%3d%200.80).html>) 3.06 ns 1.21 ns 0.40 0.01 True
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.TwoClassVirtual.Call(testInput%3a%20pB%20%3d%200.90).html>) 2.69 ns 0.94 ns 0.35 0.03 True
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.TwoClassVirtual.Call(testInput%3a%20pB%20%3d%200.10).html>) 2.77 ns 0.99 ns 0.36 0.04 True
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.TwoClassVirtual.Call(testInput%3a%20pB%20%3d%200.70).html>) 2.75 ns 1.52 ns 0.55 0.02 True
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/GuardedDevirtualization.TwoClassVirtual.Call(testInput%3a%20pB%20%3d%200.20).html>) 3.02 ns 1.27 ns 0.42 0.06 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'GuardedDevirtualization.TwoClassVirtual*'
### Payloads [Baseline]() [Compare]() ### Histogram #### GuardedDevirtualization.TwoClassVirtual.Call(testInput: pB = 0.80) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.211490554116844 < 2.905112412667839. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 391.47164428455403 (T) = (0 -1.2115852061569692) / Math.Sqrt((0.006572309843412525 / (299)) + (2.3801020793916784E-05 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6135503237787326 = (3.135169417151377 - 1.2115852061569692) / 3.135169417151377 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.TwoClassVirtual.Call(testInput: pB = 0.90) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.9352469650606612 < 2.5603791465964956. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 269.11277880528934 (T) = (0 -0.9356798275858444) / Math.Sqrt((0.01426559112675684 / (299)) + (1.2236869889174876E-07 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.6652026878482619 = (2.794765052240838 - 0.9356798275858444) / 2.794765052240838 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.TwoClassVirtual.Call(testInput: pB = 0.10) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.9912562099793647 < 2.6336008301184286. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 285.5328433319206 (T) = (0 -0.9911386916034135) / Math.Sqrt((0.012825128370532587 / (299)) + (2.1861060148758285E-07 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6536434419099145 = (2.8616137574205354 - 0.9911386916034135) / 2.8616137574205354 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.TwoClassVirtual.Call(testInput: pB = 0.70) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.5246810689173496 < 2.6049693316544973. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 118.33505771804161 (T) = (0 -1.4760114555455872) / Math.Sqrt((0.00807157850761489 / (299)) + (0.0011460393597416036 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.47869015856389063 = (2.8313516036441144 - 1.4760114555455872) / 2.8313516036441144 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.TwoClassVirtual.Call(testInput: pB = 0.20) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.266260981366712 < 2.8747602014615214. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 9.634066010093893 (T) = (0 -1.5189482939122323) / Math.Sqrt((0.005564608931337672 / (299)) + (0.28656249856086236 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5059490437414427 = (3.0744769839435424 - 1.5189482939122323) / 3.0744769839435424 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ImmutableSortedDictionary(String%2c%20String)).DeserializeFromReader(Mode%3a%20SourceGen).html>) 101.44 μs 93.49 μs 0.92 0.25 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
python3 .\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) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 93.49442888621793 < 99.21046341272479. IsChangePoint: Marked as a change because one of 2/7/2023 10:47:28 PM, 3/8/2023 10:34:21 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 10.509517513409461 (T) = (0 -95916.38226082754) / Math.Sqrt((10285031.669573314 / (299)) + (10571273.510503989 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.09854566973530732 = (106401.82096930385 - 95916.38226082754) / 106401.82096930385 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(MyEventsListerViewModel).SerializeToWriter(Mode%3a%20Reflection).html>) 395.08 μs 303.31 μs 0.77 0.05 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(MyEventsListerViewModel).SerializeToString(Mode%3a%20Reflection).html>) 446.53 μs 384.78 μs 0.86 0.04 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(MyEventsListerViewModel).SerializeToString(Mode%3a%20SourceGen).html>) 372.52 μs 328.06 μs 0.88 0.03 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(MyEventsListerViewModel).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 344.41 μs 289.01 μs 0.84 0.02 True
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(MyEventsListerViewModel).SerializeToStream(Mode%3a%20Reflection).html>) 393.40 μs 323.43 μs 0.82 0.07 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(MyEventsListerViewModel).SerializeToWriter(Mode%3a%20SourceGen).html>) 338.62 μs 276.07 μs 0.82 0.01 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(MyEventsListerViewModel).SerializeObjectProperty(Mode%3a%20Reflection).html>) 434.60 μs 381.26 μs 0.88 0.05 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(MyEventsListerViewModel).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 391.80 μs 319.06 μs 0.81 0.07 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(MyEventsListerViewModel).SerializeToStream(Mode%3a%20SourceGen).html>) 395.57 μs 317.98 μs 0.80 0.01 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;MyEventsListerViewModel&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 303.3075755362426 < 379.3841779309752. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 51.11942481270196 (T) = (0 -313850.18476607476) / Math.Sqrt((114321530.2474727 / (299)) + (31190612.505706288 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.22611256660744608 = (405550.17593479186 - 313850.18476607476) / 405550.17593479186 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 384.7790540123457 < 421.20798645564645. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 15.506788335745231 (T) = (0 -373742.61039552756) / Math.Sqrt((93182075.4364403 / (299)) + (197163727.93539855 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.15660306417321634 = (443139.6351104204 - 373742.61039552756) / 443139.6351104204 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 328.06196985294116 < 357.50966061862243. IsChangePoint: Marked as a change because one of 5/2/2023 12:51:17 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 15.198277864881138 (T) = (0 -326359.64665266406) / Math.Sqrt((67372470.96542129 / (299)) + (172243677.5008595 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15654452057707036 = (386931.68117889384 - 326359.64665266406) / 386931.68117889384 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 289.006390234375 < 331.8645542361111. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 57.67355974204573 (T) = (0 -289113.6691007449) / Math.Sqrt((57571693.71846874 / (299)) + (13375666.269547025 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.19142886801996883 = (357561.2060163001 - 289113.6691007449) / 357561.2060163001 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 323.4345735677083 < 381.8500017412475. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 66.88597589345737 (T) = (0 -323819.2114909417) / Math.Sqrt((117510240.46559182 / (299)) + (14623305.856167797 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21326833683614838 = (411600.5833408287 - 323819.2114909417) / 411600.5833408287 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToWriter(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 276.0737845394737 < 322.1775262141165. IsChangePoint: Marked as a change because one of 5/3/2023 1:18:01 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 77.06367757574877 (T) = (0 -278615.30570228567) / Math.Sqrt((64356747.570640266 / (299)) + (7368413.068926007 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20648745447436392 = (351116.447084937 - 278615.30570228567) / 351116.447084937 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 381.2585964506173 < 414.2529971621621. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.89166281018057 (T) = (0 -369745.41328079195) / Math.Sqrt((93313095.18244474 / (299)) + (213236443.39439815 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16857562393021538 = (444713.2221797618 - 369745.41328079195) / 444713.2221797618 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 319.0637046703296 < 383.340721200074. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 54.00270710434294 (T) = (0 -325221.4852206222) / Math.Sqrt((112784051.20900236 / (299)) + (22609670.08326524 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20570921349148602 = (409448.89547341637 - 325221.4852206222) / 409448.89547341637 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 317.979465855573 < 376.2689306803743. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 51.931158184750124 (T) = (0 -321656.2042845491) / Math.Sqrt((74799802.73674387 / (299)) + (24902469.955592405 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.21089984414566823 = (407624.0536745338 - 321656.2042845491) / 407624.0536745338 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.ContainsKeyFalse<Int32, Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.ContainsKeyFalse(Int32%2c%20Int32).SortedDictionary(Size%3a%20512).html>) 46.56 μs 28.52 μs 0.61 0.34 False
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.ContainsKeyFalse(Int32%2c%20Int32).ImmutableDictionary(Size%3a%20512).html>) 18.11 μs 14.32 μs 0.79 0.01 True
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.ContainsKeyFalse(Int32%2c%20Int32).SortedList(Size%3a%20512).html>) 31.95 μs 23.76 μs 0.74 0.00 True
[IDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.ContainsKeyFalse(Int32%2c%20Int32).IDictionary(Size%3a%20512).html>) 7.45 μs 4.35 μs 0.58 0.03 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsKeyFalse&lt;Int32, Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.ContainsKeyFalse<Int32, Int32>.SortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 28.524646962982274 < 44.2326366437252. IsChangePoint: Marked as a change because one of 4/10/2023 5:02:03 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 44.908794842817954 (T) = (0 -25871.042424272415) / Math.Sqrt((17518495.799365647 / (299)) + (1946920.8028609955 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.4662723445460143 = (48472.36630874346 - 25871.042424272415) / 48472.36630874346 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyFalse<Int32, Int32>.ImmutableDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.315291426940643 < 16.941775254971812. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 55.71079155961674 (T) = (0 -14116.886268900305) / Math.Sqrt((71850.9028248443 / (299)) + (51983.12171079426 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21759042472515963 = (18042.834232877845 - 14116.886268900305) / 18042.834232877845 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyFalse<Int32, Int32>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 23.76061794243338 < 30.3676132924944. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 95.96383005303555 (T) = (0 -23993.022984200903) / Math.Sqrt((268623.6523951127 / (299)) + (51652.362567436285 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23026503881060095 = (31170.499189911734 - 23993.022984200903) / 31170.499189911734 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyFalse<Int32, Int32>.IDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.347142079129171 < 7.099000554464687. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 93.00450737237443 (T) = (0 -4119.522330954155) / Math.Sqrt((52556.49067970653 / (299)) + (16079.993592654533 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.47742697466271294 = (7883.151504606022 - 4119.522330954155) / 7883.151504606022 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Sort<IntStruct>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[LinqQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Sort(IntStruct).LinqQuery(Size%3a%20512).html>) 39.18 μs 23.36 μs 0.60 0.39 False
[LinqOrderByExtension - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Sort(IntStruct).LinqOrderByExtension(Size%3a%20512).html>) 35.77 μs 23.45 μs 0.66 0.40 False
[Array_Comparison - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Sort(IntStruct).Array_Comparison(Size%3a%20512).html>) 21.86 μs 15.69 μs 0.72 0.37 False
[Array_ComparerClass - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Sort(IntStruct).Array_ComparerClass(Size%3a%20512).html>) 21.68 μs 15.16 μs 0.70 0.24 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Sort&lt;IntStruct&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.Sort<IntStruct>.LinqQuery(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 23.363358784615386 < 33.929951176904765. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 112.73159083313959 (T) = (0 -23362.312415397933) / Math.Sqrt((4795673.069019692 / (299)) + (13802.838358871712 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3882161417712066 = (38187.19977842396 - 23362.312415397933) / 38187.19977842396 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Sort<IntStruct>.LinqOrderByExtension(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 23.446678314285712 < 33.94686207035714. IsChangePoint: Marked as a change because one of 4/21/2023 8:40:59 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 111.27811311266136 (T) = (0 -23410.60397799534) / Math.Sqrt((4689895.937947334 / (299)) + (26171.9838376234 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3898224443720243 = (38366.871678690106 - 23410.60397799534) / 38366.871678690106 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Sort<IntStruct>.Array_Comparison(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.68626022666667 < 20.72516466. IsChangePoint: Marked as a change because one of 3/26/2023 5:20:11 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 62.51796807444279 (T) = (0 -15667.537806095239) / Math.Sqrt((3686728.374139006 / (299)) + (14339.204345738224 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.3188673029483058 = (23002.18132812109 - 15667.537806095239) / 23002.18132812109 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Sort<IntStruct>.Array_ComparerClass(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.157810546666667 < 20.65001128733333. IsChangePoint: Marked as a change because one of 3/26/2023 5:20:11 AM, 4/26/2023 12:55:36 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 65.22883765500615 (T) = (0 -15159.080232121212) / Math.Sqrt((2786666.540395185 / (299)) + (44199.276941075994 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.33197532571381816 = (22692.39567882647 - 15159.080232121212) / 22692.39567882647 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Runtime.InteropServices.Tests.SafeHandleTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[AddRef_GetHandle_Release - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Runtime.InteropServices.Tests.SafeHandleTests.AddRef_GetHandle_Release.html>) 20.00 ns 17.81 ns 0.89 0.04 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Runtime.InteropServices.Tests.SafeHandleTests*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Runtime.InteropServices.Tests.SafeHandleTests.AddRef_GetHandle_Release ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 17.810929335306877 < 19.064309243608395. IsChangePoint: Marked as a change because one of 5/2/2023 12:51:17 PM, 5/11/2023 10:01:37 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.24698322646382 (T) = (0 -17.389015526773775) / Math.Sqrt((0.5844382725290627 / (299)) + (0.1701712543919895 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13322216607795195 = (20.061675375443002 - 17.389015526773775) / 20.061675375443002 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_ToStream<Location>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DataContractJsonSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.JsonToStream(Location).DataContractJsonSerializer.html>) 2.94 μs 2.13 μs 0.72 0.01 False
[SystemTextJsonSourceGen - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_ToStream(Location).SystemTextJsonSourceGen.html>) 648.19 ns 595.06 ns 0.92 0.00 False
[SystemTextJsonReflection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_ToStream(Location).SystemTextJsonReflection.html>) 887.07 ns 789.70 ns 0.89 0.01 False
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.JsonToStream(Location).JsonNet.html>) 1.98 μs 1.24 μs 0.62 0.04 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToStream&lt;Location&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Json_ToStream<Location>.DataContractJsonSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.1287387362519397 < 2.7805982229602413. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 116.20122436604373 (T) = (0 -2151.285716402775) / Math.Sqrt((12330.80307022699 / (299)) + (189.50044698988688 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2922952819348396 = (3039.8069441790835 - 2151.285716402775) / 3039.8069441790835 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToStream<Location>.SystemTextJson_SourceGen_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 595.0567632388024 < 616.9069359475599. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.57115652694942 (T) = (0 -603.6766611680016) / Math.Sqrt((75.37964246609354 / (299)) + (89.90792951571746 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.08552813669619565 = (660.1369439482132 - 603.6766611680016) / 660.1369439482132 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToStream<Location>.SystemTextJson_Reflection_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 789.7020689811409 < 844.3189094150492. IsChangePoint: Marked as a change because one of 3/19/2023 10:05:03 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 35.13130740032828 (T) = (0 -774.1899748690125) / Math.Sqrt((317.84948979655036 / (299)) + (140.0555850973278 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.14423422424667134 = (904.6750837721862 - 774.1899748690125) / 904.6750837721862 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToStream<Location>.JsonNet_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2357877305664529 < 1.8916140621567767. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 137.02132413309963 (T) = (0 -1232.4499864293155) / Math.Sqrt((1139.0930325030301 / (299)) + (292.7693891953143 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3801317117639136 = (1988.244938189059 - 1232.4499864293155) / 1988.244938189059 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Xml_ToStream<IndexViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DataContractSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.XmlToStream(IndexViewModel).DataContractSerializer.html>) 72.08 μs 56.47 μs 0.78 0.01 False
[DataContractSerializerBinaryXml - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Xml_ToStream(IndexViewModel).DataContractSerializerBinaryXml.html>) 41.29 μs 30.61 μs 0.74 0.01 False
[XmlSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.XmlToStream(IndexViewModel).XmlSerializer.html>) 57.27 μs 52.50 μs 0.92 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;IndexViewModel&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Xml_ToStream<IndexViewModel>.DataContractSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 56.47179822073233 < 68.66059348738551. IsChangePoint: Marked as a change because one of 4/4/2023 3:37:20 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 72.91285837986295 (T) = (0 -56384.30364015722) / Math.Sqrt((14792562.389470408 / (299)) + (351376.78727623296 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.26952917616607264 = (77188.98797931483 - 56384.30364015722) / 77188.98797931483 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Xml_ToStream<IndexViewModel>.DataContractSerializer_BinaryXml_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 30.612357116535357 < 39.4700832521401. IsChangePoint: Marked as a change because one of 4/4/2023 3:37:20 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 37.9175655400902 (T) = (0 -30371.131881277797) / Math.Sqrt((28351863.619425844 / (217)) + (480553.1570798962 / (10))) is greater than 1.9705633902925863 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (217) + (10) - 2, .975) and 0.34545540958514376 = (46400.40163196262 - 30371.131881277797) / 46400.40163196262 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Xml_ToStream<IndexViewModel>.XmlSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 52.49691229753215 < 53.1683503504344. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 19.755569155648768 (T) = (0 -51776.09024350953) / Math.Sqrt((185626.87241269488 / (299)) + (401584.85745166295 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.06848626651427295 = (55582.74492611424 - 51776.09024350953) / 55582.74492611424 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Buffers.Tests.ReadOnlySequenceTests<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[IterateGetPositionTenSegments - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Buffers.Tests.ReadOnlySequenceTests(Byte).IterateGetPositionTenSegments.html>) 71.34 ns 66.00 ns 0.93 0.04 False
[FirstSpanTenSegments - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Buffers.Tests.ReadOnlySequenceTests(Byte).FirstSpanTenSegments.html>) 6.56 ns 5.18 ns 0.79 0.01 True
[IterateTryGetTenSegments - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Buffers.Tests.ReadOnlySequenceTests(Byte).IterateTryGetTenSegments.html>) 53.47 ns 45.88 ns 0.86 0.09 False
[FirstSpanSingleSegment - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Buffers.Tests.ReadOnlySequenceTests(Byte).FirstSpanSingleSegment.html>) 7.52 ns 5.38 ns 0.72 0.01 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Tests.ReadOnlySequenceTests&lt;Byte&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Buffers.Tests.ReadOnlySequenceTests<Byte>.IterateGetPositionTenSegments ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 65.9954129645797 < 68.52470624044344. IsChangePoint: Marked as a change because one of 3/11/2023 8:53:40 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.519531667444042 (T) = (0 -65.6655467007232) / Math.Sqrt((2.0730506777680637 / (299)) + (1.2832349612933558 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12432655382359763 = (74.9886238842225 - 65.6655467007232) / 74.9886238842225 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Byte>.FirstSpanTenSegments ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.184753186159252 < 6.289935830319285. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 150.15107990432097 (T) = (0 -5.2018200457826245) / Math.Sqrt((0.012331409149259188 / (299)) + (0.0004741422310437432 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20954700486821282 = (6.58080882458464 - 5.2018200457826245) / 6.58080882458464 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Byte>.IterateTryGetTenSegments ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 45.88160779540494 < 50.86100019268983. IsChangePoint: Marked as a change because one of 5/3/2023 7:05:50 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 61.10990132296971 (T) = (0 -45.826882803239535) / Math.Sqrt((2.5290968532389555 / (299)) + (0.18106536084377195 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.17853915818259006 = (55.78705699696115 - 45.826882803239535) / 55.78705699696115 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Byte>.FirstSpanSingleSegment ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.377832919863304 < 7.139485105955982. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 168.32030892065197 (T) = (0 -5.382077186422553) / Math.Sqrt((0.011333138049121944 / (299)) + (0.0013436637422663074 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2910211298085744 = (7.591308306507615 - 5.382077186422553) / 7.591308306507615 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Xml_ToStream<CollectionsOfPrimitives>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DataContractSerializerBinaryXml - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Xml_ToStream(CollectionsOfPrimitives).DataContractSerializerBinaryXml.html>) 385.06 μs 263.31 μs 0.68 0.19 True
[XmlSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.XmlToStream(CollectionsOfPrimitives).XmlSerializer.html>) 490.52 μs 422.25 μs 0.86 0.00 True
[DataContractSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.XmlToStream(CollectionsOfPrimitives).DataContractSerializer.html>) 735.70 μs 523.63 μs 0.71 0.01 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;CollectionsOfPrimitives&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Xml_ToStream<CollectionsOfPrimitives>.DataContractSerializer_BinaryXml_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 263.31112315305757 < 383.4616435917848. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 35.77147582756469 (T) = (0 -279962.8634112683) / Math.Sqrt((181198181.30757836 / (217)) + (132510808.68215278 / (11))) is greater than 1.9705162426829501 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (217) + (11) - 2, .975) and 0.31440352874375 = (408349.3354309123 - 279962.8634112683) / 408349.3354309123 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Xml_ToStream<CollectionsOfPrimitives>.XmlSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 422.24651247401243 < 467.0598226677706. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 32.95306043325954 (T) = (0 -428328.1014668215) / Math.Sqrt((28835272.924482223 / (299)) + (36389783.26457575 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12430915567220108 = (489131.6430236476 - 428328.1014668215) / 489131.6430236476 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Xml_ToStream<CollectionsOfPrimitives>.DataContractSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 523.6300060606061 < 699.2913313252402. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 87.51144768740447 (T) = (0 -531303.5167795309) / Math.Sqrt((93048361.61158893 / (299)) + (59678253.48225354 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2828963733922478 = (740902.0078351216 - 531303.5167795309) / 740902.0078351216 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Threading.Tasks.ValueTaskPerfTest

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[CreateAndAwait_FromDelayedTCS - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Threading.Tasks.ValueTaskPerfTest.CreateAndAwait_FromDelayedTCS.html>) 278.87 ns 261.05 ns 0.94 0.36 False
[CreateAndAwait_FromCompletedValueTaskSource - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Threading.Tasks.ValueTaskPerfTest.CreateAndAwait_FromCompletedValueTaskSource.html>) 30.16 ns 24.97 ns 0.83 0.11 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Threading.Tasks.ValueTaskPerfTest*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Threading.Tasks.ValueTaskPerfTest.CreateAndAwait_FromDelayedTCS ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 261.04666469601636 < 265.5773766442844. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 7.638341214208726 (T) = (0 -240.5592140982302) / Math.Sqrt((201.59692280030976 / (299)) + (128.550389202987 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10042354562934167 = (267.4138623009257 - 240.5592140982302) / 267.4138623009257 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Threading.Tasks.ValueTaskPerfTest.CreateAndAwait_FromCompletedValueTaskSource ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 24.972002353448996 < 28.48088454896695. IsChangePoint: Marked as a change because one of 3/18/2023 3:39:51 AM, 5/19/2023 1:23:34 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 7.852394436550394 (T) = (0 -27.093672632605216) / Math.Sqrt((0.8219066259262959 / (299)) + (1.8049980023464631 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.11037293892786343 = (30.45509047347683 - 27.093672632605216) / 30.45509047347683 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.IndexerSet<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IndexerSet(Int32).SortedDictionary(Size%3a%20512).html>) 41.35 μs 24.69 μs 0.60 0.35 False
[ConcurrentDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IndexerSet(Int32).ConcurrentDictionary(Size%3a%20512).html>) 24.01 μs 21.58 μs 0.90 0.02 False
[IList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IndexerSet(Int32).IList(Size%3a%20512).html>) 2.19 μs 871.73 ns 0.40 0.37 False
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.IndexerSet(Int32).SortedList(Size%3a%20512).html>) 28.54 μs 22.54 μs 0.79 0.01 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IndexerSet&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.IndexerSet<Int32>.SortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 24.688422408468107 < 39.299994189263664. IsChangePoint: Marked as a change because one of 3/28/2023 2:42:21 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 60.94491212409471 (T) = (0 -23534.379603133148) / Math.Sqrt((11717500.7772834 / (299)) + (561002.1465308624 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.44425485021597094 = (42347.43139419024 - 23534.379603133148) / 42347.43139419024 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IndexerSet<Int32>.ConcurrentDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 21.57573562327824 < 22.821833990732845. IsChangePoint: Marked as a change because one of 2/9/2023 1:41:04 PM, 5/3/2023 1:18:01 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 57.74396305148356 (T) = (0 -21754.71943062818) / Math.Sqrt((195612.4487884926 / (299)) + (21399.731037684956 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1192028493524089 = (24698.898508735405 - 21754.71943062818) / 24698.898508735405 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IndexerSet<Int32>.IList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 871.7300211243379 < 2.083729391063708. IsChangePoint: Marked as a change because one of 3/22/2023 3:40:18 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 50.804790625889034 (T) = (0 -872.5727571635769) / Math.Sqrt((323196.49936076655 / (299)) + (1.3380384205743252 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6568723062283203 = (2542.9971786077826 - 872.5727571635769) / 2542.9971786077826 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IndexerSet<Int32>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.539885776897208 < 27.183332904098112. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 121.25158450036453 (T) = (0 -22561.790846212138) / Math.Sqrt((727566.6848192837 / (299)) + (16342.211183546853 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.25174050976278006 = (30152.361768321036 - 22561.790846212138) / 30152.361768321036 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Xml.Tests.Perf_XmlConvert

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DateTime_ToString_Local - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Xml.Tests.Perf_XmlConvert.DateTime_ToString_Local.html>) 339.34 ns 270.34 ns 0.80 0.00 True
[DateTime_ToString_RoundtripKind - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Xml.Tests.Perf_XmlConvert.DateTime_ToString_RoundtripKind.html>) 88.45 ns 78.70 ns 0.89 0.02 False
[DateTime_ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Xml.Tests.Perf_XmlConvert.DateTime_ToString.html>) 91.09 ns 80.88 ns 0.89 0.02 False
[DateTime_ToString_Unspecified - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Xml.Tests.Perf_XmlConvert.DateTime_ToString_Unspecified.html>) 87.39 ns 76.61 ns 0.88 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Xml.Tests.Perf_XmlConvert*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Xml.Tests.Perf_XmlConvert.DateTime_ToString_Local ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 270.33605941066844 < 323.0502180761553. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 197.74497175042086 (T) = (0 -270.92791707264666) / Math.Sqrt((11.367316336082258 / (299)) + (1.0046180350245377 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.21359490325386604 = (344.5144470625261 - 270.92791707264666) / 344.5144470625261 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Tests.Perf_XmlConvert.DateTime_ToString_RoundtripKind ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 78.69852869698245 < 83.30542766266957. IsChangePoint: Marked as a change because one of 4/5/2023 11:58:06 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 33.20608912705615 (T) = (0 -78.48372069266327) / Math.Sqrt((2.164024676047842 / (299)) + (0.5521316914928474 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.09205976231046559 = (86.44150510652925 - 78.48372069266327) / 86.44150510652925 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Tests.Perf_XmlConvert.DateTime_ToString ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 80.88113716343756 < 86.77826920514737. IsChangePoint: Marked as a change because one of 4/4/2023 11:36:00 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 35.315165850206355 (T) = (0 -82.24356719931214) / Math.Sqrt((1.4819489116497697 / (299)) + (0.6955607530833438 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10082352450302767 = (91.46543469551553 - 82.24356719931214) / 91.46543469551553 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Tests.Perf_XmlConvert.DateTime_ToString_Unspecified ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 76.61284259086496 < 83.28151783377254. IsChangePoint: Marked as a change because one of 4/6/2023 11:23:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 24.80495777135347 (T) = (0 -78.34986911801683) / Math.Sqrt((1.7488454245810192 / (299)) + (1.1651586420218223 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.09571360717183279 = (86.64276023547873 - 78.34986911801683) / 86.64276023547873 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Buffers.Tests.ReadOnlySequenceTests<Char>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[IterateTryGetTenSegments - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Buffers.Tests.ReadOnlySequenceTests(Char).IterateTryGetTenSegments.html>) 58.03 ns 49.77 ns 0.86 0.10 False
[IterateGetPositionTenSegments - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Buffers.Tests.ReadOnlySequenceTests(Char).IterateGetPositionTenSegments.html>) 73.00 ns 63.52 ns 0.87 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Tests.ReadOnlySequenceTests&lt;Char&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateTryGetTenSegments ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 49.76753348438426 < 53.87258043847048. IsChangePoint: Marked as a change because one of 3/25/2023 12:18:49 AM, 5/3/2023 1:18:01 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 31.552964881588448 (T) = (0 -49.888519486254495) / Math.Sqrt((2.57794232930332 / (299)) + (0.495747902659296 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12781821657332004 = (57.1996806563071 - 49.888519486254495) / 57.1996806563071 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionTenSegments ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 63.52202104513161 < 68.86434073198313. IsChangePoint: Marked as a change because one of 5/10/2023 6:05:58 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.720127933477226 (T) = (0 -65.100755737826) / Math.Sqrt((2.0147156090173355 / (299)) + (2.4465286391113676 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13221437205799683 = (75.01939838784342 - 65.100755737826) / 75.01939838784342 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Tests.DictionarySequentialKeys

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[TryGetValue_17_Int_32ByteValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Tests.DictionarySequentialKeys.TryGetValue_17_Int_32ByteValue.html>) 7.27 ns 4.16 ns 0.57 0.01 True
[TryGetValue_17_Int_32ByteRefsValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.Tests.DictionarySequentialKeys.TryGetValue_17_Int_32ByteRefsValue.html>) 7.37 ns 4.11 ns 0.56 0.01 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.DictionarySequentialKeys*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.Tests.DictionarySequentialKeys.TryGetValue_17_Int_32ByteValue ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.159221296331997 < 6.903057862256853. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 232.13172434300947 (T) = (0 -4.075627694815103) / Math.Sqrt((0.036367478677530644 / (299)) + (0.0013753227600932394 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.4721612641933016 = (7.7213501365834825 - 4.075627694815103) / 7.7213501365834825 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.DictionarySequentialKeys.TryGetValue_17_Int_32ByteRefsValue ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.10669565882461 < 6.999715547815033. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 296.97441013682766 (T) = (0 -4.115397066575594) / Math.Sqrt((0.028625937432410084 / (299)) + (0.0005963788379900008 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.46912024972372546 = (7.752032478982113 - 4.115397066575594) / 7.752032478982113 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Reflection.Invoke

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Field_Set_class - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Reflection.Invoke.Field_Set_class.html>) 76.80 ns 68.21 ns 0.89 0.17 False
[StaticMethod4_ByRefParams_int_string_struct_class - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Reflection.Invoke.StaticMethod4_ByRefParams_int_string_struct_class.html>) 393.96 ns 357.09 ns 0.91 0.12 False
[StaticMethod5_ByRefParams_int_string_struct_class_bool - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Reflection.Invoke.StaticMethod5_ByRefParams_int_string_struct_class_bool.html>) 571.51 ns 527.98 ns 0.92 0.16 False
[Field_Set_int - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Reflection.Invoke.Field_Set_int.html>) 88.00 ns 67.21 ns 0.76 0.20 False
[Property_Set_int - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Reflection.Invoke.Property_Set_int.html>) 52.70 ns 49.16 ns 0.93 0.18 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Reflection.Invoke*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Reflection.Invoke.Field_Set_class ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 68.20736628736984 < 72.90309223800968. IsChangePoint: Marked as a change because one of 4/25/2023 1:02:54 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 30.112554973350868 (T) = (0 -68.32633643014513) / Math.Sqrt((14.59012969366595 / (299)) + (0.04328057008539211 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.09221273284558572 = (75.26690327385133 - 68.32633643014513) / 75.26690327385133 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.StaticMethod4_ByRefParams_int_string_struct_class ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 357.0883791599026 < 376.446798912045. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 8.489766637182035 (T) = (0 -364.51309383913326) / Math.Sqrt((205.46075555275226 / (299)) + (163.35145189217934 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08408622752515994 = (397.97752233182666 - 364.51309383913326) / 397.97752233182666 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.StaticMethod5_ByRefParams_int_string_struct_class_bool ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 527.9793613782051 < 564.7736970249102. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 15.57587366761585 (T) = (0 -523.5251177934643) / Math.Sqrt((463.7805811042823 / (299)) + (85.3991778793201 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08324389208216798 = (571.0625904445977 - 523.5251177934643) / 571.0625904445977 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.Field_Set_int ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 67.20925865075105 < 83.6124737105778. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.773311205411561 (T) = (0 -68.61418823496648) / Math.Sqrt((61.50621566740349 / (299)) + (1.6940501036036775 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10043788459326729 = (76.27509769455209 - 68.61418823496648) / 76.27509769455209 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.Property_Set_int ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 49.16125653108465 < 50.882358006883216. IsChangePoint: Marked as a change because one of 4/26/2023 12:55:36 AM, 5/20/2023 3:57:43 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 11.144002190968074 (T) = (0 -47.922616179719064) / Math.Sqrt((6.464773504592933 / (299)) + (0.8357395096583916 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.08031026926602958 = (52.10737336544336 - 47.922616179719064) / 52.10737336544336 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Buffers.Text.Tests.Utf8FormatterTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[FormatterDateTimeOffsetNow - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Buffers.Text.Tests.Utf8FormatterTests.FormatterDateTimeOffsetNow(value%3a%2012%2f30%2f2017%203%3a45%3a22%20AM%20-08%3a00).html>) 47.87 ns 39.43 ns 0.82 0.01 True
[FormatterInt32 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Buffers.Text.Tests.Utf8FormatterTests.FormatterInt32(value%3a%2012345).html>) 11.24 ns 5.93 ns 0.53 0.05 False
[FormatterInt32 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Buffers.Text.Tests.Utf8FormatterTests.FormatterInt32(value%3a%204).html>) 11.22 ns 4.34 ns 0.39 0.45 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Text.Tests.Utf8FormatterTests*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Buffers.Text.Tests.Utf8FormatterTests.FormatterDateTimeOffsetNow(value: 12/30/2017 3:45:22 AM -08:00) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 39.43212276674231 < 45.34281748923953. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 120.43521053376783 (T) = (0 -39.60503901903057) / Math.Sqrt((0.8062049088255834 / (299)) + (0.0355421116415651 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1897053334657467 = (48.87732901961087 - 39.60503901903057) / 48.87732901961087 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Text.Tests.Utf8FormatterTests.FormatterInt32(value: 12345) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.928402599847848 < 10.743223651754576. IsChangePoint: Marked as a change because one of 4/9/2023 1:38:49 AM, 4/24/2023 7:54:29 PM, 5/2/2023 12:51:17 PM, 5/19/2023 1:23:34 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 32.67375706995997 (T) = (0 -5.766535038153959) / Math.Sqrt((11.022766432033544 / (299)) + (0.08032597650282658 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.5455781813740752 = (12.689828704948056 - 5.766535038153959) / 12.689828704948056 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Text.Tests.Utf8FormatterTests.FormatterInt32(value: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.338853837642518 < 11.002854511627874. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/24/2023 7:54:29 PM, 5/2/2023 12:51:17 PM, 5/19/2023 1:23:34 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 10.66625001546859 (T) = (0 -4.280001827946288) / Math.Sqrt((7.8556314723168255 / (299)) + (0.0520411081083412 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.306588753962964 = (6.172385943272814 - 4.280001827946288) / 6.172385943272814 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.TryGetValueFalse<String, String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueFalse(String%2c%20String).Dictionary(Size%3a%20512).html>) 12.95 μs 11.59 μs 0.89 0.01 False
[FrozenDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueFalse(String%2c%20String).FrozenDictionary(Size%3a%20512).html>) 14.21 μs 13.35 μs 0.94 0.00 False
[FrozenDictionaryOptimized - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.TryGetValueFalse(String%2c%20String).FrozenDictionaryOptimized(Size%3a%20512).html>) 12.08 μs 9.39 μs 0.78 0.01 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueFalse&lt;String, String&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.TryGetValueFalse<String, String>.Dictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.587309077818627 < 12.32687249693992. IsChangePoint: Marked as a change because one of 4/11/2023 2:19:19 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 54.65711483649299 (T) = (0 -11601.553090949981) / Math.Sqrt((31839.140326874625 / (299)) + (3152.758845138862 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.0882175820606563 = (12724.036856479255 - 11601.553090949981) / 12724.036856479255 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueFalse<String, String>.FrozenDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.347463267611262 < 13.490549022762428. IsChangePoint: Marked as a change because one of 5/4/2023 12:54:08 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 35.30635952235712 (T) = (0 -13370.41932627252) / Math.Sqrt((32737.868459396504 / (176)) + (8545.09993046794 / (11))) is greater than 1.9728699462106976 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (176) + (11) - 2, .975) and 0.07573248140702227 = (14465.96256744633 - 13370.41932627252) / 14465.96256744633 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueFalse<String, String>.FrozenDictionaryOptimized(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.390138451562633 < 11.487953624822287. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 80.06300776540556 (T) = (0 -9191.596632500961) / Math.Sqrt((3698.606949412781 / (177)) + (13166.118602840419 / (11))) is greater than 1.9728001139952875 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (177) + (11) - 2, .975) and 0.2331116237592195 = (11985.573021144695 - 9191.596632500961) / 11985.573021144695 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.CtorFromCollectionNonGeneric<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Hashtable - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CtorFromCollectionNonGeneric(Int32).Hashtable(Size%3a%20512).html>) 34.74 μs 24.87 μs 0.72 0.62 False
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CtorFromCollectionNonGeneric(Int32).Queue(Size%3a%20512).html>) 41.38 μs 37.83 μs 0.91 0.50 False
[Stack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CtorFromCollectionNonGeneric(Int32).Stack(Size%3a%20512).html>) 37.77 μs 31.12 μs 0.82 0.51 False
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CtorFromCollectionNonGeneric(Int32).SortedList(Size%3a%20512).html>) 108.86 μs 88.36 μs 0.81 0.48 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorFromCollectionNonGeneric&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.CtorFromCollectionNonGeneric<Int32>.Hashtable(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 24.869334070283514 < 32.74261385907049. IsChangePoint: Marked as a change because one of 4/11/2023 12:48:48 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 18.21426795736444 (T) = (0 -26251.73212635956) / Math.Sqrt((14174767.773067491 / (299)) + (3618751.692338494 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2985738061271017 = (37426.22154073205 - 26251.73212635956) / 37426.22154073205 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollectionNonGeneric<Int32>.Queue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 37.825926577669904 < 43.41065813451943. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.381108427704742 (T) = (0 -32783.03158084978) / Math.Sqrt((9976925.472983733 / (299)) + (4645374.83317121 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2606765450860195 = (44341.93364616581 - 32783.03158084978) / 44341.93364616581 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollectionNonGeneric<Int32>.Stack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 31.11756117740192 < 40.26393163709445. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 32.08161611208901 (T) = (0 -31374.794447109) / Math.Sqrt((9911917.605352292 / (299)) + (1155698.347429273 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.27543920015420564 = (43301.8104951115 - 31374.794447109) / 43301.8104951115 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollectionNonGeneric<Int32>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 88.35855416123427 < 109.55018506321224. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 26.62607309151819 (T) = (0 -88503.01440956099) / Math.Sqrt((72075223.80589184 / (299)) + (11295277.549238455 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2530397067820804 = (118484.22896522151 - 88503.01440956099) / 118484.22896522151 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.IO.Tests.BinaryWriterExtendedTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[WriteAsciiCharArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.IO.Tests.BinaryWriterExtendedTests.WriteAsciiCharArray(StringLengthInChars%3a%2032).html>) 59.60 ns 50.94 ns 0.85 0.01 True
[WriteAsciiString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.IO.Tests.BinaryWriterExtendedTests.WriteAsciiString(StringLengthInChars%3a%2032).html>) 20.65 ns 15.87 ns 0.77 0.14 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.BinaryWriterExtendedTests*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.IO.Tests.BinaryWriterExtendedTests.WriteAsciiCharArray(StringLengthInChars: 32) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 50.94429532389999 < 55.6386733035141. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 46.69537736353705 (T) = (0 -51.24709104004142) / Math.Sqrt((0.6910438732583266 / (299)) + (0.38919065552985516 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15031081502392044 = (60.3127495867611 - 51.24709104004142) / 60.3127495867611 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.BinaryWriterExtendedTests.WriteAsciiString(StringLengthInChars: 32) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.866824328629532 < 19.552965528861826. IsChangePoint: Marked as a change because one of 5/12/2023 2:01:50 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 41.56622630594493 (T) = (0 -16.705093477240737) / Math.Sqrt((0.612237646159679 / (299)) + (0.18763200887053602 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2559118627281702 = (22.450423062097606 - 16.705093477240737) / 22.450423062097606 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Cache

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch(total%3a%20400000%2c%20unique%3a%207%2c%20cacheSize%3a%2015).html>) 64.46 ms 55.07 ms 0.85 0.03 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch(total%3a%20400000%2c%20unique%3a%201%2c%20cacheSize%3a%2015).html>) 51.73 ms 45.26 ms 0.87 0.02 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch(total%3a%2040000%2c%20unique%3a%201600%2c%20cacheSize%3a%2015).html>) 149.22 ms 123.36 ms 0.83 0.36 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch(total%3a%2040000%2c%20unique%3a%201600%2c%20cacheSize%3a%20800).html>) 107.93 ms 97.19 ms 0.90 0.31 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch(total%3a%2040000%2c%20unique%3a%201600%2c%20cacheSize%3a%203200).html>) 14.57 ms 13.31 ms 0.91 0.29 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Cache*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch(total: 400000, unique: 7, cacheSize: 15) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 55.07373456666667 < 62.55218338041667. IsChangePoint: Marked as a change because one of 2/9/2023 1:41:04 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 54.37820201768098 (T) = (0 -53921453.7518648) / Math.Sqrt((1426637704589.1738 / (299)) + (324360517842.42786 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15729781969251347 = (63986370.288243294 - 53921453.7518648) / 63986370.288243294 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch(total: 400000, unique: 1, cacheSize: 15) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 45.256971799999995 < 49.91444103125. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.66752005783821 (T) = (0 -45525691.56313131) / Math.Sqrt((644041071460.3973 / (299)) + (281591874614.2408 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1267566285980603 = (52134024.77941808 - 45525691.56313131) / 52134024.77941808 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch(total: 40000, unique: 1600, cacheSize: 15) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 123.35649026666667 < 147.26527254833334. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.184945804140252 (T) = (0 -131546461.78268398) / Math.Sqrt((32529678637070.086 / (299)) + (41932583089957.336 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15498776828068947 = (155674032.68829846 - 131546461.78268398) / 155674032.68829846 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch(total: 40000, unique: 1600, cacheSize: 800) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 97.18548321428571 < 102.39351082964284. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.784118756471706 (T) = (0 -92442042.9905095) / Math.Sqrt((42196108890748.12 / (299)) + (9922118364822.19 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15643009774613031 = (109584330.52616113 - 92442042.9905095) / 109584330.52616113 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch(total: 40000, unique: 1600, cacheSize: 3200) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.30990817857143 < 13.81952081280637. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 22.481603907201468 (T) = (0 -12912324.795995671) / Math.Sqrt((763184159165.4714 / (299)) + (53160756801.38373 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1301514829941023 = (14844337.311100025 - 12912324.795995671) / 14844337.311100025 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(BinaryData).DeserializeFromString(Mode%3a%20Reflection).html>) 1.36 μs 1.27 μs 0.94 0.00 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(BinaryData).DeserializeFromReader(Mode%3a%20SourceGen).html>) 1.50 μs 1.40 μs 0.94 0.00 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(BinaryData).DeserializeFromString(Mode%3a%20SourceGen).html>) 1.35 μs 1.28 μ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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;BinaryData&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.ReadJson<BinaryData>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2729200541486114 < 1.2863001765814628. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 38.95858604331539 (T) = (0 -1281.0851156955036) / Math.Sqrt((283.6358207754839 / (299)) + (35.78067934784478 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.05867613295758176 = (1360.9398003692336 - 1281.0851156955036) / 1360.9398003692336 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<BinaryData>.DeserializeFromReader(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3986584187153763 < 1.4208970165737622. IsChangePoint: Marked as a change because one of 2/8/2023 4:45:44 PM, 3/14/2023 10:43:28 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 27.322771102321827 (T) = (0 -1400.5556019040594) / Math.Sqrt((400.195370600494 / (299)) + (122.24765695359153 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.06440638404829145 = (1496.9700284662376 - 1400.5556019040594) / 1496.9700284662376 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<BinaryData>.DeserializeFromString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2777109718505444 < 1.2825972176538243. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.76356178400693 (T) = (0 -1274.0936958515247) / Math.Sqrt((120.53552843026526 / (299)) + (39.9029032451109 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.05896292583587618 = (1353.9250799265676 - 1274.0936958515247) / 1353.9250799265676 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Microsoft.Extensions.Logging.ScopesOverheadBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[FilteredByLevel_InsideScope - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Logging.ScopesOverheadBenchmark.FilteredByLevel_InsideScope(HasISupportLoggingScopeLogger%3a%20False%2c%20CaptureScopes%3a%20False).html>) 21.36 ns 15.94 ns 0.75 0.54 False
[NotFiltered_InsideScope - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Logging.ScopesOverheadBenchmark.NotFiltered_InsideScope(HasISupportLoggingScopeLogger%3a%20True%2c%20CaptureScopes%3a%20False).html>) 73.43 ns 64.20 ns 0.87 0.57 False
[FilteredByLevel - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Logging.ScopesOverheadBenchmark.FilteredByLevel(HasISupportLoggingScopeLogger%3a%20True%2c%20CaptureScopes%3a%20False).html>) 9.08 ns 6.77 ns 0.75 0.23 False
[NotFiltered_InsideScope - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Logging.ScopesOverheadBenchmark.NotFiltered_InsideScope(HasISupportLoggingScopeLogger%3a%20False%2c%20CaptureScopes%3a%20False).html>) 88.59 ns 60.84 ns 0.69 0.56 False
[FilteredByLevel - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Logging.ScopesOverheadBenchmark.FilteredByLevel(HasISupportLoggingScopeLogger%3a%20False%2c%20CaptureScopes%3a%20False).html>) 9.06 ns 6.36 ns 0.70 0.23 False
[NotFiltered_InsideScope - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Logging.ScopesOverheadBenchmark.NotFiltered_InsideScope(HasISupportLoggingScopeLogger%3a%20True%2c%20CaptureScopes%3a%20True).html>) 175.05 ns 165.38 ns 0.94 0.49 False
[FilteredByLevel_InsideScope - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Logging.ScopesOverheadBenchmark.FilteredByLevel_InsideScope(HasISupportLoggingScopeLogger%3a%20True%2c%20CaptureScopes%3a%20False).html>) 28.04 ns 20.87 ns 0.74 0.61 False
[FilteredByLevel - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Logging.ScopesOverheadBenchmark.FilteredByLevel(HasISupportLoggingScopeLogger%3a%20True%2c%20CaptureScopes%3a%20True).html>) 8.37 ns 6.64 ns 0.79 0.25 False
[FilteredByLevel - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Logging.ScopesOverheadBenchmark.FilteredByLevel(HasISupportLoggingScopeLogger%3a%20False%2c%20CaptureScopes%3a%20True).html>) 9.17 ns 6.81 ns 0.74 0.21 True
[NotFiltered - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/Microsoft.Extensions.Logging.ScopesOverheadBenchmark.NotFiltered(HasISupportLoggingScopeLogger%3a%20False%2c%20CaptureScopes%3a%20True).html>) 62.69 ns 50.65 ns 0.81 0.48 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Logging.ScopesOverheadBenchmark*'
### Payloads [Baseline]() [Compare]() ### Histogram #### Microsoft.Extensions.Logging.ScopesOverheadBenchmark.FilteredByLevel_InsideScope(HasISupportLoggingScopeLogger: False, CaptureScopes: False) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.938858307551515 < 20.7330722672424. IsChangePoint: Marked as a change because one of 4/21/2023 10:42:26 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 15.998738302728825 (T) = (0 -17.139072485928377) / Math.Sqrt((8.348945341342967 / (299)) + (2.2514721806129154 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.31043985145823216 = (24.855079752176593 - 17.139072485928377) / 24.855079752176593 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.ScopesOverheadBenchmark.NotFiltered_InsideScope(HasISupportLoggingScopeLogger: True, CaptureScopes: False) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 64.19801436275273 < 68.88839084166119. IsChangePoint: Marked as a change because one of 5/16/2023 5:40:18 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 4.96658958891083 (T) = (0 -68.32499326368259) / Math.Sqrt((64.5395264011949 / (299)) + (59.51972583991234 / (18))) is greater than 1.9675235316906419 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (18) - 2, .975) and 0.12005004244451796 = (77.64645327501434 - 68.32499326368259) / 77.64645327501434 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.ScopesOverheadBenchmark.FilteredByLevel(HasISupportLoggingScopeLogger: True, CaptureScopes: False) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.772707675486021 < 8.529689567393419. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.856797063231445 (T) = (0 -6.078427593695345) / Math.Sqrt((0.10625095263146835 / (299)) + (0.5049327655006677 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.32293319786112956 = (8.977589175090914 - 6.078427593695345) / 8.977589175090914 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.ScopesOverheadBenchmark.NotFiltered_InsideScope(HasISupportLoggingScopeLogger: False, CaptureScopes: False) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 60.8367743077381 < 68.45704091588522. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 8.36709678969714 (T) = (0 -64.80050955071185) / Math.Sqrt((65.36163158211663 / (299)) + (23.103075886992986 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16431529806762282 = (77.54181619080954 - 64.80050955071185) / 77.54181619080954 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.ScopesOverheadBenchmark.FilteredByLevel(HasISupportLoggingScopeLogger: False, CaptureScopes: False) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.362891320756978 < 8.607070822741298. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 23.282924153143163 (T) = (0 -6.356228653243159) / Math.Sqrt((0.09237039395100492 / (299)) + (0.142041184727083 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.29636656853249516 = (9.033437538615164 - 6.356228653243159) / 9.033437538615164 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.ScopesOverheadBenchmark.NotFiltered_InsideScope(HasISupportLoggingScopeLogger: True, CaptureScopes: True) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 165.37982282317893 < 165.45872573128852. IsChangePoint: Marked as a change because one of 1/27/2023 2:26:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 7.436429890892593 (T) = (0 -153.93761892013612) / Math.Sqrt((70.57088019416287 / (299)) + (171.72361542584514 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.16774686061790053 = (184.96490026391012 - 153.93761892013612) / 184.96490026391012 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.ScopesOverheadBenchmark.FilteredByLevel_InsideScope(HasISupportLoggingScopeLogger: True, CaptureScopes: False) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.870789139277807 < 23.6355962321551. IsChangePoint: Marked as a change because one of 4/19/2023 6:20:25 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 10.889410371493044 (T) = (0 -17.77776031696013) / Math.Sqrt((8.74619997757728 / (299)) + (4.583782349151862 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.29030120951105587 = (25.04972610241059 - 17.77776031696013) / 25.04972610241059 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.ScopesOverheadBenchmark.FilteredByLevel(HasISupportLoggingScopeLogger: True, CaptureScopes: True) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.644978195747255 < 8.513391052491079. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.76192066891823 (T) = (0 -6.416938005013776) / Math.Sqrt((0.13360259900209512 / (299)) + (0.2537732733304231 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2860095294951159 = (8.987428082164971 - 6.416938005013776) / 8.987428082164971 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.ScopesOverheadBenchmark.FilteredByLevel(HasISupportLoggingScopeLogger: False, CaptureScopes: True) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.80595157780564 < 8.509302515848187. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 14.006106594972048 (T) = (0 -5.950624546382565) / Math.Sqrt((0.072632512067998 / (299)) + (0.5215950001361265 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.33943178601819424 = (9.008342242980625 - 5.950624546382565) / 9.008342242980625 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.ScopesOverheadBenchmark.NotFiltered(HasISupportLoggingScopeLogger: False, CaptureScopes: True) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 50.649040567697774 < 61.513808979921855. IsChangePoint: Marked as a change because one of 4/8/2023 3:10:58 PM, 5/16/2023 12:30:38 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 3.1950904865158707 (T) = (0 -57.305358228054025) / Math.Sqrt((19.533981171232746 / (299)) + (28.74403230525068 / (19))) is greater than 1.9674995188240387 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (19) - 2, .975) and 0.06545822273246399 = (61.31920436516658 - 57.305358228054025) / 61.31920436516658 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromString(Mode%3a%20Reflection).html>) 1.31 μs 986.87 ns 0.75 0.31 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromString(Mode%3a%20SourceGen).html>) 1.33 μs 1.01 μs 0.76 0.29 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromReader(Mode%3a%20Reflection).html>) 1.72 μs 1.33 μs 0.77 0.23 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 1.18 μs 899.70 ns 0.76 0.32 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromReader(Mode%3a%20SourceGen).html>) 1.74 μs 1.33 μs 0.76 0.21 True
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromStream(Mode%3a%20Reflection).html>) 1.59 μs 1.28 μs 0.80 0.07 True
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromStream(Mode%3a%20SourceGen).html>) 1.64 μs 1.30 μs 0.79 0.09 True
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 1.19 μs 882.85 ns 0.74 0.29 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;ClassRecord&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 986.8729515077001 < 1.2339067560914505. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 40.23474574914192 (T) = (0 -960.2766899847627) / Math.Sqrt((1649.7458977058204 / (299)) + (518.2833950794245 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.24086555544676846 = (1264.9626121890808 - 960.2766899847627) / 1264.9626121890808 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0110706437181556 < 1.271391618180422. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 33.63265802401183 (T) = (0 -972.0970060575557) / Math.Sqrt((1770.8975169435002 / (299)) + (810.9493879903681 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23592249999521217 = (1272.249223477284 - 972.0970060575557) / 1272.249223477284 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromReader(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.32547307618482 < 1.626558004048068. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 49.28872007491761 (T) = (0 -1334.4069980238287) / Math.Sqrt((2091.979740056003 / (299)) + (504.00264404898076 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2186497647453006 = (1707.821842005138 - 1334.4069980238287) / 1707.821842005138 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 899.7017532254954 < 1.1343665225181834. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 36.722930747594035 (T) = (0 -894.9660426451933) / Math.Sqrt((1350.0655686784464 / (299)) + (522.5105587181889 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.2450432998313447 = (1185.4534736167786 - 894.9660426451933) / 1185.4534736167786 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromReader(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3285568927323848 < 1.6296730766764564. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 43.601488298315125 (T) = (0 -1289.031909435932) / Math.Sqrt((1986.142934004748 / (299)) + (988.6934018015512 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2494289003669173 = (1717.4014694491652 - 1289.031909435932) / 1717.4014694491652 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2835665987599796 < 1.5088413458286538. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 53.52492572078642 (T) = (0 -1260.6433306504466) / Math.Sqrt((1096.265337969496 / (299)) + (356.63825009288485 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.2102809343219725 = (1596.3187232514117 - 1260.6433306504466) / 1596.3187232514117 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2971906013415722 < 1.4846158756673493. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 42.53319403251918 (T) = (0 -1261.060696700308) / Math.Sqrt((1193.2954552423018 / (299)) + (650.0270713408503 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21128660057465354 = (1598.8833175892687 - 1261.060696700308) / 1598.8833175892687 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 882.8526420587425 < 1.1139692592325423. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 32.722174145493526 (T) = (0 -904.451706205773) / Math.Sqrt((1293.2872827047408 / (299)) + (754.2810613751124 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.23599630883760192 = (1183.831592265856 - 904.451706205773) / 1183.831592265856 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.CreateAddAndRemove<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CreateAddAndRemove(Int32).SortedDictionary(Size%3a%20512).html>) 141.44 μs 117.12 μs 0.83 0.36 False
[HashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CreateAddAndRemove(Int32).HashSet(Size%3a%20512).html>) 17.07 μs 13.77 μs 0.81 0.01 False
[SortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CreateAddAndRemove(Int32).SortedSet(Size%3a%20512).html>) 122.62 μs 99.05 μs 0.81 0.34 False
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CreateAddAndRemove(Int32).Dictionary(Size%3a%20512).html>) 17.57 μs 15.17 μs 0.86 0.01 False
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CreateAddAndRemove(Int32).Queue(Size%3a%20512).html>) 4.11 μs 3.39 μs 0.82 0.00 True
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Collections.CreateAddAndRemove(Int32).SortedList(Size%3a%20512).html>) 141.79 μs 131.16 μs 0.92 0.01 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CreateAddAndRemove&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.CreateAddAndRemove<Int32>.SortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 117.11662629161884 < 136.16850187041365. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 34.635686759326646 (T) = (0 -115256.30914854603) / Math.Sqrt((40119567.58947048 / (299)) + (7129411.403660163 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.20998305085420965 = (145890.93217957852 - 115256.30914854603) / 145890.93217957852 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndRemove<Int32>.HashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.76593544350764 < 16.19941183253629. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 68.50554562754726 (T) = (0 -13908.001732174716) / Math.Sqrt((1611426.492399122 / (299)) + (4140.516081271822 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.27220665583832865 = (19109.822649168396 - 13908.001732174716) / 19109.822649168396 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndRemove<Int32>.SortedSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 99.05007263266798 < 116.2140201200045. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 28.762692241975053 (T) = (0 -98667.16732551678) / Math.Sqrt((18595675.66590388 / (299)) + (5558600.133200283 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.18006420065078227 = (120335.23527552867 - 98667.16732551678) / 120335.23527552867 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndRemove<Int32>.Dictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.17305459132284 < 16.709687977750896. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 42.020983582331354 (T) = (0 -13997.276761704066) / Math.Sqrt((754621.9235483698 / (299)) + (154831.4877752667 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2789073896413263 = (19411.20538559087 - 13997.276761704066) / 19411.20538559087 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndRemove<Int32>.Queue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.389858493249984 < 3.8984371392959813. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 216.14117016888085 (T) = (0 -3406.6949437820435) / Math.Sqrt((357.56746062026923 / (299)) + (108.94648556898703 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1744964900755161 = (4126.808551175856 - 3406.6949437820435) / 4126.808551175856 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndRemove<Int32>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 131.157590416936 < 134.55479160781144. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 45.13491458054308 (T) = (0 -131197.1894241601) / Math.Sqrt((2268283.9950470817 / (299)) + (451625.6552409719 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.07052400183212304 = (141151.77764973763 - 131197.1894241601) / 141151.77764973763 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Tests.Perf_Booleans

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[WriteBooleans - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Booleans.WriteBooleans(Formatted%3a%20False%2c%20SkipValidation%3a%20True).html>) 1.61 ms 1.02 ms 0.63 0.00 True
[WriteBooleans - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Booleans.WriteBooleans(Formatted%3a%20True%2c%20SkipValidation%3a%20False).html>) 2.43 ms 2.12 ms 0.87 0.01 False
[WriteBooleans - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Booleans.WriteBooleans(Formatted%3a%20False%2c%20SkipValidation%3a%20False).html>) 1.78 ms 1.04 ms 0.59 0.00 True
[WriteBooleans - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Tests.Perf_Booleans.WriteBooleans(Formatted%3a%20True%2c%20SkipValidation%3a%20True).html>) 2.27 ms 2.10 ms 0.93 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Booleans*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Tests.Perf_Booleans.WriteBooleans(Formatted: False, SkipValidation: True) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0213552299679487 < 1.530002735645833. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 330.5681828610058 (T) = (0 -1008603.3189920654) / Math.Sqrt((351892565.3257404 / (299)) + (25703620.982040517 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.38055585852170265 = (1628239.3382316015 - 1008603.3189920654) / 1628239.3382316015 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Booleans.WriteBooleans(Formatted: True, SkipValidation: False) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.1245683745498196 < 2.3054248392559518. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 4/10/2023 1:33:42 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 39.452542646902515 (T) = (0 -2138446.6552479262) / Math.Sqrt((1760420944.6576073 / (299)) + (386179707.6112185 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10564558847778553 = (2391050.6033153394 - 2138446.6552479262) / 2391050.6033153394 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Booleans.WriteBooleans(Formatted: False, SkipValidation: False) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0415045718005953 < 1.691744003888062. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 831.3751647324292 (T) = (0 -1041311.2349522007) / Math.Sqrt((218713087.24346954 / (299)) + (681211.1635646953 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.41560002610639707 = (1781846.8197635203 - 1041311.2349522007) / 1781846.8197635203 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Booleans.WriteBooleans(Formatted: True, SkipValidation: True) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.1039064683615822 < 2.1564711058630945. IsChangePoint: Marked as a change because one of 2/20/2023 2:00:07 PM, 3/21/2023 3:33:39 AM, 4/10/2023 1:33:42 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 21.59873989550846 (T) = (0 -2089085.0336849845) / Math.Sqrt((871716976.0236144 / (299)) + (504462579.00481254 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.06734349739163152 = (2239929.7360200915 - 2089085.0336849845) / 2239929.7360200915 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LargeStructWithProperties).SerializeToStream(Mode%3a%20Reflection).html>) 925.99 ns 699.18 ns 0.76 0.07 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LargeStructWithProperties).SerializeToString(Mode%3a%20Reflection).html>) 799.66 ns 630.99 ns 0.79 0.03 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LargeStructWithProperties).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 776.86 ns 573.58 ns 0.74 0.03 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LargeStructWithProperties).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 815.11 ns 681.85 ns 0.84 0.14 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LargeStructWithProperties).SerializeToString(Mode%3a%20SourceGen).html>) 532.00 ns 463.71 ns 0.87 0.04 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LargeStructWithProperties).SerializeObjectProperty(Mode%3a%20Reflection).html>) 1.04 μs 846.24 ns 0.81 0.10 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LargeStructWithProperties).SerializeToWriter(Mode%3a%20Reflection).html>) 662.40 ns 462.59 ns 0.70 0.03 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LargeStructWithProperties).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 478.24 ns 421.49 ns 0.88 0.04 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LargeStructWithProperties).SerializeToWriter(Mode%3a%20SourceGen).html>) 366.77 ns 322.02 ns 0.88 0.02 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(LargeStructWithProperties).SerializeToStream(Mode%3a%20SourceGen).html>) 572.83 ns 506.27 ns 0.88 0.04 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;LargeStructWithProperties&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeToStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 699.1801204298847 < 868.9630133693704. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 42.57329188535546 (T) = (0 -716.0830807314063) / Math.Sqrt((516.3482169873554 / (299)) + (227.21519146567002 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21952754874912545 = (917.499496085646 - 716.0830807314063) / 917.499496085646 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeToString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 630.9895313850915 < 769.4850320336462. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 46.08283615737791 (T) = (0 -612.2009654311205) / Math.Sqrt((328.4419059147112 / (299)) + (163.36240945233718 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.23914212305472823 = (804.6193434824042 - 612.2009654311205) / 804.6193434824042 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 573.5810310413012 < 725.5459562545838. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 46.164674203675155 (T) = (0 -569.2602411086533) / Math.Sqrt((279.8739871790328 / (299)) + (178.81462122053216 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2516364670492538 = (760.6734107741717 - 569.2602411086533) / 760.6734107741717 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeObjectProperty(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 681.8458587641867 < 771.0563319116786. IsChangePoint: Marked as a change because one of 4/17/2023 5:51:51 AM, 4/24/2023 7:54:29 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.849790144971703 (T) = (0 -688.8667229877435) / Math.Sqrt((567.6492120870039 / (299)) + (356.1585784191592 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.15052705152589904 = (810.9342672125667 - 688.8667229877435) / 810.9342672125667 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeToString(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 463.70650315881653 < 493.02631599568724. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/25/2023 6:51:20 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.365042640489285 (T) = (0 -468.1811568593381) / Math.Sqrt((369.09354468350693 / (299)) + (53.86658245109877 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08411656853607022 = (511.17985190648847 - 468.1811568593381) / 511.17985190648847 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 846.2359127064992 < 1.0085608983987022. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.943445733558274 (T) = (0 -864.775002510229) / Math.Sqrt((743.4509841015963 / (299)) + (858.1919170417344 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.212085930762422 = (1097.5498931590664 - 864.775002510229) / 1097.5498931590664 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 462.58516061756757 < 637.0569338570225. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 59.95786051758533 (T) = (0 -465.93845825709263) / Math.Sqrt((235.80718616619464 / (299)) + (128.16958204709744 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3121824922273818 = (677.415815956701 - 465.93845825709263) / 677.415815956701 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeToUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 421.48898100136665 < 453.31713986779664. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/24/2023 7:54:29 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 23.159409886160773 (T) = (0 -419.5004679915228) / Math.Sqrt((395.5989877965096 / (299)) + (33.716610715921455 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10366017269659403 = (468.0149818329162 - 419.5004679915228) / 468.0149818329162 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeToWriter(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 322.01709296754893 < 348.2503304244711. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/24/2023 7:54:29 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 43.49998720975818 (T) = (0 -325.6205966799625) / Math.Sqrt((188.9157273031237 / (299)) + (5.587850630360138 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12482176153639193 = (372.0620353307637 - 325.6205966799625) / 372.0620353307637 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeToStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 506.2720257476171 < 535.5669319973529. IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/25/2023 1:02:54 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.827540401561595 (T) = (0 -506.35682161138914) / Math.Sqrt((405.07715619651736 / (299)) + (67.4302470185309 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.08639814418865167 = (554.2423303876781 - 506.35682161138914) / 554.2423303876781 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Perf_Ascii

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ToUpper_Bytes_Chars - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Perf_Ascii.ToUpper_Bytes_Chars(Size%3a%206).html>) 12.32 ns 10.75 ns 0.87 0.28 True
[ToUpper_Chars - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Perf_Ascii.ToUpper_Chars(Size%3a%206).html>) 12.07 ns 10.26 ns 0.85 0.14 True
[ToLower_Bytes_Chars - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Perf_Ascii.ToLower_Bytes_Chars(Size%3a%206).html>) 12.37 ns 10.79 ns 0.87 0.33 True
[ToLower_Chars - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Perf_Ascii.ToLower_Chars(Size%3a%206).html>) 11.90 ns 9.55 ns 0.80 0.22 True
[ToUpper_Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Perf_Ascii.ToUpper_Bytes(Size%3a%20128).html>) 19.11 ns 16.54 ns 0.87 0.40 True
[ToUpper_Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Perf_Ascii.ToUpper_Bytes(Size%3a%206).html>) 11.42 ns 10.13 ns 0.89 0.25 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Perf_Ascii*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Perf_Ascii.ToUpper_Bytes_Chars(Size: 6) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.747628741927457 < 11.773781146364808. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 10.118354242024875 (T) = (0 -10.6431545992327) / Math.Sqrt((0.19079471627321443 / (23)) + (0.17710506202121407 / (11))) is greater than 2.036933343456739 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (23) + (11) - 2, .975) and 0.1292916521681937 = (12.223558698771802 - 10.6431545992327) / 12.223558698771802 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Perf_Ascii.ToUpper_Chars(Size: 6) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.261198493220435 < 11.458259679391983. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 16.397107331524616 (T) = (0 -10.141827016412675) / Math.Sqrt((0.07614848678466488 / (23)) + (0.1106265184128525 / (11))) is greater than 2.036933343456739 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (23) + (11) - 2, .975) and 0.15749074603695876 = (12.03764465340528 - 10.141827016412675) / 12.03764465340528 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Perf_Ascii.ToLower_Bytes_Chars(Size: 6) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.790427280745423 < 11.741094080947411. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 11.342030839691986 (T) = (0 -10.606023718131958) / Math.Sqrt((0.1536576610209979 / (23)) + (0.1512827139400397 / (11))) is greater than 2.036933343456739 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (23) + (11) - 2, .975) and 0.13259684183611553 = (12.227328916559108 - 10.606023718131958) / 12.227328916559108 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Perf_Ascii.ToLower_Chars(Size: 6) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.551469320051934 < 11.279422232279176. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.992810139048247 (T) = (0 -10.055698214145268) / Math.Sqrt((0.15128918586850607 / (23)) + (0.1255169038899935 / (11))) is greater than 2.036933343456739 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (23) + (11) - 2, .975) and 0.1476998097119752 = (11.798305724591078 - 10.055698214145268) / 11.798305724591078 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Perf_Ascii.ToUpper_Bytes(Size: 128) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.54258365083034 < 18.1330726744838. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 10.26489802845353 (T) = (0 -16.910924575429302) / Math.Sqrt((0.6740840221428596 / (23)) + (0.13554914892556358 / (10))) is greater than 2.0395134463927453 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (23) + (10) - 2, .975) and 0.11163938578554153 = (19.03610347514444 - 16.910924575429302) / 19.03610347514444 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Perf_Ascii.ToUpper_Bytes(Size: 6) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.12735130817993 < 10.853698264333179. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 7.4777435976429265 (T) = (0 -9.817413642873897) / Math.Sqrt((0.012085077293571033 / (23)) + (0.47155089868291444 / (11))) is greater than 2.036933343456739 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (23) + (11) - 2, .975) and 0.13693931822332528 = (11.37511399854761 - 9.817413642873897) / 11.37511399854761 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.WriteJson<BinaryData>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(BinaryData).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 836.15 ns 756.07 ns 0.90 0.01 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(BinaryData).SerializeToWriter(Mode%3a%20Reflection).html>) 604.84 ns 532.22 ns 0.88 0.01 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(BinaryData).SerializeObjectProperty(Mode%3a%20Reflection).html>) 1.33 μs 1.26 μs 0.95 0.02 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Text.Json.Serialization.Tests.WriteJson(BinaryData).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 1.33 μs 1.24 μs 0.93 0.02 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;BinaryData&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.WriteJson<BinaryData>.SerializeToUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 756.0730738809743 < 789.2126010567046. IsChangePoint: Marked as a change because one of 3/19/2023 10:05:03 PM, 4/24/2023 8:06:00 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 37.4035818747997 (T) = (0 -758.6338958524892) / Math.Sqrt((189.8535252170854 / (299)) + (15.854073215067654 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.06633046198683895 = (812.5293425196822 - 758.6338958524892) / 812.5293425196822 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<BinaryData>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 532.2158837615892 < 577.0853393843028. IsChangePoint: Marked as a change because one of 3/20/2023 7:45:43 PM, 4/21/2023 10:42:26 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 37.135786248560116 (T) = (0 -540.263341940004) / Math.Sqrt((61.909445768139115 / (299)) + (27.711156763725455 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10192540766450098 = (601.5795865408189 - 540.263341940004) / 601.5795865408189 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<BinaryData>.SerializeObjectProperty(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2609910218493483 < 1.282992629309951. IsChangePoint: Marked as a change because one of 2/12/2023 12:05:22 AM, 4/18/2023 7:36:21 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 12.91206863131697 (T) = (0 -1250.260354092877) / Math.Sqrt((700.9350317203584 / (299)) + (353.79688370297356 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.057197069308150064 = (1326.1099572265944 - 1250.260354092877) / 1326.1099572265944 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<BinaryData>.SerializeObjectProperty(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2351619733071129 < 1.2634661903915188. IsChangePoint: Marked as a change because one of 2/13/2023 11:10:05 PM, 4/25/2023 1:02:54 PM, 5/19/2023 1:23:34 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 10.69747812581491 (T) = (0 -1226.5873008799126) / Math.Sqrt((458.8570286587524 / (299)) + (358.92401148123025 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.0531430633135932 = (1295.4304429267236 - 1226.5873008799126) / 1295.4304429267236 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_ToStream<IndexViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DataContractJsonSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.JsonToStream(IndexViewModel).DataContractJsonSerializer.html>) 102.90 μs 72.65 μs 0.71 0.01 False
[SystemTextJsonReflection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_ToStream(IndexViewModel).SystemTextJsonReflection.html>) 17.26 μs 14.90 μs 0.86 0.01 True
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.JsonToStream(IndexViewModel).JsonNet.html>) 53.19 μs 38.66 μs 0.73 0.01 True
[SystemTextJsonSourceGen - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_ToStream(IndexViewModel).SystemTextJsonSourceGen.html>) 17.30 μs 14.81 μs 0.86 0.01 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToStream&lt;IndexViewModel&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Json_ToStream<IndexViewModel>.DataContractJsonSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 72.646111272516 < 99.31605444766487. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 92.70568815887071 (T) = (0 -73253.18798501583) / Math.Sqrt((34012878.60854093 / (299)) + (464188.96611135104 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.33620815373544066 = (110355.66103627643 - 73253.18798501583) / 110355.66103627643 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToStream<IndexViewModel>.SystemTextJson_Reflection_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.900237977684679 < 16.479664630506264. IsChangePoint: Marked as a change because one of 3/10/2023 12:53:36 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 47.780381561954194 (T) = (0 -14886.104011343194) / Math.Sqrt((73216.36648129535 / (299)) + (38681.559909168005 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1644754767727784 = (17816.477670631943 - 14886.104011343194) / 17816.477670631943 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToStream<IndexViewModel>.JsonNet_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 38.65814546853361 < 50.43442561284196. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 138.39957834531484 (T) = (0 -38315.93659838037) / Math.Sqrt((342740.836914079 / (299)) + (116622.6616771485 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2813566484308196 = (53317.04038549347 - 38315.93659838037) / 53317.04038549347 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToStream<IndexViewModel>.SystemTextJson_SourceGen_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.812601761777096 < 16.17585809722394. IsChangePoint: Marked as a change because one of 3/9/2023 9:18:02 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 48.38968123626335 (T) = (0 -14625.403486267303) / Math.Sqrt((73054.18505228804 / (299)) + (33601.44678000916 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.16572086099130504 = (17530.587548485826 - 14625.403486267303) / 17530.587548485826 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Reflection.Attributes

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetCustomAttributesMethodBaseMissInherit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Reflection.Attributes.GetCustomAttributesMethodBaseMissInherit.html>) 210.20 ns 182.74 ns 0.87 0.19 False
[GetCustomAttributesClassMiss - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Reflection.Attributes.GetCustomAttributesClassMiss.html>) 167.22 ns 150.59 ns 0.90 0.10 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Reflection.Attributes*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Reflection.Attributes.GetCustomAttributesMethodBaseMissInherit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 182.73505066574916 < 195.87768263192652. IsChangePoint: Marked as a change because one of 4/25/2023 1:02:54 PM, 5/10/2023 2:36:50 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 20.084705421765776 (T) = (0 -186.09815603235054) / Math.Sqrt((107.56292567055446 / (299)) + (33.36682859685121 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.17184142125368926 = (224.71318997150408 - 186.09815603235054) / 224.71318997150408 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.GetCustomAttributesClassMiss ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 150.59447184499825 < 159.89172342668027. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/10/2023 2:36:50 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 65.53899340207575 (T) = (0 -151.03439975848835) / Math.Sqrt((59.95721954878901 / (299)) + (1.1542576538815321 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1934365071541637 = (187.2566773702917 - 151.03439975848835) / 187.2566773702917 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in PerfLabTests.DelegatePerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DelegateInvoke - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/PerfLabTests.DelegatePerf.DelegateInvoke.html>) 400.37 μs 133.46 μs 0.33 0.37 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'PerfLabTests.DelegatePerf*'
### Payloads [Baseline]() [Compare]() ### Histogram #### PerfLabTests.DelegatePerf.DelegateInvoke ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 133.4562204111945 < 380.3559309481837. IsChangePoint: Marked as a change because one of 5/16/2023 12:30:38 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 41.39607917858297 (T) = (0 -133460.39890899247) / Math.Sqrt((13204548319.721014 / (299)) + (28.49068957937851 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.6733372281655489 = (408557.11276652187 - 133460.39890899247) / 408557.11276652187 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in JetStream.TimeSeriesSegmentation

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[MaximizeSchwarzCriterion - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/JetStream.TimeSeriesSegmentation.MaximizeSchwarzCriterion.html>) 121.40 ms 81.69 ms 0.67 0.00 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'JetStream.TimeSeriesSegmentation*'
### Payloads [Baseline]() [Compare]() ### Histogram #### JetStream.TimeSeriesSegmentation.MaximizeSchwarzCriterion ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 81.68653507142857 < 115.41732475208332. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 316.0785340192805 (T) = (0 -80432706.89145021) / Math.Sqrt((224441107732.42868 / (299)) + (175062934422.01758 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.336565147285747 = (121236782.42465392 - 80432706.89145021) / 121236782.42465392 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Memory.ReadOnlySpan

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[IndexOfString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Memory.ReadOnlySpan.IndexOfString(input%3a%20%22ABCDE%22%2c%20value%3a%20%22c%22%2c%20comparisonType%3a%20InvariantCultureIgnoreCase).html>) 36.16 ns 22.69 ns 0.63 0.01 False
[IndexOfString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Memory.ReadOnlySpan.IndexOfString(input%3a%20%22AAAAA5AAAA%22%2c%20value%3a%20%225%22%2c%20comparisonType%3a%20InvariantCulture).html>) 35.77 ns 27.46 ns 0.77 0.01 False
[IndexOfString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Memory.ReadOnlySpan.IndexOfString(input%3a%20%22foobardzsdzs%22%2c%20value%3a%20%22rddzs%22%2c%20comparisonType%3a%20InvariantCulture).html>) 47.88 ns 39.36 ns 0.82 0.01 False
[IndexOfString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/System.Memory.ReadOnlySpan.IndexOfString(input%3a%20%22string1%22%2c%20value%3a%20%22string2%22%2c%20comparisonType%3a%20InvariantCulture).html>) 38.89 ns 31.15 ns 0.80 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.ReadOnlySpan*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Memory.ReadOnlySpan.IndexOfString(input: "ABCDE", value: "c", comparisonType: InvariantCultureIgnoreCase) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.694180328817275 < 34.35779207564669. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 25.50510351745115 (T) = (0 -22.684981576961917) / Math.Sqrt((18.3864437297214 / (299)) + (0.0008345158650277093 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21812560856524243 = (29.01358814851891 - 22.684981576961917) / 29.01358814851891 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySpan.IndexOfString(input: "AAAAA5AAAA", value: "5", comparisonType: InvariantCulture) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 27.462850685229576 < 33.90478526608844. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 54.52879227899486 (T) = (0 -27.471830707069714) / Math.Sqrt((2.7565414776434234 / (299)) + (9.194678481924674E-05 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16013653611555095 = (32.70987712694378 - 27.471830707069714) / 32.70987712694378 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySpan.IndexOfString(input: "foobardzsdzs", value: "rddzs", comparisonType: InvariantCulture) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 39.36366649229898 < 45.49689690303756. IsChangePoint: Marked as a change because one of 3/16/2023 8:14:39 PM, 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 66.52841180295198 (T) = (0 -39.341989620312) / Math.Sqrt((2.5686085972934904 / (299)) + (0.00045535227540078975 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1357790723087248 = (45.52306980740705 - 39.341989620312) / 45.52306980740705 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySpan.IndexOfString(input: "string1", value: "string2", comparisonType: InvariantCulture) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 31.15174901043517 < 36.89907640421511. IsChangePoint: Marked as a change because one of 4/25/2023 6:46:56 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 29.561961133541423 (T) = (0 -31.144308170991977) / Math.Sqrt((5.386212097258125 / (299)) + (0.00031697180753426037 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.11308147985031367 = (35.115185288650544 - 31.144308170991977) / 35.115185288650544 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in LinqBenchmarks

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Order00LinqMethodX - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/LinqBenchmarks.Order00LinqMethodX.html>) 122.77 ms 100.18 ms 0.82 0.03 False
[Order00ManualX - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/LinqBenchmarks.Order00ManualX.html>) 202.34 ms 141.33 ms 0.70 0.23 False
[Order00LinqQueryX - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/LinqBenchmarks.Order00LinqQueryX.html>) 122.37 ms 100.06 ms 0.82 0.05 False
[Where00LinqMethodX - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/LinqBenchmarks.Where00LinqMethodX.html>) 823.62 ms 588.62 ms 0.71 0.65 False
[Count00ForX - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/LinqBenchmarks.Count00ForX.html>) 237.97 ms 201.69 ms 0.85 0.00 False
[Where00ForX - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/LinqBenchmarks.Where00ForX.html>) 346.56 ms 286.11 ms 0.83 0.10 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'LinqBenchmarks*'
### Payloads [Baseline]() [Compare]() ### Histogram #### LinqBenchmarks.Order00LinqMethodX ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 100.17859270000001 < 116.60736293833332. IsChangePoint: Marked as a change because one of 4/8/2023 3:10:58 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 15.810591685919205 (T) = (0 -96217006.8145105) / Math.Sqrt((67948923854034.02 / (299)) + (7274455723444.502 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13412155066383682 = (111120685.45911554 - 96217006.8145105) / 111120685.45911554 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### LinqBenchmarks.Order00ManualX ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 141.32546116666666 < 163.82064795083332. IsChangePoint: Marked as a change because one of 3/24/2023 3:46:52 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 21.76370609706572 (T) = (0 -139989473.62034634) / Math.Sqrt((201135425267509.03 / (299)) + (1467644999373.498 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1224869516068504 = (159529791.46770164 - 139989473.62034634) / 159529791.46770164 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### LinqBenchmarks.Order00LinqQueryX ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 100.06441113333334 < 116.36496521333333. IsChangePoint: Marked as a change because one of 4/8/2023 3:10:58 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 13.196641872872853 (T) = (0 -96580005.69959708) / Math.Sqrt((67856733888555.12 / (299)) + (10015574989906.383 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.13152850948663158 = (111206881.00251509 - 96580005.69959708) / 111206881.00251509 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### LinqBenchmarks.Where00LinqMethodX ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 588.6247465714285 < 783.3571345073809. IsChangePoint: Marked as a change because one of 3/25/2023 7:34:08 PM, 3/26/2023 1:21:26 PM, 5/18/2023 7:10:13 PM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 17.012363006538365 (T) = (0 -617446326.9881562) / Math.Sqrt((27372122321273080 / (299)) + (1112208491107179.1 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2721858890280674 = (848357180.3294803 - 617446326.9881562) / 848357180.3294803 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### LinqBenchmarks.Count00ForX ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 201.69340006666667 < 225.98274966999998. IsChangePoint: Marked as a change because one of 4/8/2023 3:10:58 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 7.744579800587716 (T) = (0 -218845265.279021) / Math.Sqrt((7706795985181.166 / (299)) + (81543019915874.98 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.08802285115291628 = (239967926.34079036 - 218845265.279021) / 239967926.34079036 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### LinqBenchmarks.Where00ForX ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 286.11035153333336 < 329.1505323383333. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 22.426766145079263 (T) = (0 -296602557.9889111) / Math.Sqrt((57926741601458.08 / (299)) + (69559944403425.65 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16179905208892398 = (353856147.17817926 - 296602557.9889111) / 353856147.17817926 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_ToString<LoginViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SystemTextJsonReflection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_ToString(LoginViewModel).SystemTextJsonReflection.html>) 433.40 ns 377.46 ns 0.87 0.09 False
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.JsonToString(LoginViewModel).JsonNet.html>) 893.00 ns 642.69 ns 0.72 0.11 True
[SystemTextJsonSourceGen - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_ubuntu 20.04/MicroBenchmarks.Serializers.Json_ToString(LoginViewModel).SystemTextJsonSourceGen.html>) 322.17 ns 295.41 ns 0.92 0.05 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToString&lt;LoginViewModel&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Json_ToString<LoginViewModel>.SystemTextJson_Reflection_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 377.4569699178959 < 406.59028937817624. IsChangePoint: Marked as a change because one of 3/15/2023 10:57:55 AM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 32.78724292548674 (T) = (0 -366.232359960377) / Math.Sqrt((120.82410358585682 / (299)) + (43.526991580753666 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1575107612628636 = (434.7027156208514 - 366.232359960377) / 434.7027156208514 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToString<LoginViewModel>.JsonNet_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 642.6855909242507 < 849.6181571687878. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 50.433198588656126 (T) = (0 -625.6841674777882) / Math.Sqrt((525.3750043622038 / (299)) + (263.9265852701677 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.29029116910766045 = (881.6068509265913 - 625.6841674777882) / 881.6068509265913 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToString<LoginViewModel>.SystemTextJson_SourceGen_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 295.40634927075416 < 303.17376209228064. IsChangePoint: Marked as a change because one of 4/8/2023 3:10:58 PM, 5/19/2023 4:22:12 AM, 5/23/2023 1:41:12 PM falls between 5/14/2023 7:30:23 PM and 5/23/2023 1:41:12 PM. IsImprovementStdDev: Marked as improvement because 14.10494354200268 (T) = (0 -287.0467917561011) / Math.Sqrt((57.53742395825717 / (299)) + (54.33636305788781 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.10016773748486943 = (319.00033341077767 - 287.0467917561011) / 319.00033341077767 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)