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] Alpine/x64: 627 Improvements on 6/1/2023 1:33:18 PM #18541

Open performanceautofiler[bot] opened 1 year ago

performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%2010%2c%20Options%3a%20NonBacktracking).html>) 88.41 ns 76.52 ns 0.87 0.13 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%2010%2c%20Options%3a%20None).html>) 86.23 ns 79.40 ns 0.92 0.10 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%200%2c%20Options%3a%20None).html>) 55.85 ns 48.46 ns 0.87 0.01 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%201%2c%20Options%3a%20None).html>) 116.91 ns 104.25 ns 0.89 0.03 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%203%2c%20Options%3a%20None).html>) 277.35 ns 260.46 ns 0.94 0.04 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%2011%2c%20Options%3a%20None).html>) 70.24 ns 64.07 ns 0.91 0.01 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%2011%2c%20Options%3a%20NonBacktracking).html>) 108.53 ns 97.37 ns 0.90 0.15 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%202%2c%20Options%3a%20None).html>) 176.44 ns 154.87 ns 0.88 0.03 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%200%2c%20Options%3a%20NonBacktracking).html>) 84.04 ns 69.28 ns 0.82 0.03 True
[IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%2013%2c%20Options%3a%20None).html>) 77.68 ns 71.20 ns 0.92 0.04 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%2012%2c%20Options%3a%20None).html>) 77.95 ns 71.45 ns 0.92 0.03 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%2012%2c%20Options%3a%20NonBacktracking).html>) 136.20 ns 117.20 ns 0.86 0.09 False
[IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id%3a%202%2c%20Options%3a%20NonBacktracking).html>) 143.48 ns 118.29 ns 0.82 0.05 False

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

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 76.51532580138111 < 84.26425874466734. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 48.89646155302494 (T) = (0 -77.51846193732031) / Math.Sqrt((4.84100977565109 / (299)) + (0.7965018159749359 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.14239573201142178 = (90.38954775625338 - 77.51846193732031) / 90.38954775625338 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 79.40333954511708 < 79.9062407131266. IsChangePoint: Marked as a change because one of 2/24/2023 8:06:06 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 41.97839556636243 (T) = (0 -78.75787751804903) / Math.Sqrt((3.6474243021052972 / (299)) + (0.22121279427185966 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.08045517938891938 = (85.64876420674169 - 78.75787751804903) / 85.64876420674169 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 48.45789867081988 < 53.174109797047876. IsChangePoint: Marked as a change because one of 2/24/2023 8:06:06 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 50.296142866169966 (T) = (0 -48.545117911425194) / Math.Sqrt((0.7628030448998555 / (299)) + (0.3094901225352003 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.13625907857192265 = (56.20333216488399 - 48.545117911425194) / 56.20333216488399 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 104.2467761365903 < 111.07351558914776. IsChangePoint: Marked as a change because one of 2/24/2023 8:06:06 PM, 3/28/2023 3:45:48 AM, 4/6/2023 1:55:21 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 50.30827782438746 (T) = (0 -104.53231204372288) / Math.Sqrt((18.91827404432601 / (299)) + (0.33575885490400886 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12346314096750453 = (119.25603694418925 - 104.53231204372288) / 119.25603694418925 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 260.46067503582503 < 263.55694331716364. IsChangePoint: Marked as a change because one of 2/25/2023 3:45:56 AM, 3/28/2023 3:45:48 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 31.639139807777283 (T) = (0 -248.15919296792933) / Math.Sqrt((49.82176029304543 / (299)) + (14.093302252674818 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.11823842917116441 = (281.43570912788294 - 248.15919296792933) / 281.43570912788294 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 64.06652200429131 < 67.37881259876774. IsChangePoint: Marked as a change because one of 2/24/2023 8:06:06 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 54.31666870574583 (T) = (0 -64.47721564588365) / Math.Sqrt((1.2331724434259221 / (299)) + (0.21881442750581184 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1033284209260764 = (71.90728149594669 - 64.47721564588365) / 71.90728149594669 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: 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 97.36883400918053 < 100.65762114574477. IsChangePoint: Marked as a change because one of 6/1/2023 4:59:33 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 14.192661487003281 (T) = (0 -97.21418623576022) / Math.Sqrt((9.863059672691444 / (299)) + (4.339800907651969 / (13))) is greater than 1.9676459287777595 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (13) - 2, .975) and 0.08123853608401999 = (105.81003889890007 - 97.21418623576022) / 105.81003889890007 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 154.86862344558872 < 168.15398263695272. IsChangePoint: Marked as a change because one of 2/24/2023 8:06:06 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 62.959700346731935 (T) = (0 -154.73564657590487) / Math.Sqrt((17.247999520738883 / (299)) + (1.8081878042046904 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1465951437348269 = (181.31563869121555 - 154.73564657590487) / 181.31563869121555 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: 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 69.27550230357248 < 80.16629149975114. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 66.9771885799165 (T) = (0 -69.7759988675197) / Math.Sqrt((2.427032476558003 / (299)) + (0.5443974416989111 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1682501867983827 = (83.89060960402753 - 69.7759988675197) / 83.89060960402753 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: 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 71.20411171775746 < 73.8084171617973. IsChangePoint: Marked as a change because one of 2/25/2023 3:43:07 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 46.596538799611274 (T) = (0 -71.55028169535596) / Math.Sqrt((2.0465466889334127 / (299)) + (0.24985950523209938 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.0907748594678047 = (78.69369038066364 - 71.55028169535596) / 78.69369038066364 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: 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 71.45313481699942 < 74.21658708932021. IsChangePoint: Marked as a change because one of 2/24/2023 8:06:06 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 39.08368604813134 (T) = (0 -71.63176929323828) / Math.Sqrt((1.7816702850847173 / (299)) + (0.39773045541298374 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.08952167373653892 = (78.67487586136181 - 71.63176929323828) / 78.67487586136181 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: 12, 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 117.20276176184338 < 129.7811814173981. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 15.316846268869666 (T) = (0 -120.12801422972666) / Math.Sqrt((12.222790812360607 / (299)) + (21.820610996367254 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.13489601141927152 = (138.85962360063345 - 120.12801422972666) / 138.85962360063345 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 118.29041454132052 < 139.40128184202985. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 27.182804947592953 (T) = (0 -120.19756123628943) / Math.Sqrt((8.714841792480795 / (299)) + (11.111029517772272 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16557602417196887 = (144.04854692365802 - 120.19756123628943) / 144.04854692365802 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[HashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.ContainsTrueComparer(Int32).HashSet(Size%3a%20512).html>) 3.94 μs 2.52 μs 0.64 0.25 False
[ImmutableSortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.ContainsTrueComparer(Int32).ImmutableSortedSet(Size%3a%20512).html>) 21.13 μs 14.38 μs 0.68 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsTrueComparer&lt;Int32&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 2.5225082211155376 < 3.7280555220120215. IsChangePoint: Marked as a change because one of 2/24/2023 4:59:28 PM, 3/6/2023 11:36:59 AM, 3/17/2023 9:25:32 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 35.67405565342793 (T) = (0 -2744.3158965129387) / Math.Sqrt((96912.28176209336 / (299)) + (14922.732228625817 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.32069925953573425 = (4039.9130061853684 - 2744.3158965129387) / 4039.9130061853684 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 14.38279356405586 < 19.999678161701002. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 59.13531297013431 (T) = (0 -12355.794281587214) / Math.Sqrt((15946.841751087108 / (299)) + (327442.7223329312 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.41451705760635593 = (21103.593951128143 - 12355.794281587214) / 21103.593951128143 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Text.Json.Tests.Perf_Booleans.WriteBooleans(Formatted%3a%20True%2c%20SkipValidation%3a%20True).html>) 1.39 ms 1.10 ms 0.79 0.01 True
[WriteBooleans - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Booleans.WriteBooleans(Formatted%3a%20False%2c%20SkipValidation%3a%20False).html>) 1.21 ms 858.16 μs 0.71 0.01 True
[WriteBooleans - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Booleans.WriteBooleans(Formatted%3a%20False%2c%20SkipValidation%3a%20True).html>) 1.10 ms 807.67 μs 0.73 0.03 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
py .\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: 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 1.0978806568452384 < 1.3218523262369792. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 132.27647760224215 (T) = (0 -1067395.7702741656) / Math.Sqrt((143068121.99055925 / (299)) + (83685963.69378152 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2337189139709158 = (1392955.9136132097 - 1067395.7702741656) / 1392955.9136132097 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 858.1645842105262 < 1.1490864650326233. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 89.72493000706382 (T) = (0 -806469.4647125785) / Math.Sqrt((82734263.42391159 / (299)) + (312786722.7194608 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.33836462087006924 = (1218903.1756027143 - 806469.4647125785) / 1218903.1756027143 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### 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 807.6734105263159 < 1.0491822592187499. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 132.42623106839503 (T) = (0 -817588.10051462) / Math.Sqrt((55344086.88151222 / (299)) + (69609332.89971389 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.26243457123306 = (1108495.6922146713 - 817588.10051462) / 1108495.6922146713 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_DateTimeOffset.ToString(format%3a%20%22o%22).html>) 38.35 ns 31.94 ns 0.83 0.01 True
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_DateTimeOffset.ToString(format%3a%20%22G%22).html>) 170.17 ns 112.13 ns 0.66 0.03 True
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_DateTimeOffset.TryParse(value%3a%20%2212%2f30%2f2017%203%3a45%3a22%20AM%20-08%3a00%22).html>) 325.14 ns 300.67 ns 0.92 0.05 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_DateTimeOffset.ToString(value%3a%2012%2f30%2f2017%203%3a45%3a22%20AM%20-08%3a00).html>) 185.24 ns 127.88 ns 0.69 0.02 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_DateTimeOffset.Parse(value%3a%20%2212%2f30%2f2017%203%3a45%3a22%20AM%20-08%3a00%22).html>) 318.36 ns 289.10 ns 0.91 0.05 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_DateTimeOffset.ToString(format%3a%20%22s%22).html>) 154.07 ns 19.20 ns 0.12 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_DateTimeOffset*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Tests.Perf_DateTimeOffset.ToString(format: "o") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.936741212041913 < 36.46506662369295. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 160.83855329828498 (T) = (0 -31.86651661658456) / Math.Sqrt((0.39910235647851233 / (299)) + (0.022496605848219536 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21180353266460608 = (40.42966181301685 - 31.86651661658456) / 40.42966181301685 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 112.1274165820278 < 156.03985255054565. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 76.13160481139442 (T) = (0 -104.27537603365172) / Math.Sqrt((12.69241479413505 / (299)) + (5.956615650159749 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3261686217458552 = (154.74995584774152 - 104.27537603365172) / 154.74995584774152 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 300.66728618759987 < 308.1829152499372. IsChangePoint: Marked as a change because one of 2/24/2023 8:06:06 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 24.017413836855415 (T) = (0 -286.53878997496923) / Math.Sqrt((49.53899624842665 / (299)) + (36.47579397785208 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.11900997972132601 = (325.246351694576 - 286.53878997496923) / 325.246351694576 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTimeOffset.ToString(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 127.8756145811792 < 178.20460958006652. IsChangePoint: Marked as a change because one of 4/9/2023 4:09:45 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 112.63222422333752 (T) = (0 -125.3079739475264) / Math.Sqrt((454.36538309365073 / (299)) + (3.835895836105684 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.5462346218781833 = (276.15146502844595 - 125.3079739475264) / 276.15146502844595 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 289.1045171338789 < 304.0572876395626. IsChangePoint: Marked as a change because one of 2/24/2023 9:01:57 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 42.68774111676677 (T) = (0 -280.1849236589959) / Math.Sqrt((43.02628900390056 / (299)) + (13.62153311273873 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.13514774116245942 = (323.96854005514905 - 280.1849236589959) / 323.96854005514905 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTimeOffset.ToString(format: "s") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.19625372866189 < 148.58811920366495. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 937.2121908032227 (T) = (0 -18.794073124776162) / Math.Sqrt((5.390099651212292 / (299)) + (0.06250632188777891 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8813634534290953 = (158.4172303392499 - 18.794073124776162) / 158.4172303392499 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[SystemTextJsonSourceGen - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.Json_ToStream(Location).SystemTextJsonSourceGen.html>) 442.08 ns 368.51 ns 0.83 0.02 True
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.JsonToStream(Location).JsonNet.html>) 1.04 μs 697.08 ns 0.67 0.01 True
[DataContractJsonSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.JsonToStream(Location).DataContractJsonSerializer.html>) 1.83 μs 1.09 μs 0.60 0.01 True
[SystemTextJsonReflection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.Json_ToStream(Location).SystemTextJsonReflection.html>) 588.27 ns 448.35 ns 0.76 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
py .\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>.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 368.5123516012119 < 420.7057255881949. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 50.23062970273188 (T) = (0 -371.7213809835818) / Math.Sqrt((45.63985056045426 / (299)) + (29.06925854654825 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1634477089869855 = (444.34924747316103 - 371.7213809835818) / 444.34924747316103 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 697.0834931792231 < 0.988454524734256. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 94.7988235006781 (T) = (0 -728.7018550459702) / Math.Sqrt((399.2406655867792 / (299)) + (143.52545765145058 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.30049109786685163 = (1041.733497349066 - 728.7018550459702) / 1041.733497349066 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### 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 1.0890589416948209 < 1.7191759584326147. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 113.73468208176021 (T) = (0 -1085.490854560067) / Math.Sqrt((232.12179269535932 / (299)) + (556.0132194515407 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.39193527842628556 = (1785.1567704022361 - 1085.490854560067) / 1785.1567704022361 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 448.34582654594936 < 553.2217068675205. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 82.06053474894449 (T) = (0 -449.3455231459468) / Math.Sqrt((170.65410562907738 / (299)) + (40.16887687258314 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.24764512032076091 = (597.2520884526222 - 449.3455231459468) / 597.2520884526222 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Tests.Perf_Double.ToStringWithFormat(value%3a%201.7976931348623157E%2b308%2c%20format%3a%20%22G17%22).html>) 171.60 ns 149.25 ns 0.87 0.00 True
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Double.ToStringWithFormat(value%3a%2012345%2c%20format%3a%20%22G17%22).html>) 146.67 ns 125.53 ns 0.86 0.01 True
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Double.ToStringWithFormat(value%3a%201.7976931348623157E%2b308%2c%20format%3a%20%22G%22).html>) 186.02 ns 164.97 ns 0.89 0.00 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Double.ToStringWithFormat(value%3a%20-1.7976931348623157E%2b308%2c%20format%3a%20%22G17%22).html>) 175.27 ns 152.46 ns 0.87 0.00 True
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Double.ToStringWithFormat(value%3a%201.7976931348623157E%2b308%2c%20format%3a%20%22E%22).html>) 129.08 ns 111.43 ns 0.86 0.00 True
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Double.ToStringWithFormat(value%3a%20-1.7976931348623157E%2b308%2c%20format%3a%20%22E%22).html>) 129.34 ns 115.53 ns 0.89 0.02 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Double.ToStringWithFormat(value%3a%20-1.7976931348623157E%2b308%2c%20format%3a%20%22G%22).html>) 184.58 ns 166.33 ns 0.90 0.01 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Double.ToStringWithFormat(value%3a%2012345%2c%20format%3a%20%22G%22).html>) 108.24 ns 95.95 ns 0.89 0.08 False
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Double.ToStringWithFormat(value%3a%2012345%2c%20format%3a%20%22E%22).html>) 127.65 ns 115.23 ns 0.90 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Double*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 149.2496768918393 < 163.6136276940626. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 69.75290400532779 (T) = (0 -150.76872715011498) / Math.Sqrt((2.6676943428592677 / (299)) + (1.3153346889108626 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12572267289007993 = (172.44954486982746 - 150.76872715011498) / 172.44954486982746 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 125.52506713836996 < 138.39767690367617. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 44.41941124877893 (T) = (0 -125.64973086083114) / Math.Sqrt((1.390503361109843 / (299)) + (2.765879503655902 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1332280806343414 = (144.96285361065583 - 125.64973086083114) / 144.96285361065583 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: "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 164.97033620835998 < 176.59418096017063. IsChangePoint: Marked as a change because one of 2/17/2023 5:12:50 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 45.06962151341233 (T) = (0 -167.0931853329861) / Math.Sqrt((5.341263850344404 / (299)) + (2.7845819976786585 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1084781124198481 = (187.42465850897426 - 167.0931853329861) / 187.42465850897426 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 152.46287687892178 < 166.32852003009228. IsChangePoint: Marked as a change because one of 2/17/2023 5:12:50 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 72.34864330480296 (T) = (0 -153.44645639610113) / Math.Sqrt((4.052485119674176 / (299)) + (1.0953677890979503 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12183039611297157 = (174.7344199991704 - 153.44645639610113) / 174.7344199991704 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: "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 111.43370114571461 < 122.30271206766346. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 106.12906572324191 (T) = (0 -110.91633626601751) / Math.Sqrt((2.822700906069524 / (299)) + (0.22647579540545568 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.13034985943329744 = (127.54133080889231 - 110.91633626601751) / 127.54133080889231 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: "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 115.53192704146511 < 124.09680321165303. IsChangePoint: Marked as a change because one of 2/21/2023 5:46:41 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 66.69556303468275 (T) = (0 -113.38981565312967) / Math.Sqrt((4.691407124821594 / (299)) + (0.714795023541829 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.13191689968337547 = (130.62092282613483 - 113.38981565312967) / 130.62092282613483 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 166.3262172077086 < 176.30470755919433. IsChangePoint: Marked as a change because one of 2/17/2023 12:28:21 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 33.131557045847806 (T) = (0 -166.2170308999089) / Math.Sqrt((5.3822757279249585 / (299)) + (6.5603799175309865 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.11855955025966623 = (188.57431712928002 - 166.2170308999089) / 188.57431712928002 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: "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 95.94911127453074 < 101.89334626076959. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 27.16886732838333 (T) = (0 -95.91127824094447) / Math.Sqrt((3.7753946184523253 / (299)) + (2.4453788220920463 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.10612226580133491 = (107.29798334995567 - 95.91127824094447) / 107.29798334995567 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 115.2324634562549 < 122.8576225987647. IsChangePoint: Marked as a change because one of 4/6/2023 11:23:56 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 56.6779279275192 (T) = (0 -111.67095785662165) / Math.Sqrt((3.4996727354612465 / (299)) + (1.1738381058995497 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.13211754035774972 = (128.6706012040542 - 111.67095785662165) / 128.6706012040542 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(MyEventsListerViewModel).DeserializeFromString(Mode%3a%20Reflection).html>) 224.67 μs 173.86 μs 0.77 0.02 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(MyEventsListerViewModel).DeserializeFromString(Mode%3a%20SourceGen).html>) 227.23 μs 171.97 μs 0.76 0.01 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(MyEventsListerViewModel).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 216.02 μs 171.24 μs 0.79 0.02 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(MyEventsListerViewModel).DeserializeFromReader(Mode%3a%20Reflection).html>) 289.03 μs 218.59 μs 0.76 0.03 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(MyEventsListerViewModel).DeserializeFromReader(Mode%3a%20SourceGen).html>) 288.73 μs 217.47 μs 0.75 0.03 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(MyEventsListerViewModel).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 220.09 μs 171.01 μs 0.78 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;MyEventsListerViewModel&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.Json.Serialization.Tests.ReadJson<MyEventsListerViewModel>.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 173.8552717757936 < 213.4973661916831. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 65.75743502287128 (T) = (0 -180058.28193728378) / Math.Sqrt((10086864.404928098 / (299)) + (6417387.779778391 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.20394401272355908 = (226187.9626749873 - 180058.28193728378) / 226187.9626749873 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 171.9723896193092 < 214.55817090720663. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 67.83793805841293 (T) = (0 -175662.41316819776) / Math.Sqrt((9982442.713001585 / (299)) + (7079069.490210076 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21539275756037032 = (223885.79108956392 - 175662.41316819776) / 223885.79108956392 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 171.2426764672939 < 207.2410944971478. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 89.66112386633382 (T) = (0 -170238.7798179521) / Math.Sqrt((10866360.724595219 / (299)) + (3837851.9048749325 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2216072352374881 = (218705.50129007437 - 170238.7798179521) / 218705.50129007437 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 218.59278658234126 < 277.08439443121694. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 86.03821764145415 (T) = (0 -222625.6326005432) / Math.Sqrt((10378742.927397136 / (299)) + (8982949.828630062 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2352520928882871 = (291109.8291741026 - 222625.6326005432) / 291109.8291741026 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 217.46532707093257 < 275.7813699948518. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 96.02271517706748 (T) = (0 -218872.72745546154) / Math.Sqrt((40193522.021650285 / (299)) + (6072911.95479743 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.24367071687722067 = (289388.1439467294 - 218872.72745546154) / 289388.1439467294 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: 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 171.00682755705836 < 209.717899768453. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 91.22792789437037 (T) = (0 -174038.93168802687) / Math.Sqrt((7343594.885390869 / (299)) + (3559355.7257495676 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21149990901166393 = (220721.51123011266 - 174038.93168802687) / 220721.51123011266 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Memory.Span<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[BinarySearch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Memory.Span(Byte).BinarySearch(Size%3a%204).html>) 3.40 ns 2.37 ns 0.70 0.04 False
[BinarySearch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Memory.Span(Byte).BinarySearch(Size%3a%2033).html>) 5.97 ns 4.55 ns 0.76 0.05 True
[BinarySearch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Memory.Span(Byte).BinarySearch(Size%3a%20512).html>) 9.44 ns 7.27 ns 0.77 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span&lt;Byte&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Memory.Span<Byte>.BinarySearch(Size: 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 2.3658278680785414 < 3.2245923387257704. IsChangePoint: Marked as a change because one of 3/3/2023 4:59:02 PM, 3/14/2023 8:42:09 PM, 3/20/2023 8:31:51 AM, 3/25/2023 12:18:49 AM, 4/9/2023 11:04:55 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 14.220855040814362 (T) = (0 -2.77743065255521) / Math.Sqrt((0.02434315305245987 / (299)) + (0.01309934255943319 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.13659412548257688 = (3.21683084923134 - 2.77743065255521) / 3.21683084923134 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.BinarySearch(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 4.551429618146054 < 5.647067527782794. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 59.317033056272344 (T) = (0 -4.560243328078086) / Math.Sqrt((0.012725389847402018 / (299)) + (0.0055867037023542634 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20947591181412414 = (5.768632981878013 - 4.560243328078086) / 5.768632981878013 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.BinarySearch(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.272319617733302 < 8.9773360047623. IsChangePoint: Marked as a change because one of 2/20/2023 10:31:48 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 49.704621764681754 (T) = (0 -7.190464206720793) / Math.Sqrt((0.030001982429618518 / (299)) + (0.019678707344917442 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20620709449772082 = (9.058362901556755 - 7.190464206720793) / 9.058362901556755 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.IterateForEach(Int32).Queue(Size%3a%20512).html>) 1.23 μs 1.10 μs 0.89 0.07 False
[LinkedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.IterateForEach(Int32).LinkedList(Size%3a%20512).html>) 1.84 μs 1.05 μs 0.57 0.51 False
[Stack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.IterateForEach(Int32).Stack(Size%3a%20512).html>) 1.27 μs 994.68 ns 0.78 0.02 True
[IEnumerable - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.IterateForEach(Int32).IEnumerable(Size%3a%20512).html>) 1.82 μs 740.19 ns 0.41 0.01 True
[SortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.IterateForEach(Int32).SortedSet(Size%3a%20512).html>) 6.15 μs 3.16 μs 0.51 0.07 True
[HashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.IterateForEach(Int32).HashSet(Size%3a%20512).html>) 1.16 μs 445.12 ns 0.38 0.04 True
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.IterateForEach(Int32).SortedList(Size%3a%20512).html>) 3.46 μs 1.21 μs 0.35 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForEach&lt;Int32&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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.1024432075005295 < 1.1717012799537772. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 51.49086868522448 (T) = (0 -1102.7501416325283) / Math.Sqrt((2087.308504552652 / (299)) + (0.304318867498278 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.10996355401273473 = (1238.9943654602955 - 1102.7501416325283) / 1238.9943654602955 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.0533716327720584 < 1.751585730327058. IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 77.88077613734238 (T) = (0 -1049.9529954456261) / Math.Sqrt((20685.01098514865 / (299)) + (99.48395040531271 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.392411386798248 = (1728.0656230747784 - 1049.9529954456261) / 1728.0656230747784 is greater than 0.05. IsChangeEdgeDetector: Marked not as a 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 994.676408722856 < 1.1894097972968694. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 286.8357499558227 (T) = (0 -994.4753248360487) / Math.Sqrt((225.29859691429087 / (299)) + (0.1953507118018285 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20161258559548265 = (1245.6049618189245 - 994.4753248360487) / 1245.6049618189245 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 740.1866737758888 < 1.726074659308015. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 579.6977495584338 (T) = (0 -737.7546845040368) / Math.Sqrt((1092.2618026463058 / (299)) + (0.7308268099036519 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.601879179753912 = (1853.0924457756644 - 737.7546845040368) / 1853.0924457756644 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 3.1636883677393244 < 5.906394526581925. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 162.50575212780464 (T) = (0 -3182.1832327887296) / Math.Sqrt((76514.12330681694 / (299)) + (2096.1216368073924 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.503911140809176 = (6414.542826015532 - 3182.1832327887296) / 6414.542826015532 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 445.1229994564129 < 1.1051961391095149. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 471.2075247222233 (T) = (0 -444.7599585836598) / Math.Sqrt((702.415638474039 / (299)) + (0.03186339563559231 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.6189959968438873 = (1167.3367074870962 - 444.7599585836598) / 1167.3367074870962 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 1.205286036415107 < 3.292118456791733. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 9413.535525438856 (T) = (0 -1204.6304005891045) / Math.Sqrt((5.505546926341413 / (299)) + (0.5872805304934069 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6521623271311924 = (3463.1970443392706 - 1204.6304005891045) / 3463.1970443392706 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22the%22%2c%20Options%3a%20Compiled).html>) 350.37 μs 284.89 μs 0.81 0.07 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22Sherlock%20Holmes%22%2c%20Options%3a%20None).html>) 74.67 μs 55.38 μs 0.74 0.22 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22(%3fi)the%22%2c%20Options%3a%20None).html>) 1.02 ms 527.71 μs 0.52 0.06 True
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22(%3fi)the%22%2c%20Options%3a%20Compiled).html>) 615.38 μs 356.35 μs 0.58 0.04 True
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/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>) 191.98 μs 159.57 μs 0.83 0.07 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22the%5c%5cs%2b%5c%5cw%2b%22%2c%20Options%3a%20Compiled).html>) 449.59 μs 387.42 μs 0.86 0.03 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/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>) 297.17 μs 232.16 μs 0.78 0.07 True
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/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>) 1.94 ms 1.52 ms 0.79 0.01 True
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22.*%22%2c%20Options%3a%20None).html>) 1.23 ms 1.05 ms 0.86 0.06 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22(%3fi)the%22%2c%20Options%3a%20NonBacktracking).html>) 1.17 ms 659.81 μs 0.56 0.03 True
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22Sherlock%7cHolmes%7cWatson%7cIrene%7cAdler%7cJohn%7cBaker%22%2c%20Options%3a%20NonBacktracking).html>) 1.31 ms 979.88 μs 0.75 0.11 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/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>) 3.89 ms 3.33 ms 0.85 0.11 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22Sherlock%22%2c%20Options%3a%20Compiled).html>) 61.26 μs 40.99 μs 0.67 0.24 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/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>) 22.16 ms 18.10 ms 0.82 0.04 True
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22(%3fm)%5eSherlock%20Holmes%7cSherlock%20Holmes%24%22%2c%20Options%3a%20None).html>) 65.92 μs 56.22 μs 0.85 0.22 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22Sherlock%7cHolmes%22%2c%20Options%3a%20Compiled).html>) 65.28 μs 59.24 μs 0.91 0.01 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/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.10 ms 924.92 μs 0.84 0.01 True
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22the%5c%5cs%2b%5c%5cw%2b%22%2c%20Options%3a%20None).html>) 770.55 μs 672.83 μs 0.87 0.02 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/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>) 139.56 μs 118.88 μs 0.85 0.02 True
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22Sherlock%22%2c%20Options%3a%20None).html>) 63.90 μs 54.37 μs 0.85 0.25 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22The%22%2c%20Options%3a%20None).html>) 101.76 μs 86.28 μs 0.85 0.27 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22Holmes%22%2c%20Options%3a%20NonBacktracking).html>) 113.95 μs 87.78 μs 0.77 0.25 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22Holmes%22%2c%20Options%3a%20None).html>) 88.07 μs 74.04 μs 0.84 0.28 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern%3a%20%22%5c%5cw%2b%22%2c%20Options%3a%20Compiled).html>) 4.75 ms 4.33 ms 0.91 0.04 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 Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "the", 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 284.8907520454545 < 328.7545802046562. IsChangePoint: Marked as a change because one of 3/10/2023 12:53:36 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 42.335503225786944 (T) = (0 -286178.00102956366) / Math.Sqrt((126468989.25139743 / (299)) + (19030571.98545088 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16136218735089025 = (341241.4712443952 - 286178.00102956366) / 341241.4712443952 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 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 55.38268456087952 < 61.717086782011776. IsChangePoint: Marked as a change because one of 3/10/2023 12:53:36 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 14.430776151349173 (T) = (0 -44355.03127659971) / Math.Sqrt((147020955.43386444 / (299)) + (9358117.738992626 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.25575044800161173 = (59596.98753932977 - 44355.03127659971) / 59596.98753932977 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)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 527.7116787431319 < 0.9752216824804687. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 109.54183487159257 (T) = (0 -566695.7575182167) / Math.Sqrt((1131181963.0402594 / (299)) + (208207786.49545366 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.44824623039019224 = (1027080.8986388543 - 566695.7575182167) / 1027080.8986388543 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)the", 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 356.34955022321424 < 584.5192371671596. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 337.21868420069535 (T) = (0 -360420.07678882295) / Math.Sqrt((54361877.07635129 / (299)) + (5742734.5449317135 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.41856755793187744 = (619882.9833210355 - 360420.07678882295) / 619882.9833210355 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: "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 159.56540150669642 < 174.9176486985294. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 45.5679258449297 (T) = (0 -154445.3690708788) / Math.Sqrt((16562251.63816045 / (299)) + (6204781.282142727 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16809828711910796 = (185653.38510487188 - 154445.3690708788) / 185653.38510487188 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\\s+\\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 387.42181209349593 < 427.50465192483483. IsChangePoint: Marked as a change because one of 3/10/2023 8:23:08 AM, 3/28/2023 3:45:48 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 63.70797978128143 (T) = (0 -389450.7919793653) / Math.Sqrt((417173713.9297316 / (299)) + (968389.3185822312 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1650281828114276 = (466423.8767850659 - 389450.7919793653) / 466423.8767850659 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 232.15713682598036 < 281.6466720957845. IsChangePoint: Marked as a change because one of 3/20/2023 8:31:51 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 68.8527296261485 (T) = (0 -235261.27092632174) / Math.Sqrt((48689556.95835754 / (299)) + (11644550.56922681 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.22095329174408854 = (301986.0920188113 - 235261.27092632174) / 301986.0920188113 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 1.5225274763986012 < 1.840082501934524. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 48.52181160623086 (T) = (0 -1501273.2151141071) / Math.Sqrt((460443593.2945699 / (299)) + (1209208514.0451982 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.22657396636481555 = (1941068.8932436935 - 1501273.2151141071) / 1941068.8932436935 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.0548698644444445 < 1.1932846521336997. IsChangePoint: Marked as a change because one of 2/25/2023 3:45:56 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 70.8096039523718 (T) = (0 -1053833.9039437321) / Math.Sqrt((510008741.76232255 / (299)) + (80841886.81435099 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15180830731233055 = (1242447.801633665 - 1053833.9039437321) / 1242447.801633665 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)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 659.8084597989952 < 1.1141480620528674. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 175.94502949661964 (T) = (0 -681615.4037301653) / Math.Sqrt((1144093259.677011 / (299)) + (71958816.38380498 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4311797173504176 = (1198296.5877292205 - 681615.4037301653) / 1198296.5877292205 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: 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 979.8845232492996 < 1.27913916064162. IsChangePoint: Marked as a change because one of 2/9/2023 4:10:34 PM, 2/16/2023 4:50:02 PM, 2/24/2023 4:59:28 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 11.910578380522976 (T) = (0 -1052969.541134412) / Math.Sqrt((6999767505.641968 / (299)) + (4642729305.601906 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.17108137083318978 = (1270293.0107781594 - 1052969.541134412) / 1270293.0107781594 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)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 3.3256163969387758 < 3.709823556223958. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 32.36433899031061 (T) = (0 -3418101.812884315) / Math.Sqrt((14809367888.578793 / (299)) + (3811811741.3549943 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.14162663545699974 = (3982068.8223522864 - 3418101.812884315) / 3982068.8223522864 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", 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.99011203954749 < 62.40093692918802. IsChangePoint: Marked as a change because one of 3/10/2023 12:53:36 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 22.850050833724225 (T) = (0 -40427.362818829584) / Math.Sqrt((137880285.46858376 / (299)) + (53803.85277834407 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.2781950122410118 = (56008.70526587209 - 40427.362818829584) / 56008.70526587209 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 18.104365714285716 < 21.03160852708333. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 50.744469157360996 (T) = (0 -18004182.81390328) / Math.Sqrt((195337234971.5836 / (299)) + (95627451093.84583 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1911283686714045 = (22258393.194394615 - 18004182.81390328) / 22258393.194394615 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: "(?m)^Sherlock Holmes|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 56.22155113927291 < 66.7981661523527. IsChangePoint: Marked as a change because one of 3/10/2023 12:53:36 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 14.706796911358389 (T) = (0 -45531.210842636574) / Math.Sqrt((142636523.4293291 / (299)) + (8788432.613398628 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.24982073294891807 = (60693.77393168641 - 45531.210842636574) / 60693.77393168641 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|Holmes", 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 59.2384222091195 < 61.97833714632728. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 39.069479417533366 (T) = (0 -59087.68508226435) / Math.Sqrt((670125.213634413 / (299)) + (347350.7740984801 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.09533009704269887 = (65314.08294794702 - 59087.68508226435) / 65314.08294794702 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\\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 924.9187105392158 < 1.0409033546981097. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 42.74788181649996 (T) = (0 -883808.1656711546) / Math.Sqrt((168535147.442951 / (299)) + (346857011.7302309 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.19054891446321595 = (1091861.1160859226 - 883808.1656711546) / 1091861.1160859226 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: 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 672.8304592633929 < 731.965647575304. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 51.90710094825276 (T) = (0 -652461.8596975225) / Math.Sqrt((538637716.4499688 / (299)) + (59786297.84696334 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16064034335653554 = (777332.8805278394 - 652461.8596975225) / 777332.8805278394 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 118.87521185290402 < 133.1719682985357. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 59.55610656005647 (T) = (0 -120863.87669399846) / Math.Sqrt((7236678.77665056 / (299)) + (1239147.4915576244 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.13870532465918764 = (140328.1364141406 - 120863.87669399846) / 140328.1364141406 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", 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 54.37476046765734 < 61.09620366614209. IsChangePoint: Marked as a change because one of 3/10/2023 12:53:36 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 10.295871341276358 (T) = (0 -43206.02716613815) / Math.Sqrt((628602042.0888308 / (299)) + (9570347.779671172 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2828860992454185 = (60249.880975218446 - 43206.02716613815) / 60249.880975218446 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 86.27540288992775 < 104.97174451275359. IsChangePoint: Marked as a change because one of 3/10/2023 12:53:36 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 14.728654199752725 (T) = (0 -73809.66213039207) / Math.Sqrt((645431602.5598824 / (299)) + (12888597.573836716 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.25742059845198556 = (99396.32310905086 - 73809.66213039207) / 99396.32310905086 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", 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 87.7825873325893 < 100.1598104373747. IsChangePoint: Marked as a change because one of 3/10/2023 12:53:36 AM, 3/23/2023 3:52:33 AM, 3/23/2023 11:51:53 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 12.49180803603205 (T) = (0 -75675.95288721733) / Math.Sqrt((1179261188.4680455 / (299)) + (11847421.155258866 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2642453956835041 = (102854.88183593367 - 75675.95288721733) / 102854.88183593367 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", 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 74.03723749157682 < 91.13252456394724. IsChangePoint: Marked as a change because one of 3/10/2023 12:53:36 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 18.484711052354953 (T) = (0 -62492.72268910295) / Math.Sqrt((137195534.2947081 / (299)) + (12378015.881740939 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2510355476399923 = (83438.83677280898 - 62492.72268910295) / 83438.83677280898 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+", 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 4.334167771634615 < 4.661041966764681. IsChangePoint: Marked as a change because one of 3/28/2023 8:13:28 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 16.494744083113588 (T) = (0 -4400528.791455802) / Math.Sqrt((8367978896.002887 / (299)) + (18313349598.84953 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.11697034122343726 = (4983443.928205914 - 4400528.791455802) / 4983443.928205914 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.IO.Tests.StringReaderReadToEndTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ReadToEnd - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.IO.Tests.StringReaderReadToEndTests.ReadToEnd(LineLengthRange%3a%20%5b%20129%2c%201024%5d).html>) 8.04 ns 6.66 ns 0.83 0.39 False
[ReadToEndAsync - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.IO.Tests.StringReaderReadToEndTests.ReadToEndAsync(LineLengthRange%3a%20%5b%20%20%201%2c%20%20%20%208%5d).html>) 17.27 ns 14.68 ns 0.85 0.26 False
[ReadToEndAsync - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.IO.Tests.StringReaderReadToEndTests.ReadToEndAsync(LineLengthRange%3a%20%5b%20%2033%2c%20%20128%5d).html>) 15.98 ns 14.73 ns 0.92 0.26 False

graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.StringReaderReadToEndTests*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.IO.Tests.StringReaderReadToEndTests.ReadToEnd(LineLengthRange: [ 129, 1024]) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.656951540262124 < 7.50770706206546. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 18.544090637724093 (T) = (0 -7.053731920440271) / Math.Sqrt((0.23330906691639516 / (299)) + (0.05068925787709381 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1449741775759941 = (8.249729698739246 - 7.053731920440271) / 8.249729698739246 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.StringReaderReadToEndTests.ReadToEndAsync(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 14.68177017348614 < 15.17178788099224. IsChangePoint: Marked as a change because one of 3/23/2023 3:52:33 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 9.53030767347073 (T) = (0 -14.978356032694078) / Math.Sqrt((0.5072222351083876 / (299)) + (0.21119247423606452 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.07400300184151386 = (16.175382925086442 - 14.978356032694078) / 16.175382925086442 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.StringReaderReadToEndTests.ReadToEndAsync(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 14.730181287995839 < 15.179488505518519. IsChangePoint: Marked as a change because one of 3/23/2023 3:52:33 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 5.631193041649976 (T) = (0 -15.080947146404402) / Math.Sqrt((0.623333457535193 / (299)) + (0.5652447996969491 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.06930201828652671 = (16.20391087411561 - 15.080947146404402) / 16.20391087411561 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(Int32).DeserializeFromReader(Mode%3a%20Reflection).html>) 161.98 ns 123.67 ns 0.76 0.01 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(Int32).DeserializeFromReader(Mode%3a%20SourceGen).html>) 163.65 ns 121.65 ns 0.74 0.02 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(Int32).DeserializeFromStream(Mode%3a%20Reflection).html>) 256.53 ns 223.01 ns 0.87 0.11 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(Int32).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 63.74 ns 55.27 ns 0.87 0.02 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(Int32).DeserializeFromStream(Mode%3a%20SourceGen).html>) 267.65 ns 217.40 ns 0.81 0.08 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
py .\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>.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 123.66792792863431 < 154.4989644774851. IsChangePoint: Marked as a change because one of 3/13/2023 2:14:21 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 81.96053490346512 (T) = (0 -124.77993402926697) / Math.Sqrt((28.10892659868208 / (299)) + (2.490226039024155 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.25090285691865505 = (166.5737684113915 - 124.77993402926697) / 166.5737684113915 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 121.64650408176729 < 155.0069803007118. IsChangePoint: Marked as a change because one of 3/13/2023 2:14:21 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 89.52522653528361 (T) = (0 -123.93226778356451) / Math.Sqrt((31.75253834900768 / (299)) + (1.9067363732522626 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.25866763912834506 = (167.17504094633824 - 123.93226778356451) / 167.17504094633824 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 223.01202089817693 < 249.50047354658557. IsChangePoint: Marked as a change because one of 2/20/2023 9:09:49 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 12.773608139443684 (T) = (0 -230.70009710866987) / Math.Sqrt((33.85220889895055 / (299)) + (66.83877884284307 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.10582873301142272 = (258.0043730164022 - 230.70009710866987) / 258.0043730164022 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 55.27109133819916 < 60.090430197066866. IsChangePoint: Marked as a change because one of 3/20/2023 4:51:16 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 93.46694664977191 (T) = (0 -54.18002405976646) / Math.Sqrt((1.5310768860866584 / (299)) + (0.10324075266344017 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1589598006041976 = (64.42025493988162 - 54.18002405976646) / 64.42025493988162 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 217.39767487790076 < 251.9172545935886. IsChangePoint: Marked as a change because one of 2/2/2023 8:18:56 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 17.119074595258766 (T) = (0 -226.54133367116393) / Math.Sqrt((31.80065743334017 / (299)) + (49.08458361261942 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12196052002011946 = (258.00814067763207 - 226.54133367116393) / 258.00814067763207 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[SystemTextJsonReflection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.Json_FromStream(LoginViewModel).SystemTextJsonReflection.html>) 396.55 ns 302.28 ns 0.76 0.01 False
[DataContractJsonSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.JsonFromStream(LoginViewModel).DataContractJsonSerializer.html>) 3.91 μs 3.03 μs 0.77 0.03 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
py .\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_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 302.2791929671446 < 374.1704561722847. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 68.2368532508677 (T) = (0 -308.07136451730895) / Math.Sqrt((35.00468404271132 / (299)) + (20.582036963897604 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2127841271161632 = (391.34292781564454 - 308.07136451730895) / 391.34292781564454 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 3.0261913502657474 < 3.579477782244044. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 70.71864943695859 (T) = (0 -2978.6004387631133) / Math.Sqrt((2602.5161582445444 / (299)) + (1702.9053982185958 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20791444054867955 = (3760.452899591298 - 2978.6004387631133) / 3760.452899591298 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in SeekUnroll

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_x64_alpine 3.15/SeekUnroll.Test(boxedIndex%3a%203).html>) 869.58 ms 719.83 ms 0.83 0.00 True
[Test - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/SeekUnroll.Test(boxedIndex%3a%2011).html>) 1.09 secs 986.82 ms 0.91 0.01 True
[Test - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/SeekUnroll.Test(boxedIndex%3a%201).html>) 869.69 ms 716.78 ms 0.82 0.01 True
[Test - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/SeekUnroll.Test(boxedIndex%3a%2019).html>) 1.30 secs 1.20 secs 0.92 0.02 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'SeekUnroll*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### SeekUnroll.Test(boxedIndex: 3) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 719.8340209333332 < 826.2341305701923. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 37.17935306398392 (T) = (0 -720246630.7855556) / Math.Sqrt((730475110415.528 / (299)) + (242828783174949.06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1719867860519644 = (869849198.8447382 - 720246630.7855556) / 869849198.8447382 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### SeekUnroll.Test(boxedIndex: 11) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.8216769333333 < 1.0329899918470236. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 30.900883505965716 (T) = (0 -982721464.0427654) / Math.Sqrt((39071408864857.53 / (299)) + (159522916784458.38 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.09645281722474602 = (1087626061.7894096 - 982721464.0427654) / 1087626061.7894096 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### SeekUnroll.Test(boxedIndex: 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 716.7814416 < 826.3412441663462. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 36.70319717414445 (T) = (0 -718328079.5006961) / Math.Sqrt((6181317318820.553 / (299)) + (260628979152863.97 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1756728310455489 = (871411384.4043249 - 718328079.5006961) / 871411384.4043249 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### SeekUnroll.Test(boxedIndex: 19) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.1957166785 < 1.2390474197251375. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 7.389344425197173 (T) = (0 -1221113411.9366057) / Math.Sqrt((10221539943344.926 / (299)) + (1912894399268875.8 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.06397295013872484 = (1304570644.7453437 - 1221113411.9366057) / 1304570644.7453437 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[NewCachedCustomConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ColdStartSerialization(SimpleStructWithProperties).NewCachedCustomConverter.html>) 912.85 ns 775.04 ns 0.85 0.14 False
[CachedJsonSerializerContext - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ColdStartSerialization(SimpleStructWithProperties).CachedJsonSerializerContext.html>) 458.63 ns 380.59 ns 0.83 0.03 True
[NewDefaultOptions - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ColdStartSerialization(SimpleStructWithProperties).NewDefaultOptions.html>) 815.25 ns 678.97 ns 0.83 0.07 False
[NewCustomizedOptions - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ColdStartSerialization(SimpleStructWithProperties).NewCustomizedOptions.html>) 950.61 ns 731.56 ns 0.77 0.09 False
[CachedDefaultOptions - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ColdStartSerialization(SimpleStructWithProperties).CachedDefaultOptions.html>) 499.25 ns 398.39 ns 0.80 0.06 True
[NewCustomConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ColdStartSerialization(SimpleStructWithProperties).NewCustomConverter.html>) 22.63 μs 20.71 μs 0.92 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
py .\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>.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 775.0354568212617 < 884.1190520593404. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 36.25886712057586 (T) = (0 -786.7068255729326) / Math.Sqrt((576.2075614319228 / (299)) + (232.68704619563238 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16140645681764096 = (938.1264999817162 - 786.7068255729326) / 938.1264999817162 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>.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 380.5894250866818 < 437.91947782122514. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 37.68178744220527 (T) = (0 -369.93037475331425) / Math.Sqrt((86.35522090216209 / (299)) + (103.0201630991346 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.214147388303604 = (470.73760301535026 - 369.93037475331425) / 470.73760301535026 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 678.9712442980751 < 774.4452927739457. IsChangePoint: Marked as a change because one of 3/15/2023 5:33:41 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 42.620828691014275 (T) = (0 -678.0617662699575) / Math.Sqrt((523.4552028979188 / (299)) + (164.45616117199876 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.1876060591450319 = (834.6465085108357 - 678.0617662699575) / 834.6465085108357 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>.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 731.5585498248965 < 850.7312426139619. IsChangePoint: Marked as a change because one of 3/13/2023 3:41:35 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 28.57731322806508 (T) = (0 -743.0120126287627) / Math.Sqrt((512.0536998189687 / (299)) + (363.46826323165527 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16381210567779178 = (888.5706402518881 - 743.0120126287627) / 888.5706402518881 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 398.3933746558235 < 474.097017746513. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 71.78002909714863 (T) = (0 -389.11651710207076) / Math.Sqrt((90.06209127045696 / (299)) + (37.521693542511834 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2359544651014573 = (509.2844592747229 - 389.11651710207076) / 509.2844592747229 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 20.710387144510584 < 21.386697774452575. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 28.277376778232732 (T) = (0 -20842.8890163057) / Math.Sqrt((147713.38083494297 / (299)) + (46854.27596512176 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.0754444137402935 = (22543.684042433506 - 20842.8890163057) / 22543.684042433506 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.ContainsTrueComparer<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.ContainsTrueComparer(String).SortedSet(Size%3a%20512).html>) 240.14 μs 196.47 μs 0.82 0.27 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsTrueComparer&lt;String&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Collections.ContainsTrueComparer<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 196.47223719135803 < 216.08035299699137. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 6.211562560944266 (T) = (0 -210089.76499327374) / Math.Sqrt((81435558.43276072 / (299)) + (63648539.9488076 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.05911401974094183 = (223289.2926467337 - 210089.76499327374) / 223289.2926467337 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[Backtracking - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Backtracking(Options%3a%20None).html>) 1.26 μs 843.21 ns 0.67 0.03 True
[Email_IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsMatch(Options%3a%20None).html>) 250.80 ns 227.69 ns 0.91 0.10 False
[Uri_IsMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsMatch(Options%3a%20Compiled).html>) 66.59 ns 61.91 ns 0.93 0.08 False
[MatchesSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesSet(Options%3a%20None).html>) 100.64 μs 85.67 μs 0.85 0.07 False
[Uri_IsNotMatch - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsNotMatch(Options%3a%20None).html>) 221.17 ns 207.66 ns 0.94 0.04 False
[Backtracking - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Backtracking(Options%3a%20Compiled).html>) 93.80 ns 85.24 ns 0.91 0.10 False
[CtorInvoke - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Common.CtorInvoke(Options%3a%20Compiled).html>) 215.62 μs 165.45 μs 0.77 0.01 True
[OneNodeBacktracking - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Common.OneNodeBacktracking(Options%3a%20None).html>) 747.00 ns 602.40 ns 0.81 0.01 True
[MatchesWord - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesWord(Options%3a%20None).html>) 1.10 μs 936.78 ns 0.85 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
py .\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.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 843.205862237727 < 1.1966257114201924. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 139.56802894470408 (T) = (0 -850.018068418572) / Math.Sqrt((1764.4461423386535 / (299)) + (23.00570439621303 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.309252803866352 = (1230.5776602155152 - 850.018068418572) / 1230.5776602155152 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 227.6917528824959 < 238.23298081662966. IsChangePoint: Marked as a change because one of 3/3/2023 11:43:56 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 53.748466671220555 (T) = (0 -223.53009780114073) / Math.Sqrt((60.369508986958174 / (299)) + (2.1049060267791213 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12331945796382401 = (254.97326230370106 - 223.53009780114073) / 254.97326230370106 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: 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 61.90681728856702 < 63.80635440278614. IsChangePoint: Marked as a change because one of 3/28/2023 12:51:33 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 16.529636282209733 (T) = (0 -62.012703369968214) / Math.Sqrt((3.5841673866561403 / (299)) + (2.2310496424902473 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.09654489985922912 = (68.63949670581944 - 62.012703369968214) / 68.63949670581944 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 85.66844202527322 < 93.4199467995637. IsChangePoint: Marked as a change because one of 2/24/2023 8:06:06 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 17.21410233989895 (T) = (0 -87359.35246064169) / Math.Sqrt((11008450.66813836 / (299)) + (5691191.703677513 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.11278946389813706 = (98465.18825674962 - 87359.35246064169) / 98465.18825674962 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_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 207.65892217983009 < 215.11911254869014. IsChangePoint: Marked as a change because one of 2/21/2023 12:38:54 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 27.70108639850488 (T) = (0 -194.32729273952324) / Math.Sqrt((14.6390582210558 / (299)) + (16.46909678223304 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.13244161300595497 = (223.9933307691683 - 194.32729273952324) / 223.9933307691683 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.Backtracking(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 85.23784011050762 < 88.88306115371734. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 18.44381112768888 (T) = (0 -84.44082513843409) / Math.Sqrt((12.239888229034861 / (299)) + (1.127873967520063 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.07074845507473568 = (90.86971724671741 - 84.44082513843409) / 90.86971724671741 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.CtorInvoke(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 165.4546642387218 < 202.60793868848984. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 69.91274136009422 (T) = (0 -165209.7643923342) / Math.Sqrt((7091550.276201079 / (299)) + (6503340.11468911 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2224916554170659 = (212486.16242306048 - 165209.7643923342) / 212486.16242306048 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 602.400646245043 < 710.261043387657. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 151.67992497276347 (T) = (0 -599.6417836030533) / Math.Sqrt((148.282709366029 / (299)) + (9.50167593770634 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21186364660205492 = (760.8350776077991 - 599.6417836030533) / 760.8350776077991 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesWord(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 936.7817027705705 < 1.06619292090799. IsChangePoint: Marked as a change because one of 3/10/2023 12:53:36 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 20.89831938789119 (T) = (0 -845.5791959361056) / Math.Sqrt((22102.862069372055 / (299)) + (787.445477964633 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21745622961799518 = (1080.551948580882 - 845.5791959361056) / 1080.551948580882 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[ToString_Format_NonFlags - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Enum.ToString_Format_NonFlags(value%3a%20Saturday%2c%20format%3a%20%22D%22).html>) 11.70 ns 8.04 ns 0.69 0.22 False
[ToString_Format_NonFlags - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Enum.ToString_Format_NonFlags(value%3a%207%2c%20format%3a%20%22G%22).html>) 12.65 ns 10.33 ns 0.82 0.26 False
[ToString_Format_NonFlags - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Enum.ToString_Format_NonFlags(value%3a%20Tuesday%2c%20format%3a%20%22d%22).html>) 11.69 ns 7.98 ns 0.68 0.21 False
[GetValues_Generic - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Enum.GetValues_Generic.html>) 32.87 ns 26.93 ns 0.82 0.06 False
[ToString_NonFlags_Large - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Enum.ToString_NonFlags_Large(value%3a%2042).html>) 11.90 ns 9.87 ns 0.83 0.33 False
[ToString_Format_NonFlags - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Enum.ToString_Format_NonFlags(value%3a%20Friday%2c%20format%3a%20%22X%22).html>) 21.08 ns 16.84 ns 0.80 0.11 False
[ToString_Format_Flags_Large - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Enum.ToString_Format_Flags_Large(value%3a%20All%2c%20format%3a%20%22g%22).html>) 14.20 ns 12.41 ns 0.87 0.18 False
[InterpolateIntoStringBuilder_Flags - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Enum.InterpolateIntoStringBuilder_Flags(value%3a%2032).html>) 73.50 ns 62.62 ns 0.85 0.04 False

graph graph graph graph graph graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Enum*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 8.037873701302358 < 11.015846642159529. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 13.06976867307211 (T) = (0 -9.416487171108333) / Math.Sqrt((0.15608555893878343 / (299)) + (0.27739724778231584 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16064736449092995 = (11.218749751583497 - 9.416487171108333) / 11.218749751583497 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 10.32757157130405 < 12.080821026372128. IsChangePoint: Marked as a change because one of 3/17/2023 1:30:52 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 3.6333719143317422 (T) = (0 -11.779058092291098) / Math.Sqrt((0.6449844692958954 / (299)) + (0.7726474593613774 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.06669258380761718 = (12.620769842745018 - 11.779058092291098) / 12.620769842745018 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 7.975843121918036 < 10.975291719949956. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 11.447841066045601 (T) = (0 -9.398013673180907) / Math.Sqrt((0.2115034466843222 / (299)) + (0.3618869310677673 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16104343673000027 = (11.202026522744257 - 9.398013673180907) / 11.202026522744257 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### 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 26.93411059423627 < 31.76264896236982. IsChangePoint: Marked as a change because one of 2/9/2023 12:40:40 PM, 3/16/2023 8:14:39 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 40.96001346271175 (T) = (0 -27.27541689148054) / Math.Sqrt((1.031316359919046 / (299)) + (0.2698953883352439 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.18026019593691703 = (33.27326153529268 - 27.27541689148054) / 33.27326153529268 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 9.866678753505484 < 11.2404524936134. IsChangePoint: Marked as a change because one of 3/3/2023 9:00:24 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 7.064995937645089 (T) = (0 -10.463144092381079) / Math.Sqrt((0.49724728799011964 / (299)) + (0.5244913181819986 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1144407254450528 = (11.815295026568954 - 10.463144092381079) / 11.815295026568954 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: Friday, format: "X") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.84249697501109 < 18.530884414557796. IsChangePoint: Marked as a change because one of 2/20/2023 12:02:23 AM, 3/3/2023 4:59:02 PM, 3/13/2023 12:04:12 PM, 4/6/2023 1:55:21 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 15.640219386346716 (T) = (0 -17.77409511921054) / Math.Sqrt((0.5851536080375022 / (299)) + (0.21764881804516215 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.10427732141748763 = (19.843301441622728 - 17.77409511921054) / 19.843301441622728 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: "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 12.410014462045625 < 13.236823914634627. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 9.124264069771428 (T) = (0 -12.931387903716752) / Math.Sqrt((0.2645688717517557 / (299)) + (0.1415087793743483 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.06688111901995664 = (13.858242681934668 - 12.931387903716752) / 13.858242681934668 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Enum.InterpolateIntoStringBuilder_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 62.624576316003406 < 69.81918120489514. IsChangePoint: Marked as a change because one of 3/20/2023 11:25:43 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 33.74974572624677 (T) = (0 -66.04730489029893) / Math.Sqrt((2.7285797223616797 / (299)) + (0.9758620009239121 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12217342978374317 = (75.23958277319842 - 66.04730489029893) / 75.23958277319842 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Collections.ContainsKeyFalse(Int32%2c%20Int32).SortedDictionary(Size%3a%20512).html>) 35.20 μs 15.73 μs 0.45 0.02 False
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.ContainsKeyFalse(Int32%2c%20Int32).Dictionary(Size%3a%20512).html>) 3.92 μs 1.92 μs 0.49 0.11 False
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.ContainsKeyFalse(Int32%2c%20Int32).SortedList(Size%3a%20512).html>) 21.76 μs 19.67 μs 0.90 0.03 True
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.ContainsKeyFalse(Int32%2c%20Int32).ImmutableDictionary(Size%3a%20512).html>) 16.10 μs 11.71 μs 0.73 0.07 False

graph graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.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 15.726110647448806 < 33.55728319262354. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 33.030012150046446 (T) = (0 -21534.028854100656) / Math.Sqrt((479637.01683853386 / (299)) + (2599349.7756447303 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.39078705705454725 = (35347.29375575455 - 21534.028854100656) / 35347.29375575455 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyFalse<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 1.9152506356707317 < 3.2503785372553864. IsChangePoint: Marked as a change because one of 2/14/2023 11:21:41 AM, 2/20/2023 10:31:48 AM, 3/14/2023 8:42:09 PM, 3/17/2023 10:06:19 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 34.528986528095174 (T) = (0 -2021.9561738829093) / Math.Sqrt((169983.2086513919 / (299)) + (11535.533929454068 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.38921729283447054 = (3310.434545971739 - 2021.9561738829093) / 3310.434545971739 is greater than 0.05. IsChangeEdgeDetector: Marked not as a 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 19.67239792942713 < 20.52641884795772. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 10.078963773810989 (T) = (0 -18578.294703936102) / Math.Sqrt((14485.336282895443 / (299)) + (1433182.6275568285 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1436417638002973 = (21694.536139900738 - 18578.294703936102) / 21694.536139900738 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 11.712340180357591 < 15.424168393962011. IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 39.613532586226704 (T) = (0 -12625.679072570541) / Math.Sqrt((495548.20080018806 / (299)) + (101562.27210375162 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2236276619103762 = (16262.402011434162 - 12625.679072570541) / 16262.402011434162 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Text.Tests.Perf_Encoding.GetString(size%3a%2016%2c%20encName%3a%20%22utf-8%22).html>) 18.74 ns 14.20 ns 0.76 0.12 False
[GetBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Tests.Perf_Encoding.GetBytes(size%3a%2016%2c%20encName%3a%20%22ascii%22).html>) 15.47 ns 13.45 ns 0.87 0.26 False
[GetBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Tests.Perf_Encoding.GetBytes(size%3a%20512%2c%20encName%3a%20%22ascii%22).html>) 56.49 ns 48.33 ns 0.86 0.10 False
[GetString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Tests.Perf_Encoding.GetString(size%3a%20512%2c%20encName%3a%20%22ascii%22).html>) 63.87 ns 56.61 ns 0.89 0.05 False
[GetChars - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Tests.Perf_Encoding.GetChars(size%3a%2016%2c%20encName%3a%20%22utf-8%22).html>) 21.90 ns 19.94 ns 0.91 0.06 False
[GetBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Tests.Perf_Encoding.GetBytes(size%3a%2016%2c%20encName%3a%20%22utf-8%22).html>) 15.93 ns 12.23 ns 0.77 0.15 False
[GetString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Tests.Perf_Encoding.GetString(size%3a%2016%2c%20encName%3a%20%22ascii%22).html>) 19.52 ns 12.73 ns 0.65 0.10 True
[GetBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Tests.Perf_Encoding.GetBytes(size%3a%20512%2c%20encName%3a%20%22utf-8%22).html>) 77.01 ns 70.73 ns 0.92 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
py .\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: "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 14.198671195033363 < 17.276037121331335. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 53.94390701172102 (T) = (0 -14.09881886581835) / Math.Sqrt((0.46708080817157654 / (299)) + (0.059684751238564863 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.2260212738515395 = (18.21602892882871 - 14.09881886581835) / 18.21602892882871 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetBytes(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 13.450541871207626 < 15.163344495583555. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 14.65194219056251 (T) = (0 -14.051584350241315) / Math.Sqrt((0.43043962810281 / (299)) + (0.1863559597670875 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.10934819183897604 = (15.776742629933427 - 14.051584350241315) / 15.776742629933427 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetBytes(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 48.327620702526055 < 52.35495076891099. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 18.799815325474114 (T) = (0 -49.245655429227554) / Math.Sqrt((1.4091247515105034 / (299)) + (1.001026096146503 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.09259382385329731 = (54.270795949779696 - 49.245655429227554) / 54.270795949779696 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: 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 56.60609824451811 < 61.1882500649609. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 38.88002503510551 (T) = (0 -56.48416394238623) / Math.Sqrt((1.2301585279950933 / (299)) + (0.3678228213833398 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.10432850221211282 = (63.063482629390094 - 56.48416394238623) / 63.063482629390094 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetChars(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 19.939999781202104 < 21.291495204214936. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 13.436954332966152 (T) = (0 -19.590667790682406) / Math.Sqrt((0.18358465519025963 / (299)) + (0.4878521444848956 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1109977434880235 = (22.036690736362022 - 19.590667790682406) / 22.036690736362022 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetBytes(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 12.234712855931393 < 14.471170533919341. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 61.476850529329354 (T) = (0 -12.162108419660083) / Math.Sqrt((0.3322271707281014 / (299)) + (0.04277508583225481 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.24139131059163144 = (16.032123793816798 - 12.162108419660083) / 16.032123793816798 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: "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 12.733982434842472 < 18.65392813774933. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 40.84430446596768 (T) = (0 -12.426873653103247) / Math.Sqrt((0.38584565727729053 / (299)) + (0.3832113390973378 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.34999424193910333 = (19.11809779989521 - 12.426873653103247) / 19.11809779989521 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetBytes(size: 512, 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 70.73006962149007 < 71.15383439884678. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 13.570636575770687 (T) = (0 -69.85000775771428) / Math.Sqrt((1.8307988846494903 / (299)) + (3.948124150916199 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.09159211940539248 = (76.8927804897435 - 69.85000775771428) / 76.8927804897435 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count%3a%201024%2c%20Options%3a%20(%2c%20None)).html>) 26.25 ns 24.53 ns 0.93 0.13 False
[Compare_DifferentFirstChar - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count%3a%201024%2c%20Options%3a%20(en-US%2c%20Ordinal)).html>) 11.35 ns 5.12 ns 0.45 0.26 True
[Compare_DifferentFirstChar - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count%3a%201024%2c%20Options%3a%20(en-US%2c%20OrdinalIgnoreCase)).html>) 11.05 ns 4.60 ns 0.42 0.20 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
py .\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: (, 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 24.52790491611326 < 24.912658494370202. IsChangePoint: Marked as a change because one of 2/16/2023 9:09:51 PM, 2/17/2023 12:28:21 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 16.403961321341445 (T) = (0 -24.642739424474538) / Math.Sqrt((1.8539629590963969 / (299)) + (0.04817771881367105 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.060663960688904506 = (26.234210541466506 - 24.642739424474538) / 26.234210541466506 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### 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 5.124028017894793 < 10.784082582571743. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 186.52950061968616 (T) = (0 -5.1487452924309185) / Math.Sqrt((0.2733406034849561 / (299)) + (0.0025213269255073044 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5437601419537371 = (11.28517204629858 - 5.1487452924309185) / 11.28517204629858 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 4.60055787243521 < 10.482853752079729. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 103.31679938302527 (T) = (0 -4.5996211383392644) / Math.Sqrt((0.3939852864309599 / (299)) + (0.04130556421838028 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.589025792772474 = (11.191994673750402 - 4.5996211383392644) / 11.191994673750402 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/Microsoft.Extensions.DependencyInjection.GetService.Transient.html>) 21.93 ns 13.50 ns 0.62 0.13 False
[EmptyEnumerable - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.DependencyInjection.GetService.EmptyEnumerable.html>) 15.91 ns 11.92 ns 0.75 0.41 False
[ServiceScope - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.DependencyInjection.GetService.ServiceScope.html>) 38.72 ns 28.85 ns 0.75 0.11 True
[Singleton - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.DependencyInjection.GetService.Singleton.html>) 15.73 ns 7.22 ns 0.46 0.13 True
[ServiceScopeProvider - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.DependencyInjection.GetService.ServiceScopeProvider.html>) 16.97 ns 9.86 ns 0.58 0.10 True
[Scoped - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.DependencyInjection.GetService.Scoped.html>) 37.81 ns 28.01 ns 0.74 0.21 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
py .\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 13.500932132824197 < 19.92026934627299. IsChangePoint: Marked as a change because one of 2/9/2023 12:40:40 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 79.68712118828907 (T) = (0 -13.070667354465455) / Math.Sqrt((0.7793814935946826 / (299)) + (0.0955025594369321 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.36609544170042974 = (20.61929857315922 - 13.070667354465455) / 20.61929857315922 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 11.916853651166754 < 15.160320764300074. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 30.070008051883836 (T) = (0 -10.448010304217624) / Math.Sqrt((1.7299988609842805 / (299)) + (0.7893584012412285 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.41022901459816813 = (17.71536844441241 - 10.448010304217624) / 17.71536844441241 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.DependencyInjection.GetService.ServiceScope ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.849584005237293 < 36.70010238319344. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 39.47212709038417 (T) = (0 -30.160859629058002) / Math.Sqrt((0.8703603626875346 / (299)) + (0.6786684311031697 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.22879406031055463 = (39.10869727118983 - 30.160859629058002) / 39.10869727118983 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 7.220727819211073 < 14.680780038096264. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 158.54895266972412 (T) = (0 -7.364656456288916) / Math.Sqrt((0.18975205493414277 / (299)) + (0.03472805190957713 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5390121430144039 = (15.97581442697097 - 7.364656456288916) / 15.97581442697097 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 9.85997743972795 < 16.105149832350595. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 89.89221657653827 (T) = (0 -10.034372927679554) / Math.Sqrt((0.3407324195376983 / (299)) + (0.10340284420608382 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.44534482309240814 = (18.091191330124964 - 10.034372927679554) / 18.091191330124964 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 28.00917176982303 < 36.251836170118466. IsChangePoint: Marked as a change because one of 2/9/2023 12:40:40 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 68.22874500930665 (T) = (0 -27.795521561218507) / Math.Sqrt((2.5664653597715796 / (299)) + (0.16532169298007493 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.25578442455145456 = (37.34875011782157 - 27.795521561218507) / 37.34875011782157 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeToStream(Mode%3a%20Reflection).html>) 260.38 ns 221.66 ns 0.85 0.12 True
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeToStream(Mode%3a%20SourceGen).html>) 209.62 ns 160.49 ns 0.77 0.20 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 330.82 ns 273.34 ns 0.83 0.04 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeToWriter(Mode%3a%20Reflection).html>) 135.81 ns 91.97 ns 0.68 0.05 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 197.10 ns 147.35 ns 0.75 0.12 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 146.29 ns 124.53 ns 0.85 0.16 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeToString(Mode%3a%20Reflection).html>) 209.88 ns 163.39 ns 0.78 0.09 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeObjectProperty(Mode%3a%20Reflection).html>) 363.68 ns 298.33 ns 0.82 0.03 True
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(SimpleStructWithProperties).SerializeToWriter(Mode%3a%20SourceGen).html>) 77.69 ns 59.21 ns 0.76 0.04 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
py .\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>.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 221.65728637813703 < 252.80313793384812. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 40.59080465818504 (T) = (0 -206.87371934689008) / Math.Sqrt((43.019601727743094 / (299)) + (29.982199057812167 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.2287677107179865 = (268.23788658989014 - 206.87371934689008) / 268.23788658989014 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 160.4919970020233 < 191.96201275669418. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 51.69663334296767 (T) = (0 -160.78367423287057) / Math.Sqrt((57.06938180912086 / (299)) + (7.697114486143701 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21246180946834514 = (204.15984413953055 - 160.78367423287057) / 204.15984413953055 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 273.33814195688205 < 320.25370567204124. IsChangePoint: Marked as a change because one of 2/1/2023 8:39:12 AM, 2/1/2023 6:25:50 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 64.9662402333194 (T) = (0 -268.1009591850664) / Math.Sqrt((48.29038439039048 / (299)) + (16.59982065512549 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21438187275999132 = (341.2611673395881 - 268.1009591850664) / 341.2611673395881 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 91.97223677479498 < 131.2953797962235. IsChangePoint: Marked as a change because one of 3/20/2023 4:51:16 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 82.11364853534799 (T) = (0 -91.45465744933286) / Math.Sqrt((20.978618261553308 / (299)) + (4.195515987598738 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.34686574186638675 = (140.02428491604823 - 91.45465744933286) / 140.02428491604823 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 147.34598017094143 < 188.1908633511257. IsChangePoint: Marked as a change because one of 3/20/2023 4:51:16 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 41.11632472567993 (T) = (0 -147.3554290423473) / Math.Sqrt((47.40902587942647 / (299)) + (25.04866556793158 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2739441604378573 = (202.9533005770078 - 147.3554290423473) / 202.9533005770078 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 124.53371835892122 < 142.50541867561114. IsChangePoint: Marked as a change because one of 2/3/2023 2:46:32 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 31.060136015277244 (T) = (0 -120.74441069634892) / Math.Sqrt((19.931297256058823 / (299)) + (13.424575958116568 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20144093229947777 = (151.2028547168546 - 120.74441069634892) / 151.2028547168546 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 163.38654034468505 < 205.1060347531338. IsChangePoint: Marked as a change because one of 3/21/2023 4:52:34 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 46.76593636899344 (T) = (0 -165.39007463045812) / Math.Sqrt((38.16064562790054 / (299)) + (19.11779503145809 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.25083774641304435 = (220.766694849584 - 165.39007463045812) / 220.766694849584 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 298.32734373073265 < 347.084259214481. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 39.99582805380592 (T) = (0 -296.3271635166476) / Math.Sqrt((52.46833247408011 / (299)) + (54.516560466558204 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20851741584531686 = (374.39505233476496 - 296.3271635166476) / 374.39505233476496 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 59.21215638917537 < 77.50900064142786. IsChangePoint: Marked as a change because one of 2/25/2023 3:45:56 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 58.86995975167548 (T) = (0 -61.0437359328694) / Math.Sqrt((3.078554977354822 / (299)) + (1.4712767162482892 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.24098084283359714 = (80.42449964077328 - 61.0437359328694) / 80.42449964077328 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/GuardedDevirtualization.TwoClassInterface.Call(testInput%3a%20pB%20%3d%200.10).html>) 2.83 ns 0.83 ns 0.29 0.04 True
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/GuardedDevirtualization.TwoClassInterface.Call(testInput%3a%20pB%20%3d%200.50).html>) 5.97 ns 1.46 ns 0.24 0.03 True
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/GuardedDevirtualization.TwoClassInterface.Call(testInput%3a%20pB%20%3d%200.00).html>) 1.74 ns 0.66 ns 0.38 0.00 True
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/GuardedDevirtualization.TwoClassInterface.Call(testInput%3a%20pB%20%3d%200.30).html>) 5.03 ns 1.19 ns 0.24 0.06 True
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/GuardedDevirtualization.TwoClassInterface.Call(testInput%3a%20pB%20%3d%200.20).html>) 4.07 ns 1.00 ns 0.25 0.03 True
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/GuardedDevirtualization.TwoClassInterface.Call(testInput%3a%20pB%20%3d%200.40).html>) 5.58 ns 1.44 ns 0.26 0.04 True
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/GuardedDevirtualization.TwoClassInterface.Call(testInput%3a%20pB%20%3d%200.60).html>) 5.30 ns 1.79 ns 0.34 0.06 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'GuardedDevirtualization.TwoClassInterface*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 0.8314807330455134 < 2.6922593989744787. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 93.56134920075658 (T) = (0 -0.8616267163780186) / Math.Sqrt((0.0011170675248167443 / (299)) + (0.006318312390135295 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.6984636009135133 = (2.857455083327724 - 0.8616267163780186) / 2.857455083327724 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 1.4619699383622187 < 5.668868801711177. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 65.28162068937706 (T) = (0 -1.6761434445317893) / Math.Sqrt((0.0033764884200729 / (299)) + (0.06452109381398906 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7189217173869107 = (5.96326200996126 - 1.6761434445317893) / 5.96326200996126 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 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 0.657868168486562 < 1.6572686367978755. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 8160.38134373056 (T) = (0 -0.6585003460927304) / Math.Sqrt((9.81014710505321E-07 / (299)) + (2.1637750828710764E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6224968355275584 = (1.7443571552916142 - 0.6585003460927304) / 1.7443571552916142 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 1.1949973548190937 < 4.771187056811929. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 18.929070077425497 (T) = (0 -1.5336156128272598) / Math.Sqrt((0.00468708561844409 / (299)) + (0.503657912559053 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6934610036903827 = (5.003003308845715 - 1.5336156128272598) / 5.003003308845715 is greater than 0.05. IsChangeEdgeDetector: Marked as 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.0037723575338056 < 3.8659154744695097. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 20.438742200187487 (T) = (0 -1.2122871639429889) / Math.Sqrt((0.0027305162010218898 / (299)) + (0.29120405702706714 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.701461677935546 = (4.060742204082121 - 1.2122871639429889) / 4.060742204082121 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 1.435411865282646 < 5.30910232562924. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 24.526885414985607 (T) = (0 -1.7359652058173876) / Math.Sqrt((0.004235448540849825 / (299)) + (0.3799690967061276 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6922433225128994 = (5.6407068726888925 - 1.7359652058173876) / 5.6407068726888925 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 1.7912299471784403 < 5.03429065426237. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 26.336771315541277 (T) = (0 -1.6229921597855888) / Math.Sqrt((0.003735453608983924 / (299)) + (0.2926923933375801 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6939545909111686 = (5.30310898836096 - 1.6229921597855888) / 5.30310898836096 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline f4701e21bcf9e04ba9ed1ffc4785889d36119242
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[ConcurrentDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.TryGetValueTrue(Int32%2c%20Int32).ConcurrentDictionary(Size%3a%20512).html>) 2.30 μs 1.01 μs 0.44 0.15 False
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.TryGetValueTrue(Int32%2c%20Int32).SortedDictionary(Size%3a%20512).html>) 31.82 μs 19.62 μs 0.62 0.01 True
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.TryGetValueTrue(Int32%2c%20Int32).ImmutableDictionary(Size%3a%20512).html>) 17.09 μs 12.86 μs 0.75 0.01 True
[IDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.TryGetValueTrue(Int32%2c%20Int32).IDictionary(Size%3a%20512).html>) 4.00 μs 1.57 μs 0.39 0.35 False
[ImmutableSortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.TryGetValueTrue(Int32%2c%20Int32).ImmutableSortedDictionary(Size%3a%20512).html>) 21.91 μs 11.06 μs 0.50 0.04 False
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.TryGetValueTrue(Int32%2c%20Int32).Dictionary(Size%3a%20512).html>) 2.77 μs 1.39 μs 0.50 0.09 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
py .\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>.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 1.0081150442196347 < 2.184832671692349. IsChangePoint: Marked as a change because one of 2/13/2023 6:54:14 PM, 2/24/2023 8:06:06 PM, 3/17/2023 10:06:19 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 97.51612017283391 (T) = (0 -1005.4022024236812) / Math.Sqrt((67155.54667691111 / (299)) + (44.73362075638483 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5940254455443431 = (2476.515317004917 - 1005.4022024236812) / 2476.515317004917 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 19.620990035892632 < 30.296387533982433. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 558.3272843763878 (T) = (0 -19512.226622507784) / Math.Sqrt((153728.40590352527 / (299)) + (1162.7710345800167 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.41038228731293797 = (33093.01298562556 - 19512.226622507784) / 33093.01298562556 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.856497681158274 < 16.233634743215866. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 189.76907951477494 (T) = (0 -12813.318263470552) / Math.Sqrt((109897.62803282864 / (299)) + (2320.0414817527826 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2528654174898389 = (17149.946694237366 - 12813.318263470552) / 17149.946694237366 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 1.5692985834242457 < 3.7340934125805587. IsChangePoint: Marked as a change because one of 3/6/2023 9:56:15 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 11.548875478877902 (T) = (0 -2723.2537017682407) / Math.Sqrt((113911.183835273 / (299)) + (110482.3089275039 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.27835330350522897 = (3773.666137454525 - 2723.2537017682407) / 3773.666137454525 is greater than 0.05. IsChangeEdgeDetector: Marked not as a 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 11.059753231795153 < 20.820701883335833. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 7.466289178572611 (T) = (0 -18140.559096987938) / Math.Sqrt((231923.82126495108 / (299)) + (4060461.83047952 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.17657914791808635 = (22030.725905376174 - 18140.559096987938) / 22030.725905376174 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 1.386808500994095 < 2.623963826156253. IsChangePoint: Marked as a change because one of 2/23/2023 8:54:44 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 106.02801233101782 (T) = (0 -1377.0734739623263) / Math.Sqrt((86629.00290248175 / (299)) + (29.99803815509434 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5680501158727076 = (3188.039919826702 - 1377.0734739623263) / 3188.039919826702 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 662.12 ns 517.66 ns 0.78 0.01 True
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromString(Mode%3a%20SourceGen).html>) 776.93 ns 570.50 ns 0.73 0.01 True
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromStream(Mode%3a%20SourceGen).html>) 966.52 ns 748.29 ns 0.77 0.03 True
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromReader(Mode%3a%20SourceGen).html>) 988.10 ns 737.26 ns 0.75 0.00 True
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 657.45 ns 514.61 ns 0.78 0.01 True
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromString(Mode%3a%20Reflection).html>) 708.78 ns 564.87 ns 0.80 0.03 True
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromReader(Mode%3a%20Reflection).html>) 1.01 μs 789.42 ns 0.78 0.05 True
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromStream(Mode%3a%20Reflection).html>) 974.02 ns 773.42 ns 0.79 0.04 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
py .\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>.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 517.6576991778755 < 632.3916460785439. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 62.23192593018497 (T) = (0 -523.3436227576298) / Math.Sqrt((79.37318958463113 / (299)) + (75.7113588797479 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21512545507631764 = (666.7863369279193 - 523.3436227576298) / 666.7863369279193 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 570.5044437835529 < 679.2311048516519. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 51.1536573800015 (T) = (0 -569.0517599304502) / Math.Sqrt((129.4750594355475 / (299)) + (122.94850962698226 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20890496687458726 = (719.3216188986464 - 569.0517599304502) / 719.3216188986464 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 748.2897119326474 < 915.2155219186127. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 41.51799080409773 (T) = (0 -760.7454084940472) / Math.Sqrt((185.1055235102742 / (299)) + (348.9861201891819 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2105604827784092 = (963.6525558936653 - 760.7454084940472) / 963.6525558936653 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 737.2581038964106 < 937.1702652119415. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 107.08526263678625 (T) = (0 -735.8445748430572) / Math.Sqrt((307.4417472845482 / (299)) + (73.57372458108603 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.26170683326612576 = (996.6834422948145 - 735.8445748430572) / 996.6834422948145 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 514.6149393028912 < 634.1038590933783. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 108.84643504173097 (T) = (0 -520.7334282722334) / Math.Sqrt((75.71218891186953 / (299)) + (21.48417969435513 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.21843553913839692 = (666.270607670892 - 520.7334282722334) / 666.270607670892 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### 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 564.8684717663889 < 692.2766974938604. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 59.62505485625189 (T) = (0 -571.4733727049555) / Math.Sqrt((129.3350169523694 / (299)) + (84.66161670670725 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20457955807745423 = (718.4544708502763 - 571.4733727049555) / 718.4544708502763 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 789.4221045004024 < 939.0386157288139. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 55.74369084760859 (T) = (0 -744.8590162942639) / Math.Sqrt((444.48617233281624 / (299)) + (274.688931073926 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2498128473444798 = (992.8975904980568 - 744.8590162942639) / 992.8975904980568 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 773.421471235655 < 907.7920682632848. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 58.13999812173011 (T) = (0 -773.8761813584964) / Math.Sqrt((314.76525567277184 / (299)) + (144.95715041860367 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.19739371336037023 = (964.2039867374809 - 773.8761813584964) / 964.2039867374809 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20Json400KB).html>) 3.48 ms 2.88 ms 0.83 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
py .\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: 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 2.8792459888888886 < 3.271102330609758. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 6.659613513954526 (T) = (0 -2976892.059797433) / Math.Sqrt((2290606689.4726925 / (299)) + (75511248623.97455 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1370725857190761 = (3449759.516885986 - 2976892.059797433) / 3449759.516885986 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 4.09 μs 3.03 μs 0.74 0.01 True
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToWriter(Mode%3a%20Reflection).html>) 3.94 μs 2.68 μs 0.68 0.01 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 3.08 μs 2.30 μs 0.75 0.01 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 3.52 μs 2.70 μs 0.77 0.02 True
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToWriter(Mode%3a%20SourceGen).html>) 2.85 μs 2.15 μs 0.75 0.01 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToString(Mode%3a%20Reflection).html>) 4.30 μs 3.21 μs 0.75 0.01 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeObjectProperty(Mode%3a%20Reflection).html>) 4.42 μs 3.33 μs 0.75 0.02 True
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToStream(Mode%3a%20SourceGen).html>) 3.04 μs 2.18 μs 0.72 0.02 True
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToStream(Mode%3a%20Reflection).html>) 3.96 μs 2.84 μs 0.72 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
py .\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>>.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 3.033343925735722 < 3.869470588969605. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 107.60325688423012 (T) = (0 -2968.4328795039064) / Math.Sqrt((2779.785847009507 / (299)) + (1509.5473812824123 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2753988400252865 = (4096.643841430638 - 2968.4328795039064) / 4096.643841430638 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### 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 2.6827393756445512 < 3.748308967560423. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 134.75210535380074 (T) = (0 -2712.5099582353073) / Math.Sqrt((3466.8564032447835 / (299)) + (1184.7752526977035 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.32102246851096433 = (3994.992223507929 - 2712.5099582353073) / 3994.992223507929 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: 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 2.3013806281395155 < 2.9235505712365266. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 119.64359654970431 (T) = (0 -2291.3678163971153) / Math.Sqrt((1506.5344833400195 / (299)) + (685.4960309374538 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2711004968253135 = (3143.599092079462 - 2291.3678163971153) / 3143.599092079462 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 2.7020526265836518 < 3.337684703983586. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 171.2719784404056 (T) = (0 -2682.4340704381448) / Math.Sqrt((2242.5183248283206 / (299)) + (295.9129141396539 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.24990637058102338 = (3576.1323189959116 - 2682.4340704381448) / 3576.1323189959116 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 2.147294891568196 < 2.719236396445144. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 111.38792676213036 (T) = (0 -2181.4467247728326) / Math.Sqrt((1504.6317813388903 / (299)) + (579.8541835968646 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2523393044961159 = (2917.696139293041 - 2181.4467247728326) / 2917.696139293041 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 3.210362729498164 < 4.09720058035782. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 60.905822530168216 (T) = (0 -3211.9097911196227) / Math.Sqrt((2510.3051873846753 / (299)) + (4787.4125758409455 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2555054256142756 = (4314.215175805331 - 3211.9097911196227) / 4314.215175805331 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: 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 3.3331889051711623 < 4.231299560843044. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 108.74165974860946 (T) = (0 -3337.2228173221183) / Math.Sqrt((3342.11244773618 / (299)) + (1477.6030906617866 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.25443152979709405 = (4476.078255312883 - 3337.2228173221183) / 4476.078255312883 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 2.1775296150765837 < 2.928495890441993. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 122.92418518008417 (T) = (0 -2219.943711263553) / Math.Sqrt((1603.7793277929147 / (299)) + (670.0142711359864 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.28143722602273186 = (3089.422095965385 - 2219.943711263553) / 3089.422095965385 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 2.8445369607593447 < 3.8214687917983543. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 115.86965987648009 (T) = (0 -2878.4792787302476) / Math.Sqrt((2669.3127336092175 / (299)) + (1226.4034470820209 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.283404485525066 = (4016.8815190524538 - 2878.4792787302476) / 4016.8815190524538 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.AddGivenSize<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[List - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.AddGivenSize(String).List(Size%3a%20512).html>) 1.74 μs 1.42 μs 0.81 0.14 False
[ObservableCollection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.AddGivenSize(String).ObservableCollection(Size%3a%20512).html>) 14.46 μs 11.81 μs 0.82 0.12 False
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.AddGivenSize(String).SortedList(Size%3a%20512).html>) 263.63 μs 241.40 μs 0.92 0.10 False

graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.AddGivenSize&lt;String&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Collections.AddGivenSize<String>.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.4213235800363802 < 1.5520871407889507. IsChangePoint: Marked as a change because one of 3/3/2023 4:59:02 PM, 3/14/2023 2:33:56 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 36.39078432718149 (T) = (0 -1417.1488501433148) / Math.Sqrt((5884.761596027309 / (299)) + (80.62906251321351 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1138993748967218 = (1599.3091642138736 - 1417.1488501433148) / 1599.3091642138736 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.AddGivenSize<String>.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 11.806329754684283 < 13.575354253656004. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 27.16065448437939 (T) = (0 -12424.495427942393) / Math.Sqrt((339432.75861816044 / (299)) + (63949.49854154765 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.13839140334915875 = (14420.11544016349 - 12424.495427942393) / 14420.11544016349 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.AddGivenSize<String>.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 241.39670353190104 < 247.8823198876915. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 18.313584548494315 (T) = (0 -236644.59764520923) / Math.Sqrt((52192735.20139036 / (299)) + (17821919.991083454 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.0828539299597707 = (258022.8007026505 - 236644.59764520923) / 258022.8007026505 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.CtorDefaultSize<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[List - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.CtorDefaultSize(Int32).List.html>) 6.49 ns 4.42 ns 0.68 0.18 False
[Stack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.CtorDefaultSize(Int32).Stack.html>) 7.47 ns 4.50 ns 0.60 0.15 False
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.CtorDefaultSize(Int32).Queue.html>) 6.99 ns 4.74 ns 0.68 0.19 False

graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorDefaultSize&lt;Int32&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Collections.CtorDefaultSize<Int32>.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 4.4208809255182615 < 6.346253076008982. IsChangePoint: Marked as a change because one of 2/9/2023 4:10:34 PM, 3/2/2023 7:59:08 PM, 3/13/2023 2:14:21 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 15.147143994546882 (T) = (0 -4.694913213145236) / Math.Sqrt((0.12840588105612305 / (299)) + (0.13680430294095347 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2397066594282688 = (6.175133941873961 - 4.694913213145236) / 6.175133941873961 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorDefaultSize<Int32>.Stack ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.50214846386943 < 6.208970463392797. IsChangePoint: Marked as a change because one of 2/13/2023 6:54:14 PM, 3/3/2023 1:35:24 AM, 3/13/2023 2:14:21 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 34.34708395114057 (T) = (0 -4.584225885151977) / Math.Sqrt((0.1690315042290465 / (299)) + (0.02730478427879108 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2679109132868723 = (6.26184158233235 - 4.584225885151977) / 6.26184158233235 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorDefaultSize<Int32>.Queue ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.740281776964716 < 6.34623927859136. IsChangePoint: Marked as a change because one of 2/9/2023 4:10:34 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 34.60839225204167 (T) = (0 -4.8457047792520065) / Math.Sqrt((0.11672622335505749 / (299)) + (0.024994508247966157 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.24465503213717446 = (6.415220840038761 - 4.8457047792520065) / 6.415220840038761 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[Dequeue_And_Enqueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).Dequeue_And_Enqueue(Size%3a%2010).html>) 639.85 ns 452.50 ns 0.71 0.39 False
[HeapSort - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).HeapSort(Size%3a%2010).html>) 207.32 ns 138.95 ns 0.67 0.23 False
[Dequeue_And_Enqueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).Dequeue_And_Enqueue(Size%3a%20100).html>) 12.86 μs 9.66 μs 0.75 0.28 False
[HeapSort - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).HeapSort(Size%3a%20100).html>) 3.99 μs 3.50 μs 0.88 0.20 False

graph graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Perf_PriorityQueue&lt;Guid, Guid&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.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 452.4983154157492 < 532.5642878712005. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 16.220266053891784 (T) = (0 -456.56266235012225) / Math.Sqrt((5456.62144276302 / (299)) + (670.5724651406712 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21989829290698662 = (585.2604323242241 - 456.56266235012225) / 585.2604323242241 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: 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 138.95211359936187 < 177.10926579017004. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 4.17526918283773 (T) = (0 -148.60284519641795) / Math.Sqrt((218.78395432119672 / (299)) + (1517.9779735779455 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2209817993739673 = (190.75657677445545 - 148.60284519641795) / 190.75657677445545 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>.Dequeue_And_Enqueue(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 9.66079516179216 < 11.739105882514968. IsChangePoint: Marked as a change because one of 2/9/2023 1:20:08 AM, 3/1/2023 5:53:50 PM, 3/2/2023 4:26:55 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 6.520583536595689 (T) = (0 -10095.218616649783) / Math.Sqrt((1849292.19839135 / (299)) + (1905426.0487890157 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.19077229892351955 = (12475.127338350569 - 10095.218616649783) / 12475.127338350569 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 3.496810932592558 < 3.7719999041153547. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 20.06548773699706 (T) = (0 -3441.6178854075724) / Math.Sqrt((292021.23870495934 / (299)) + (5356.115409895311 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1755450591906097 = (4174.415986917175 - 3441.6178854075724) / 4174.415986917175 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20False%2c%20TestRandomAccess%3a%20False%2c%20TestCase%3a%20HelloWorld).html>) 184.35 ns 136.29 ns 0.74 0.15 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20False%2c%20TestRandomAccess%3a%20False%2c%20TestCase%3a%20BasicJson).html>) 679.39 ns 518.66 ns 0.76 0.02 True
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20False%2c%20TestRandomAccess%3a%20True%2c%20TestCase%3a%20BasicJson).html>) 1.17 μs 968.31 ns 0.83 0.00 True
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20False%2c%20TestRandomAccess%3a%20False%2c%20TestCase%3a%20Json400KB).html>) 541.04 μs 364.08 μs 0.67 0.01 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20False%2c%20TestRandomAccess%3a%20True%2c%20TestCase%3a%20Json400B).html>) 1.80 μs 1.48 μs 0.82 0.00 True
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20False%2c%20TestRandomAccess%3a%20False%2c%20TestCase%3a%20Json400B).html>) 860.21 ns 594.44 ns 0.69 0.02 True
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20False%2c%20TestRandomAccess%3a%20True%2c%20TestCase%3a%20HelloWorld).html>) 238.29 ns 195.28 ns 0.82 0.10 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20True%2c%20TestRandomAccess%3a%20True%2c%20TestCase%3a%20BasicJson).html>) 1.36 μs 1.10 μs 0.81 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Document.Tests.Perf_DocumentParse*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: False, TestCase: 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 136.28741666335583 < 170.85585419442268. IsChangePoint: Marked as a change because one of 3/8/2023 2:17:54 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 26.299129593253557 (T) = (0 -141.40393881281145) / Math.Sqrt((40.750196410640235 / (299)) + (27.254848736396685 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20630719068094508 = (178.15953118452504 - 141.40393881281145) / 178.15953118452504 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 518.6599081342815 < 645.64509801375. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 46.56725467725687 (T) = (0 -517.9736474524964) / Math.Sqrt((73.67552052033754 / (299)) + (162.6303680405289 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.23039616334021606 = (673.0393259220135 - 517.9736474524964) / 673.0393259220135 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: 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 968.309192047801 < 1.110000001848473. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 70.3246751572252 (T) = (0 -973.062880660093) / Math.Sqrt((165.16493191350364 / (299)) + (107.23764009428638 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.167059237968089 = (1168.22579109511 - 973.062880660093) / 1168.22579109511 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: 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 364.07911501942164 < 523.4128499654888. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 71.8779066031313 (T) = (0 -372700.2455342999) / Math.Sqrt((62073737.59812234 / (299)) + (80992083.21216957 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.3207058162374425 = (548658.0842926437 - 372700.2455342999) / 548658.0842926437 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 1.4841125403927133 < 1.7130097858464741. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 74.87364282932917 (T) = (0 -1507.6100601338478) / Math.Sqrt((270.63385331020464 / (299)) + (214.56326137281835 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16225781119161883 = (1799.611002375681 - 1507.6100601338478) / 1799.611002375681 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: 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 594.4383824583872 < 819.3005958655887. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 76.09360084408253 (T) = (0 -614.9148201543261) / Math.Sqrt((139.10124205809274 / (299)) + (144.6299690368881 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.28233783259447837 = (856.8304810846505 - 614.9148201543261) / 856.8304810846505 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: 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 195.27767567542082 < 230.12224436920852. IsChangePoint: Marked as a change because one of 3/8/2023 2:17:54 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 35.28056764120388 (T) = (0 -200.0503592839404) / Math.Sqrt((35.22310451335438 / (299)) + (21.878583567365613 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1812839441066727 = (244.3464469078465 - 200.0503592839404) / 244.3464469078465 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.103604927655742 < 1.2944337423186263. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 83.87364587444677 (T) = (0 -1113.1471000064744) / Math.Sqrt((113.45293720927862 / (299)) + (118.05406356993547 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1779138278671442 = (1354.0516040045748 - 1113.1471000064744) / 1354.0516040045748 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[XmlSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.XmlFromStream(LoginViewModel).XmlSerializer.html>) 3.48 μs 3.07 μs 0.88 0.01 True
[DataContractSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.XmlFromStream(LoginViewModel).DataContractSerializer.html>) 2.73 μs 2.31 μs 0.84 0.01 True
[DataContractSerializerBinaryXml - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.Xml_FromStream(LoginViewModel).DataContractSerializerBinaryXml.html>) 704.76 ns 560.41 ns 0.80 0.04 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
py .\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>.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.071623097879442 < 3.278597815537581. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 43.35659830350634 (T) = (0 -3014.3878996736335) / Math.Sqrt((2547.582554985272 / (299)) + (1693.2454632871345 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.13679912321936674 = (3492.104770463162 - 3014.3878996736335) / 3492.104770463162 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### 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 2.3071335581290358 < 2.588589046481533. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 34.30655941040835 (T) = (0 -2361.4821758943385) / Math.Sqrt((1521.7437738492783 / (299)) + (1361.9294250810988 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12453866565383254 = (2697.4145895980614 - 2361.4821758943385) / 2697.4145895980614 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 560.4105235774226 < 678.5502591783403. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 78.09721711941184 (T) = (0 -564.4945762154533) / Math.Sqrt((227.04562851925266 / (168)) + (40.3605794716235 / (15))) is greater than 1.9731570421590714 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (168) + (15) - 2, .975) and 0.21762073131848717 = (721.5101406850353 - 564.4945762154533) / 721.5101406850353 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(Hashtable).DeserializeFromString(Mode%3a%20Reflection).html>) 28.98 μs 24.73 μs 0.85 0.01 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(Hashtable).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 28.71 μs 24.55 μs 0.86 0.01 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(Hashtable).DeserializeFromStream(Mode%3a%20Reflection).html>) 29.64 μs 24.67 μs 0.83 0.01 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(Hashtable).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 29.10 μs 24.52 μs 0.84 0.01 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(Hashtable).DeserializeFromReader(Mode%3a%20Reflection).html>) 32.48 μs 27.46 μs 0.85 0.01 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(Hashtable).DeserializeFromStream(Mode%3a%20SourceGen).html>) 29.41 μs 24.74 μs 0.84 0.01 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(Hashtable).DeserializeFromReader(Mode%3a%20SourceGen).html>) 32.50 μs 27.08 μs 0.83 0.01 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(Hashtable).DeserializeFromString(Mode%3a%20SourceGen).html>) 29.69 μs 24.37 μs 0.82 0.01 False

graph graph graph graph graph graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;Hashtable&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 24.72909287210634 < 27.58681427729237. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 60.12049528004775 (T) = (0 -24924.522181939836) / Math.Sqrt((79455.7396772198 / (299)) + (72587.47532642889 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.14700611061389915 = (29220.047754243584 - 24924.522181939836) / 29220.047754243584 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: 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 24.546659233444295 < 27.17850790318165. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 50.598401025562566 (T) = (0 -24660.596967037545) / Math.Sqrt((83453.06285898515 / (299)) + (91827.09060879832 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.14100787315044863 = (28708.757852627838 - 24660.596967037545) / 28708.757852627838 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 24.672270717958863 < 28.126243620127706. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 67.15539949051346 (T) = (0 -24839.193691149496) / Math.Sqrt((116488.72610019862 / (299)) + (69736.43634796551 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16101192975213252 = (29606.13454707538 - 24839.193691149496) / 29606.13454707538 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 24.51860469829507 < 27.443202119789536. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 59.232933061210275 (T) = (0 -24526.089501958377) / Math.Sqrt((93560.85331176812 / (299)) + (70707.17092819953 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.14619604089158542 = (28725.668510098927 - 24526.089501958377) / 28725.668510098927 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 27.45758092097133 < 30.704712373123613. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 47.67246847192835 (T) = (0 -27411.636932305464) / Math.Sqrt((92806.27203518232 / (299)) + (146628.46619813284 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.1529736186915302 = (32362.199734511814 - 27411.636932305464) / 32362.199734511814 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 24.73741320303712 < 28.20544282452312. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 80.56772875195553 (T) = (0 -24907.072282935234) / Math.Sqrt((78789.34100253608 / (299)) + (46478.84799445205 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15793835133550396 = (29578.680281233184 - 24907.072282935234) / 29578.680281233184 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 27.08339310344828 < 30.80138201541706. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 51.22465655100975 (T) = (0 -27249.58456736923) / Math.Sqrt((91425.98007869492 / (299)) + (144533.90697945515 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15784604369291297 = (32357.010690611554 - 27249.58456736923) / 32357.010690611554 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 24.373458767673135 < 27.86461260031596. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 37.446808233801754 (T) = (0 -24917.864237529186) / Math.Sqrt((88459.56855183908 / (299)) + (193020.39823485244 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1470657288776472 = (29214.284243427635 - 24917.864237529186) / 29214.284243427635 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(Nullable(DateTimeOffset)).DeserializeFromStream(Mode%3a%20SourceGen).html>) 320.04 ns 280.98 ns 0.88 0.07 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(Nullable(DateTimeOffset)).DeserializeFromReader(Mode%3a%20Reflection).html>) 208.15 ns 158.58 ns 0.76 0.01 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(Nullable(DateTimeOffset)).DeserializeFromStream(Mode%3a%20Reflection).html>) 320.77 ns 266.15 ns 0.83 0.06 False

graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;Nullable&lt;DateTimeOffset&gt;&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 280.97827467179565 < 302.64002332471364. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 16.722055532474077 (T) = (0 -272.3802312238315) / Math.Sqrt((37.53933530538014 / (299)) + (128.2430931403159 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15313224447224927 = (321.632544687086 - 272.3802312238315) / 321.632544687086 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 158.5750400724562 < 194.57380661448533. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 3/14/2023 2:39:18 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 42.81623113606834 (T) = (0 -164.82435317983564) / Math.Sqrt((39.33602753898104 / (299)) + (15.524844483430412 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2190966336744535 = (211.06882142844154 - 164.82435317983564) / 211.06882142844154 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 266.14612304743787 < 307.5681012949867. IsChangePoint: Marked as a change because one of 2/7/2023 11:50:01 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 45.58160852614517 (T) = (0 -270.06470348281147) / Math.Sqrt((30.144263574148784 / (299)) + (17.38090967058657 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1592549231606484 = (321.22067785169446 - 270.06470348281147) / 321.22067785169446 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[FormatterDouble - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Buffers.Text.Tests.Utf8FormatterTests.FormatterDouble(value%3a%2012345).html>) 110.32 ns 87.78 ns 0.80 0.01 True
[FormatterDouble - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Buffers.Text.Tests.Utf8FormatterTests.FormatterDouble(value%3a%201.7976931348623157E%2b308).html>) 188.75 ns 153.46 ns 0.81 0.00 True
[FormatterDouble - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Buffers.Text.Tests.Utf8FormatterTests.FormatterDouble(value%3a%20-1.7976931348623157E%2b308).html>) 189.84 ns 151.95 ns 0.80 0.00 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Text.Tests.Utf8FormatterTests*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Buffers.Text.Tests.Utf8FormatterTests.FormatterDouble(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 87.77761197853812 < 104.7967173658971. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 296.5612326296571 (T) = (0 -87.98476125999083) / Math.Sqrt((0.7456057250649661 / (299)) + (0.061325250655739454 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21473490128360503 = (112.04466033676006 - 87.98476125999083) / 112.04466033676006 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Text.Tests.Utf8FormatterTests.FormatterDouble(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 153.45816323610342 < 177.09053125596023. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 89.76155345610584 (T) = (0 -152.45153102503699) / Math.Sqrt((3.4328713174528898 / (299)) + (2.3528801564412962 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.19967012843565488 = (190.48586894182938 - 152.45153102503699) / 190.48586894182938 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Text.Tests.Utf8FormatterTests.FormatterDouble(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 151.94773152182637 < 179.98473286938037. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 96.44804317134212 (T) = (0 -153.66578767988662) / Math.Sqrt((3.538443615306123 / (299)) + (2.1834853125895326 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1993665361878126 = (191.93025850832228 - 153.66578767988662) / 191.93025850832228 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[BuilderToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Uri.BuilderToString.html>) 127.61 ns 88.83 ns 0.70 0.09 True
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22http%3a%2f%2fhost%2fpath%20with%20escapable%20values%3fkey%3dva%20lue%22).html>) 561.31 ns 387.79 ns 0.69 0.00 True
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22http%3a%2f%2fhost%2fpath%20with%20escapable%20values%3fkey%3d%c3%bcnicode%22).html>) 799.29 ns 587.73 ns 0.74 0.01 True
[UnescapeDataString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Uri.UnescapeDataString(input%3a%20%22%25E4%25BD%25A0%25E5%25A5%25BD%22).html>) 50.78 ns 47.15 ns 0.93 0.08 True
[UnescapeDataString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Uri.UnescapeDataString(input%3a%20%22abc%2520def%2520ghi%2520%22).html>) 52.34 ns 34.79 ns 0.66 0.03 True
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22http%3a%2f%2fhost%2fpath%3fkey1%3dvalue1%26key2%3dvalue2%26key3%3dvalue3%26key4%3dvalue4%22).html>) 502.75 ns 317.03 ns 0.63 0.00 True
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22http%3a%2f%2fhost%2fpath%2520with%2520escapable%2520values%3fkey%3dva%2520lue%22).html>) 434.41 ns 301.66 ns 0.69 0.01 True
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22http%3a%2f%2fhost%2fpath%2520with%2520escapable%2520values%3fkey%3d%25C3%25BCnicode%22).html>) 854.31 ns 634.97 ns 0.74 0.00 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Uri*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 88.83160278806075 < 121.81927779999587. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 44.284694309425966 (T) = (0 -94.06503249128829) / Math.Sqrt((6.127966046678369 / (299)) + (8.28459992069823 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2627052124870527 = (127.58130680482596 - 94.06503249128829) / 127.58130680482596 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 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 387.7864479784975 < 537.5160073804808. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 276.5065447758626 (T) = (0 -385.898420695912) / Math.Sqrt((43.752177827767184 / (299)) + (3.884435475652379 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.31326155736940975 = (561.9292539059069 - 385.898420695912) / 561.9292539059069 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 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 587.7268279640505 < 750.9711270105122. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 196.84480438102602 (T) = (0 -592.0592839845956) / Math.Sqrt((58.267956798857234 / (299)) + (12.146926773980528 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2499533746476058 = (789.3633061897033 - 592.0592839845956) / 789.3633061897033 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 47.15093628499129 < 48.777616313849045. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 24.24754445867212 (T) = (0 -42.05864537426123) / Math.Sqrt((0.9481808935303778 / (299)) + (2.29607699269852 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.19075656998950077 = (51.97279806610918 - 42.05864537426123) / 51.97279806610918 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 34.79499760645729 < 50.51950285299737. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 82.57394607820805 (T) = (0 -32.19429086995354) / Math.Sqrt((1.3967396064048443 / (299)) + (0.8241187214914546 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3850805064267811 = (52.35529399609145 - 32.19429086995354) / 52.35529399609145 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 317.0341574791618 < 475.2752036263163. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 227.76403494303713 (T) = (0 -318.3622987668205) / Math.Sqrt((25.19181228391447 / (299)) + (8.253442809948698 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.36300337753746986 = (499.78647851550807 - 318.3622987668205) / 499.78647851550807 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 301.66456003736647 < 412.94733541927747. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 123.40274990556257 (T) = (0 -300.07773761649736) / Math.Sqrt((68.00896200743614 / (299)) + (16.63711328870318 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3222337445519286 = (442.7451724018274 - 300.07773761649736) / 442.7451724018274 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=%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 634.9748358806937 < 804.2929179409799. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 94.36009129231957 (T) = (0 -646.4964177720371) / Math.Sqrt((78.86344341905053 / (299)) + (67.01241297373191 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.24097261624348987 = (851.7432066448712 - 646.4964177720371) / 851.7432066448712 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in PerfLabTests.EnumPerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[EnumCompareTo - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/PerfLabTests.EnumPerf.EnumCompareTo(color%3a%20Red).html>) 11.87 ns 10.06 ns 0.85 0.20 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'PerfLabTests.EnumPerf*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### PerfLabTests.EnumPerf.EnumCompareTo(color: 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 10.06289466700941 < 10.508659232463822. IsChangePoint: Marked as a change because one of 2/9/2023 4:10:34 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 4.633941042924365 (T) = (0 -10.344688246620574) / Math.Sqrt((0.3723983070509496 / (299)) + (0.39168143758587687 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.06898114127181275 = (11.111147910313948 - 10.344688246620574) / 11.111147910313948 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(StructRecord).SerializeToString(Mode%3a%20SourceGen).html>) 270.92 ns 228.52 ns 0.84 0.03 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(StructRecord).SerializeToString(Mode%3a%20Reflection).html>) 384.77 ns 273.94 ns 0.71 0.04 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
py .\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>.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 228.51766031267002 < 261.62109806214556. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 47.87061468210331 (T) = (0 -221.925162715903) / Math.Sqrt((25.597368500396293 / (299)) + (17.116056021980977 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.19283665487663032 = (274.94455001791886 - 221.925162715903) / 274.94455001791886 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 273.9430673148779 < 363.7014181349965. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 86.223365294182 (T) = (0 -278.97735655342035) / Math.Sqrt((42.5091626570817 / (299)) + (18.120435895710227 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.264236735152547 = (379.1672809477124 - 278.97735655342035) / 379.1672809477124 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Security.Cryptography.Tests.Perf_CryptoConfig

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[CreateFromName - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Security.Cryptography.Tests.Perf_CryptoConfig.CreateFromName(name%3a%20%22RSA%22).html>) 407.86 ns 354.38 ns 0.87 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Security.Cryptography.Tests.Perf_CryptoConfig*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Security.Cryptography.Tests.Perf_CryptoConfig.CreateFromName(name: "RSA") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.37801893174935 < 382.3176215650153. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 32.65526872617067 (T) = (0 -346.0252683700138) / Math.Sqrt((46.906024754113105 / (299)) + (36.48607745505244 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.13183674778293242 = (398.571659749884 - 346.0252683700138) / 398.571659749884 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[Copy_PassAsArgumentAndReturn_FromValueTaskSource - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Threading.Tasks.ValueTaskPerfTest.Copy_PassAsArgumentAndReturn_FromValueTaskSource.html>) 5.26 ns 3.65 ns 0.69 0.21 True
[CreateAndAwait_FromDelayedTCS - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Threading.Tasks.ValueTaskPerfTest.CreateAndAwait_FromDelayedTCS.html>) 181.42 ns 160.74 ns 0.89 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Threading.Tasks.ValueTaskPerfTest*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Threading.Tasks.ValueTaskPerfTest.Copy_PassAsArgumentAndReturn_FromValueTaskSource ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.647616443431393 < 5.001435574940621. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 17.58245750697814 (T) = (0 -3.776140194964112) / Math.Sqrt((0.03831091969046661 / (299)) + (0.1218244939450961 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.29721690702492237 = (5.37312327617139 - 3.776140194964112) / 5.37312327617139 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### 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 160.74328910072876 < 166.42914363203172. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 15.164788047297904 (T) = (0 -159.04587487835448) / Math.Sqrt((19.38949033118006 / (299)) + (11.370865790560682 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.08197496740107962 = (173.2478627822349 - 159.04587487835448) / 173.2478627822349 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Tests.Perf_Get

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetDateTimeOffset - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Get.GetDateTimeOffset.html>) 4.13 μs 3.85 μs 0.93 0.04 False
[GetSingle - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Get.GetSingle.html>) 3.52 μs 3.06 μs 0.87 0.02 True
[GetUInt32 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Get.GetUInt32.html>) 385.94 ns 337.29 ns 0.87 0.08 False
[GetDouble - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Get.GetDouble.html>) 3.42 μs 2.84 μs 0.83 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Get*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.Json.Tests.Perf_Get.GetDateTimeOffset ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.845875559242093 < 3.9011193188896898. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 9.447402082819245 (T) = (0 -3873.9075888793404) / Math.Sqrt((7071.442869717516 / (299)) + (7867.963319005506 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.05401442119948894 = (4095.1021619075527 - 3873.9075888793404) / 4095.1021619075527 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetSingle ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.0586514076466353 < 3.341768304224546. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 56.891631514445585 (T) = (0 -2924.0843113609817) / Math.Sqrt((670.4190211688172 / (299)) + (1771.990175761331 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.17591352204867422 = (3548.2736212712025 - 2924.0843113609817) / 3548.2736212712025 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetUInt32 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 337.28994392331936 < 365.7340635513425. IsChangePoint: Marked as a change because one of 2/9/2023 4:10:34 PM, 2/20/2023 2:51:15 AM, 3/13/2023 2:14:21 PM, 4/6/2023 1:55:21 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 69.04766028829596 (T) = (0 -338.85923820276696) / Math.Sqrt((257.53010469675513 / (299)) + (0.6491632540671554 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16233871714997022 = (404.5301426011287 - 338.85923820276696) / 404.5301426011287 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetDouble ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.8377509191415076 < 3.253372007386293. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 71.78511121435761 (T) = (0 -2713.256265736827) / Math.Sqrt((352.4735485998326 / (299)) + (1585.1297564389731 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21475545536147717 = (3455.3010068803974 - 2713.256265736827) / 3455.3010068803974 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Formats.Cbor.Tests.Perf_CborWriter.WriteCoseKey(publicKey%3a%20ECDSA_P384).html>) 469.08 ns 380.94 ns 0.81 0.03 True
[WriteCoseKey - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Formats.Cbor.Tests.Perf_CborWriter.WriteCoseKey(publicKey%3a%20ECDSA_P256).html>) 436.23 ns 341.37 ns 0.78 0.03 True
[WriteCoseKey - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Formats.Cbor.Tests.Perf_CborWriter.WriteCoseKey(publicKey%3a%20ECDSA_P521).html>) 518.66 ns 429.02 ns 0.83 0.04 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
py .\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_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 380.9436599366662 < 451.00187693703754. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 56.69368154912365 (T) = (0 -385.84672339594215) / Math.Sqrt((52.39257618276556 / (299)) + (34.4762861421534 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1877142952829883 = (475.01355884425595 - 385.84672339594215) / 475.01355884425595 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### 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 341.3657730475373 < 412.0623684832601. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 121.34605803076053 (T) = (0 -344.20239833417446) / Math.Sqrt((40.94017162839823 / (299)) + (6.019767595989488 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20549339936393055 = (433.22786501535853 - 344.20239833417446) / 433.22786501535853 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 429.019455341408 < 492.35234753085524. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 47.66140611300128 (T) = (0 -427.28860088617625) / Math.Sqrt((86.53253159925036 / (299)) + (57.49979945073276 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.18466128966560286 = (524.0626937864034 - 427.28860088617625) / 524.0626937864034 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[ToStringHebrewIsrael - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Globalization.Tests.Perf_DateTimeCultureInfo.ToStringHebrewIsrael.html>) 266.90 ns 164.38 ns 0.62 0.02 True
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring%3a%20da).html>) 127.00 ns 70.39 ns 0.55 0.01 True
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring%3a%20ja).html>) 251.73 ns 233.89 ns 0.93 0.04 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring%3a%20).html>) 149.94 ns 74.88 ns 0.50 0.02 True
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring%3a%20da).html>) 265.18 ns 249.26 ns 0.94 0.03 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring%3a%20ja).html>) 148.26 ns 74.96 ns 0.51 0.02 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Globalization.Tests.Perf_DateTimeCultureInfo*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 164.37993217282207 < 256.25973292935134. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 49.664638118871665 (T) = (0 -174.4010833326418) / Math.Sqrt((9.067628219064746 / (299)) + (50.333636812474495 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3438341100989626 = (265.7880972126498 - 174.4010833326418) / 265.7880972126498 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 70.38998322885347 < 120.25414568642002. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 118.13291668828036 (T) = (0 -68.70629646123346) / Math.Sqrt((3.6677186744092785 / (299)) + (3.235777204244083 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4508423221236794 = (125.11214762020911 - 68.70629646123346) / 125.11214762020911 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 233.8891352427381 < 238.47804694316952. IsChangePoint: Marked as a change because one of 2/26/2023 8:26:11 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 27.441414414412566 (T) = (0 -228.0377227806502) / Math.Sqrt((24.84514611661851 / (299)) + (10.878545503312072 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.09762911544201401 = (252.70953072954183 - 228.0377227806502) / 252.70953072954183 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: ) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 74.87927321003214 < 141.6279123854285. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 97.844662395274 (T) = (0 -77.83474956445448) / Math.Sqrt((13.212120049282907 / (299)) + (4.428360882498606 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.42275414086743496 = (134.838125441762 - 77.83474956445448) / 134.838125441762 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### 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 249.2569774231218 < 252.0920246109334. IsChangePoint: Marked as a change because one of 3/3/2023 4:59:02 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 24.120128301609245 (T) = (0 -242.34153745986407) / Math.Sqrt((19.516808805945658 / (299)) + (15.732224034021609 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.09506665246464255 = (267.8004276446397 - 242.34153745986407) / 267.8004276446397 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: 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 74.96011060128353 < 140.61948794523613. IsChangePoint: Marked as a change because one of 4/9/2023 4:09:45 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 103.63328628225938 (T) = (0 -77.96129675621692) / Math.Sqrt((15.501349816040776 / (299)) + (3.4905086909745187 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.41488995069447643 = (133.2421086405035 - 77.96129675621692) / 133.2421086405035 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(ImmutableDictionary(String%2c%20String)).SerializeToString(Mode%3a%20Reflection).html>) 18.48 μs 14.94 μs 0.81 0.15 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;ImmutableDictionary&lt;String, String&gt;&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 14.941924069866253 < 17.538184708746847. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 34.6516964875068 (T) = (0 -15058.580917717378) / Math.Sqrt((358039.84702999255 / (299)) + (148583.19575554522 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1951525667040715 = (18709.85766339718 - 15058.580917717378) / 18709.85766339718 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_UInt32

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_x64_alpine 3.15/System.Tests.Perf_UInt32.ToString(value%3a%2012345).html>) 9.69 ns 8.34 ns 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_UInt32*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Tests.Perf_UInt32.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 8.341699869586138 < 9.141753095398839. IsChangePoint: Marked as a change because one of 2/12/2023 2:35:10 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 36.49534811644294 (T) = (0 -8.087246163301737) / Math.Sqrt((0.0962484830949445 / (299)) + (0.018379589580780533 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15074685438622973 = (9.522774457852542 - 8.087246163301737) / 9.522774457852542 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.IterateForEach(String).SortedList(Size%3a%20512).html>) 4.38 μs 3.70 μs 0.85 0.16 False
[ConcurrentQueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.IterateForEach(String).ConcurrentQueue(Size%3a%20512).html>) 3.79 μs 3.30 μs 0.87 0.06 False
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.IterateForEach(String).Queue(Size%3a%20512).html>) 2.02 μs 1.24 μs 0.61 0.29 False
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.IterateForEach(String).SortedDictionary(Size%3a%20512).html>) 8.33 μs 6.61 μs 0.79 0.06 False
[Stack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.IterateForEach(String).Stack(Size%3a%20512).html>) 2.48 μs 1.10 μs 0.44 0.19 False
[ConcurrentStack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.IterateForEach(String).ConcurrentStack(Size%3a%20512).html>) 2.70 μs 2.48 μs 0.92 0.04 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForEach&lt;String&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Collections.IterateForEach<String>.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 3.703253114216071 < 4.162185549412941. IsChangePoint: Marked as a change because one of 3/17/2023 1:34:47 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 30.941870024834873 (T) = (0 -3302.748633940994) / Math.Sqrt((38522.796638192536 / (299)) + (26182.83708833756 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.2952150794086567 = (4686.179481777012 - 3302.748633940994) / 4686.179481777012 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<String>.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 3.299589388547578 < 3.605082612886693. IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 30.667415479799534 (T) = (0 -3281.0439739590356) / Math.Sqrt((60768.05279959967 / (299)) + (1957.1185363418897 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.14584394247723168 = (3841.2699237593083 - 3281.0439739590356) / 3841.2699237593083 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 1.2439475849098018 < 2.078230338107852. IsChangePoint: Marked as a change because one of 2/5/2023 7:19:43 PM, 3/14/2023 2:33:56 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 75.2997197826602 (T) = (0 -1248.7244798913748) / Math.Sqrt((61881.10565761759 / (299)) + (362.194098092885 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4782731471370881 = (2393.4449090345893 - 1248.7244798913748) / 2393.4449090345893 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 6.613325546116505 < 7.905028503078414. IsChangePoint: Marked as a change because one of 3/16/2023 2:58:09 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 78.76323445671765 (T) = (0 -6713.458787164307) / Math.Sqrt((54045.827011756715 / (299)) + (4546.972677311982 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20513601560274963 = (8446.047272169664 - 6713.458787164307) / 8446.047272169664 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 1.1027363255173561 < 2.299009239776899. IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 102.58296566063778 (T) = (0 -1103.5963489556152) / Math.Sqrt((57677.71059843778 / (299)) + (2.775857095511025 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5636313643001899 = (2529.0459915519896 - 1103.5963489556152) / 2529.0459915519896 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<String>.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.4771744940712774 < 2.569051767566936. IsChangePoint: Marked as a change because one of 2/9/2023 12:40:40 PM, 3/3/2023 4:59:02 PM, 3/14/2023 8:42:09 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 25.803885006464146 (T) = (0 -2302.5822656072605) / Math.Sqrt((31342.883443880215 / (299)) + (5506.477891597161 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.19578457617957007 = (2863.141140303963 - 2302.5822656072605) / 2863.141140303963 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Collections.Sort(BigStruct).Array_ComparerClass(Size%3a%20512).html>) 23.93 μs 12.29 μs 0.51 0.04 True
[LinqOrderByExtension - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.Sort(BigStruct).LinqOrderByExtension(Size%3a%20512).html>) 34.57 μs 26.89 μs 0.78 0.10 False
[Array_Comparison - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.Sort(BigStruct).Array_Comparison(Size%3a%20512).html>) 24.28 μs 11.69 μs 0.48 0.05 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
py .\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 12.291805160000001 < 22.832167982884613. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 72.23382199464085 (T) = (0 -12041.794982783626) / Math.Sqrt((287187.9413227634 / (299)) + (377304.0091832589 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.49222183821827065 = (23714.67678036899 - 12041.794982783626) / 23714.67678036899 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 26.888517099999998 < 32.93333499719048. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 17.77062595020319 (T) = (0 -26612.983786796092) / Math.Sqrt((1614080.0581987905 / (299)) + (2845683.430603015 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2277698433828016 = (34462.50260851752 - 26612.983786796092) / 34462.50260851752 is greater than 0.05. IsChangeEdgeDetector: Marked not as a 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 11.69168416 < 23.008887954285715. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 106.71337857571088 (T) = (0 -11942.999494363861) / Math.Sqrt((306516.13493136 / (299)) + (162708.6547536405 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.49330815064183303 = (23570.538009427644 - 11942.999494363861) / 23570.538009427644 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20BroadTree).html>) 5.12 μs 3.23 μs 0.63 0.06 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json400B).html>) 736.58 ns 566.01 ns 0.77 0.01 True
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json400B).html>) 485.69 ns 330.77 ns 0.68 0.03 True
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json40KB).html>) 33.94 μs 23.49 μs 0.69 0.02 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json400B).html>) 552.38 ns 362.19 ns 0.66 0.02 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json40KB).html>) 50.38 μs 38.58 μs 0.77 0.03 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20BroadTree).html>) 6.42 μs 3.74 μs 0.58 0.11 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json4KB).html>) 5.17 μs 4.14 μs 0.80 0.02 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfStrings).html>) 819.68 ns 576.98 ns 0.70 0.07 True
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20HelloWorld).html>) 70.20 ns 47.82 ns 0.68 0.01 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20LotsOfStrings).html>) 1.26 μs 1.07 μs 0.85 0.02 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfNumbers).html>) 1.57 μs 1.15 μs 0.73 0.02 True
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20DeepTree).html>) 2.42 μs 1.53 μs 0.63 0.03 True
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20HelloWorld).html>) 69.28 ns 57.35 ns 0.83 0.03 False
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20LotsOfStrings).html>) 1.19 μs 928.93 ns 0.78 0.09 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfNumbers).html>) 1.87 μs 1.28 μs 0.68 0.07 True
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json4KB).html>) 3.42 μs 2.32 μs 0.68 0.03 True
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json40KB).html>) 52.11 μs 42.19 μs 0.81 0.01 False
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json4KB).html>) 5.12 μs 3.70 μs 0.72 0.02 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20DeepTree).html>) 2.93 μs 1.78 μs 0.61 0.03 True
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20BroadTree).html>) 8.18 μs 6.99 μs 0.85 0.02 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfStrings).html>) 1.17 μs 609.34 ns 0.52 0.09 True

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

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Reader*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.Json.Tests.Perf_Reader.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 3.233826207679604 < 4.710458376792753. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 113.46272504543671 (T) = (0 -3322.5946338476947) / Math.Sqrt((13168.050309773842 / (299)) + (2907.6654375982475 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.35141003487809097 = (5122.796855519002 - 3322.5946338476947) / 5122.796855519002 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: 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 566.0069337191416 < 699.3929896683425. IsChangePoint: Marked as a change because one of 2/24/2023 8:06:06 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 60.75704712094298 (T) = (0 -586.3152150969521) / Math.Sqrt((97.73611813489478 / (299)) + (83.5042328135155 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20100549247144386 = (733.8163273619214 - 586.3152150969521) / 733.8163273619214 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: 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 330.76959572084377 < 461.57189800381025. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 50.68992319123274 (T) = (0 -328.7058554491416) / Math.Sqrt((47.33945672963838 / (299)) + (146.85954028413008 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3272384061022571 = (488.5918851947776 - 328.7058554491416) / 488.5918851947776 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: 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 23.488947938943543 < 32.54858629504581. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 71.20828968809222 (T) = (0 -23165.608792824165) / Math.Sqrt((311936.22624367557 / (299)) + (387023.14615926094 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3349455396524738 = (34832.64931524391 - 23165.608792824165) / 34832.64931524391 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 362.1862179918349 < 532.1608485604073. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 79.1312967941693 (T) = (0 -348.90020412709805) / Math.Sqrt((75.19590882506465 / (299)) + (103.04682089202197 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.37703935471556455 = (560.0678096893182 - 348.90020412709805) / 560.0678096893182 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: 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 38.580550451165216 < 47.946010641921085. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 69.49625322807184 (T) = (0 -37245.74813025517) / Math.Sqrt((531197.5617353177 / (299)) + (500304.0674569282 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.25910755373783306 = (50271.4642566023 - 37245.74813025517) / 50271.4642566023 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 3.7384204456661836 < 6.123126668079978. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 72.59190263226175 (T) = (0 -3803.8021611321165) / Math.Sqrt((49581.530863678425 / (299)) + (14038.246236723027 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3877939604377204 = (6213.271211521846 - 3803.8021611321165) / 6213.271211521846 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 4.136364300216498 < 4.915967473848977. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 54.535379646151355 (T) = (0 -4266.755169882813) / Math.Sqrt((3631.0293729608184 / (299)) + (4173.8926489521555 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.17885508405506656 = (5196.104959101938 - 4266.755169882813) / 5196.104959101938 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: 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 576.976768328936 < 795.5154053220683. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 37.363851697539744 (T) = (0 -610.6688135934621) / Math.Sqrt((404.73161055514913 / (299)) + (549.4552881683481 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.27383153467493015 = (840.9464783355688 - 610.6688135934621) / 840.9464783355688 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 47.821149420374674 < 66.96703713708067. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 51.91278150040752 (T) = (0 -50.27812511930737) / Math.Sqrt((8.865183804449462 / (299)) + (2.593572207872436 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.32370744549355635 = (74.34375076922176 - 50.27812511930737) / 74.34375076922176 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: 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.0744509503880775 < 1.1960108470362145. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 74.66752726830298 (T) = (0 -1090.0414114038538) / Math.Sqrt((651.73719460085 / (299)) + (64.89403252630841 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.14873416346130433 = (1280.4947228189442 - 1090.0414114038538) / 1280.4947228189442 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 1.1508141422934688 < 1.4928088011661984. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 65.36268561010458 (T) = (0 -1119.6300915209315) / Math.Sqrt((1050.5351522129824 / (299)) + (795.2473355069587 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3050389141400621 = (1611.0687552174413 - 1119.6300915209315) / 1611.0687552174413 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: 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 1.5340659882399725 < 2.307503433746772. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 77.2966616900325 (T) = (0 -1617.2629334796563) / Math.Sqrt((2258.939209001038 / (299)) + (1626.750318165707 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3398364737339153 = (2449.791406421633 - 1617.2629334796563) / 2449.791406421633 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: 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 57.34638796376893 < 65.95170695727961. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 21.5990423541907 (T) = (0 -59.4690602060138) / Math.Sqrt((11.233498049326077 / (299)) + (4.081339125808144 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16812867194733527 = (71.48829175928623 - 59.4690602060138) / 71.48829175928623 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: 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 928.9292721072947 < 1.1292295768601277. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 83.7141851448031 (T) = (0 -938.1832689412913) / Math.Sqrt((780.6540474895911 / (299)) + (105.67395831625764 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21708132391548224 = (1198.3150965733412 - 938.1832689412913) / 1198.3150965733412 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 1.275276125096462 < 1.7358335748838112. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 68.46589771086072 (T) = (0 -1196.2366297496546) / Math.Sqrt((1745.8561858050632 / (299)) + (1379.2103537894993 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.36141970169701243 = (1873.2751901814477 - 1196.2366297496546) / 1873.2751901814477 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: 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 2.3237274613921346 < 3.25094282080377. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 77.240925518917 (T) = (0 -2262.3562251857193) / Math.Sqrt((3069.246334424515 / (299)) + (3587.5382472180563 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.35031952436439895 = (3482.2598339166516 - 2262.3562251857193) / 3482.2598339166516 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 42.191845154089854 < 48.99748070154113. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 78.44304126475868 (T) = (0 -42956.95615880293) / Math.Sqrt((510556.3847314341 / (299)) + (168828.64480290413 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.17212203727034725 = (51888.029507593885 - 42956.95615880293) / 51888.029507593885 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 3.69871210268174 < 4.8633677954594985. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 65.58386414694259 (T) = (0 -3588.68695085069) / Math.Sqrt((5963.344846681935 / (299)) + (6784.564487634538 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.28425358238988196 = (5013.908365526075 - 3588.68695085069) / 5013.908365526075 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 1.7818767696313842 < 2.7639549457100885. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 82.26196701867656 (T) = (0 -1815.858370355351) / Math.Sqrt((2690.6459735346293 / (299)) + (2334.374583200071 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.36758917225916243 = (2871.327135308776 - 1815.858370355351) / 2871.327135308776 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(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 6.992879348151477 < 7.708863423554328. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 33.38041808519321 (T) = (0 -7150.245121965024) / Math.Sqrt((24679.526233862787 / (299)) + (13644.704094475459 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1281990947754864 = (8201.694996088163 - 7150.245121965024) / 8201.694996088163 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 609.337174641064 < 1.1192832896454823. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 125.83046319511611 (T) = (0 -602.535541406209) / Math.Sqrt((1312.7651896301138 / (299)) + (257.9324709470531 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4924534959344571 = (1187.1533673856209 - 602.535541406209) / 1187.1533673856209 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

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_x64_alpine 3.15/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).GetHashCodeBenchmark.html>) 55.72 ns 37.63 ns 0.68 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Runtime.Intrinsics.Tests.Perf_Vector128Of&lt;SByte&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.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 37.626172064404756 < 53.00553936923015. IsChangePoint: Marked as a change because one of 2/13/2023 6:54:14 PM, 2/20/2023 10:31:48 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 52.24558239803682 (T) = (0 -35.00373726074218) / Math.Sqrt((7.616719317907433 / (299)) + (1.50805471041152 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.34633404370934645 = (53.549885723554056 - 35.00373726074218) / 53.549885723554056 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/MicroBenchmarks.Serializers.Json_ToString(IndexViewModel).SystemTextJsonReflection.html>) 12.77 μs 10.12 μs 0.79 0.01 True
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.JsonToString(IndexViewModel).JsonNet.html>) 29.50 μs 21.31 μ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
py .\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 10.124132678267712 < 11.991930035169348. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 143.66782191367412 (T) = (0 -10098.475699484448) / Math.Sqrt((16506.54146522893 / (299)) + (4102.953493197014 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20505277519967074 = (12703.328453056656 - 10098.475699484448) / 12703.328453056656 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 21.309167184212022 < 27.61233957802037. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 167.30335594254177 (T) = (0 -21407.298510181547) / Math.Sqrt((144525.46720315987 / (299)) + (23804.873925003212 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.26232077336757903 = (29019.79307172305 - 21407.298510181547) / 29019.79307172305 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[AnyWithPredicate_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.AnyWithPredicate_LastElementMatches(input%3a%20IOrderedEnumerable).html>) 2.22 μs 1.43 μs 0.64 0.06 True
[Aggregate - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.Aggregate(input%3a%20IEnumerable).html>) 474.50 ns 162.35 ns 0.34 0.01 True
[WhereAny_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.WhereAny_LastElementMatches(input%3a%20List).html>) 284.37 ns 194.56 ns 0.68 0.00 True
[LastWithPredicate_FirstElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.LastWithPredicate_FirstElementMatches(input%3a%20IOrderedEnumerable).html>) 947.10 ns 290.48 ns 0.31 0.01 True
[ToArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.ToArray(input%3a%20IEnumerable).html>) 579.08 ns 367.22 ns 0.63 0.16 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.Count(input%3a%20IEnumerable).html>) 220.46 ns 137.73 ns 0.62 0.03 True
[Count - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.Count(input%3a%20ICollection).html>) 2.84 ns 1.78 ns 0.62 0.05 True
[Intersect - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.Intersect(input%3a%20IEnumerable).html>) 2.64 μs 1.82 μs 0.69 0.00 True
[ElementAt - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.ElementAt(input%3a%20IList).html>) 6.04 ns 3.56 ns 0.59 0.20 False
[Reverse - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.Reverse(input%3a%20IEnumerable).html>) 974.74 ns 394.93 ns 0.41 0.02 True
[FirstWithPredicate_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input%3a%20IEnumerable).html>) 500.02 ns 133.71 ns 0.27 0.01 True
[All_AllElementsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.All_AllElementsMatch(input%3a%20IEnumerable).html>) 484.40 ns 132.52 ns 0.27 0.01 True
[Repeat - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.Repeat.html>) 345.50 ns 122.19 ns 0.35 0.02 True
[ToArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.ToArray(input%3a%20ICollection).html>) 34.39 ns 29.21 ns 0.85 0.04 False
[LastWithPredicate_FirstElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.LastWithPredicate_FirstElementMatches(input%3a%20IList).html>) 9.85 ns 5.41 ns 0.55 0.10 True
[ElementAt - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.ElementAt(input%3a%20IEnumerable).html>) 113.00 ns 68.42 ns 0.61 0.02 True
[Skip_One - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.Skip_One(input%3a%20IEnumerable).html>) 809.80 ns 234.06 ns 0.29 0.05 False
[TakeLastHalf - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.TakeLastHalf(input%3a%20IEnumerable).html>) 984.14 ns 698.78 ns 0.71 0.01 True
[Aggregate_Seed - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.Aggregate_Seed(input%3a%20IEnumerable).html>) 502.50 ns 161.66 ns 0.32 0.01 True
[TakeLastHalf - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.TakeLastHalf(input%3a%20List).html>) 560.47 ns 262.22 ns 0.47 0.04 True
[SelectToArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.SelectToArray(input%3a%20Range).html>) 215.56 ns 83.30 ns 0.39 0.03 True
[Distinct - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.Distinct(input%3a%20IEnumerable).html>) 1.73 μs 1.38 μs 0.79 0.00 True
[AnyWithPredicate_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.AnyWithPredicate_LastElementMatches(input%3a%20Array).html>) 479.49 ns 155.62 ns 0.32 0.01 True
[WhereAny_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.WhereAny_LastElementMatches(input%3a%20IEnumerable).html>) 517.38 ns 218.80 ns 0.42 0.00 True
[LastWithPredicate_FirstElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.LastWithPredicate_FirstElementMatches(input%3a%20IEnumerable).html>) 482.90 ns 152.19 ns 0.32 0.00 True
[Take_All - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.Take_All(input%3a%20IEnumerable).html>) 746.34 ns 266.49 ns 0.36 0.02 True
[Max - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.Max(input%3a%20IEnumerable).html>) 324.17 ns 158.04 ns 0.49 0.03 True
[SkipHalfTakeHalf - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.SkipHalfTakeHalf(input%3a%20IEnumerable).html>) 488.68 ns 209.35 ns 0.43 0.01 True
[Average - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.Average(input%3a%20IEnumerable).html>) 368.81 ns 156.30 ns 0.42 0.02 True
[Select - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.Select(input%3a%20IEnumerable).html>) 832.29 ns 237.54 ns 0.29 0.01 True
[WhereAny_LastElementMatches - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Linq.Tests.Perf_Enumerable.WhereAny_LastElementMatches(input%3a%20Array).html>) 191.49 ns 144.46 ns 0.75 0.03 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Linq.Tests.Perf_Enumerable*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 1.4317803880895466 < 2.110592477351416. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 42.287556707572925 (T) = (0 -1407.4961162198802) / Math.Sqrt((3934.1214271091276 / (299)) + (4940.027176455966 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.35733508803275227 = (2190.093297471966 - 1407.4961162198802) / 2190.093297471966 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 162.354962998791 < 451.09298134521305. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 340.22407881037356 (T) = (0 -161.1191589798311) / Math.Sqrt((164.1016942233376 / (299)) + (4.411255198098194 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6597135380039423 = (473.480954942303 - 161.1191589798311) / 473.480954942303 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 194.56452419612054 < 270.25380267163. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 224.23485082226608 (T) = (0 -194.80110889126945) / Math.Sqrt((2.8464231243682256 / (299)) + (2.0851045781468756 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.31422834494593405 = (284.06118487926045 - 194.80110889126945) / 284.06118487926045 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 290.48119667440693 < 899.7249617390477. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 406.9788808839099 (T) = (0 -308.45461809782694) / Math.Sqrt((183.9791015319588 / (299)) + (26.377942213829847 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6702778284852724 = (935.4985643846801 - 308.45461809782694) / 935.4985643846801 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 367.22378448452235 < 551.8644787251876. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 109.77319332087997 (T) = (0 -364.2849686660683) / Math.Sqrt((508.11491806000606 / (299)) + (23.075069262065565 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3515836010116416 = (561.807149286193 - 364.2849686660683) / 561.807149286193 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 137.7337165441498 < 209.22373710550147. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 149.45823277283156 (T) = (0 -137.40828362422096) / Math.Sqrt((104.91864275135485 / (299)) + (0.362421881315362 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3998057811381764 = (228.93969869419055 - 137.40828362422096) / 228.93969869419055 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 1.777424021426108 < 2.701609448650262. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 48.60238887420916 (T) = (0 -1.8410917984167428) / Math.Sqrt((0.006666063172609473 / (299)) + (0.005977184467026416 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.35128536320414233 = (2.8380611350320297 - 1.8410917984167428) / 2.8380611350320297 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 1.8155498469447175 < 2.5164343980299146. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 115.29802879045191 (T) = (0 -1864.50091680373) / Math.Sqrt((1420.2189008563726 / (299)) + (565.0902919627054 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.28712509757842314 = (2615.4671885209805 - 1864.50091680373) / 2615.4671885209805 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.ElementAt(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 3.560352746776681 < 5.78906732029166. IsChangePoint: Marked as a change because one of 2/9/2023 4:10:34 PM, 3/3/2023 4:59:02 PM, 3/13/2023 2:14:21 PM, 4/6/2023 1:55:21 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 37.07176161094167 (T) = (0 -3.8806667792670453) / Math.Sqrt((0.23516249191211058 / (299)) + (0.0316455756118229 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3395435352944532 = (5.875734414980969 - 3.8806667792670453) / 5.875734414980969 is greater than 0.05. IsChangeEdgeDetector: Marked not as a 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 394.9271004172061 < 926.4491949101688. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 361.6756189531705 (T) = (0 -402.5382747840984) / Math.Sqrt((378.5193903245441 / (299)) + (19.65080651954179 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5905108013461878 = (983.025379197877 - 402.5382747840984) / 983.025379197877 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 133.70910083885877 < 474.981606048094. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 573.59105096309 (T) = (0 -134.51756922742743) / Math.Sqrt((96.68395195562893 / (299)) + (0.9867215672996694 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7267732928907193 = (492.3295041345476 - 134.51756922742743) / 492.3295041345476 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 132.51815483996492 < 460.46459209194643. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 347.9757469299457 (T) = (0 -132.2320787639774) / Math.Sqrt((313.6855793726956 / (299)) + (0.40452942231883365 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7318911263514466 = (493.2029177717999 - 132.2320787639774) / 493.2029177717999 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 122.18899482163995 < 328.27011904912825. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 430.96546422209167 (T) = (0 -122.79510599003508) / Math.Sqrt((62.572696584114595 / (299)) + (0.7001916232451589 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6397154741990214 = (340.82814330434826 - 122.79510599003508) / 340.82814330434826 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 29.21346502247908 < 32.84021220104268. IsChangePoint: Marked as a change because one of 3/5/2023 5:50:49 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 20.438281473672355 (T) = (0 -29.599301658213037) / Math.Sqrt((1.3551795525049466 / (299)) + (0.5969161770853567 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12692510404798027 = (33.90236255268492 - 29.599301658213037) / 33.90236255268492 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 5.405497708885945 < 9.371136869198573. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 287.7210413588533 (T) = (0 -5.433931822903294) / Math.Sqrt((0.06334989404615955 / (299)) + (0.00015948829099798518 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4412842034478181 = (9.72575297930705 - 5.433931822903294) / 9.72575297930705 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 68.42063097658169 < 106.9615631429058. IsChangePoint: Marked as a change because one of 3/15/2023 5:33:41 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 98.33119284628889 (T) = (0 -63.24474017780916) / Math.Sqrt((26.009057479671064 / (299)) + (3.191586495172888 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.45982219223789844 = (117.08133742077503 - 63.24474017780916) / 117.08133742077503 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Skip_One(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 234.0563649095281 < 769.5255344002727. IsChangePoint: Marked as a change because one of 2/2/2023 4:59:18 PM, 2/3/2023 2:46:32 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 589.700764029953 (T) = (0 -234.487717206203) / Math.Sqrt((267.2706734693616 / (299)) + (0.363309440085743 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7067162954914912 = (799.5252160332692 - 234.487717206203) / 799.5252160332692 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 698.7770760857054 < 934.8979677921678. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 358.58982249340653 (T) = (0 -700.2754512479257) / Math.Sqrt((100.4852653267693 / (299)) + (4.083551828057695 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2853999211845584 = (979.9543437061172 - 700.2754512479257) / 979.9543437061172 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 161.663494879184 < 477.21359994763907. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 541.1808281885715 (T) = (0 -160.01328269689537) / Math.Sqrt((100.46971559198218 / (299)) + (0.7070506466551665 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6767421186561328 = (495.00195333731216 - 160.01328269689537) / 495.00195333731216 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 262.2216839598638 < 532.409428255394. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 153.987744136089 (T) = (0 -266.4434005676219) / Math.Sqrt((126.77656855678292 / (299)) + (51.34869989026935 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5313065650152211 = (568.4811876579299 - 266.4434005676219) / 568.4811876579299 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 83.29757469005325 < 204.54846165465574. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 211.8418883426197 (T) = (0 -84.09756518976398) / Math.Sqrt((90.33520453153791 / (299)) + (0.7199851041860631 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.598478090628286 = (209.44701453865025 - 84.09756518976398) / 209.44701453865025 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.Distinct(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.3762219464170655 < 1.6460199742921038. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 74.38516817186043 (T) = (0 -1376.711615103934) / Math.Sqrt((240.85058947275155 / (299)) + (312.5460328318672 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.2062587437296506 = (1734.458936370348 - 1376.711615103934) / 1734.458936370348 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 155.621437256442 < 455.53908710347184. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 397.3514585035936 (T) = (0 -155.70584606610507) / Math.Sqrt((201.57086150535747 / (299)) + (0.2891420729308076 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6800055487373143 = (486.5892063180968 - 155.70584606610507) / 486.5892063180968 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.WhereAny_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 218.7960808955843 < 491.11776799849156. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 1151.0399192722555 (T) = (0 -219.44882350557188) / Math.Sqrt((4.475777525906853 / (299)) + (0.7779943811520608 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5755522720494739 = (517.0220242789261 - 219.44882350557188) / 517.0220242789261 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 152.19345251071869 < 459.0181358400985. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 1296.6317643971802 (T) = (0 -151.81089811652464) / Math.Sqrt((1.9526640519928398 / (299)) + (0.8722535968371906 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.684762302347702 = (481.57596393807427 - 151.81089811652464) / 481.57596393807427 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 266.49265354506895 < 709.0750086068988. IsChangePoint: Marked as a change because one of 2/20/2023 10:31:48 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 299.8557720663611 (T) = (0 -267.0644609138321) / Math.Sqrt((742.4734514894049 / (299)) + (0.7648777895547259 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6412392105588691 = (744.4081649219771 - 267.0644609138321) / 744.4081649219771 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 158.04128271328477 < 308.18359646256124. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 166.63776095154654 (T) = (0 -158.18709300045109) / Math.Sqrt((343.97391197645715 / (299)) + (0.3084012618605082 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5326937984297422 = (338.5084393678183 - 158.18709300045109) / 338.5084393678183 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 209.35200501274292 < 464.06820607819145. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 546.4043948074557 (T) = (0 -208.70352330721343) / Math.Sqrt((78.4695341725856 / (299)) + (0.20459115010106702 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.5794881249305552 = (496.3082749393163 - 208.70352330721343) / 496.3082749393163 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 156.29770621940983 < 350.34077149732695. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 347.3441000576083 (T) = (0 -155.75429761158384) / Math.Sqrt((98.91326072806909 / (299)) + (0.21059528127411542 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5670236847485121 = (359.7293711576723 - 155.75429761158384) / 359.7293711576723 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 237.540867962743 < 790.7929071266268. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 561.5108327036187 (T) = (0 -239.02755445900695) / Math.Sqrt((311.3455007703443 / (299)) + (2.038560134465661 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7182138178958799 = (848.2586075518999 - 239.02755445900695) / 848.2586075518999 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_Enumerable.WhereAny_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 144.4627590842121 < 181.15251002490103. IsChangePoint: Marked as a change because one of 2/9/2023 4:10:34 PM, 3/3/2023 4:59:02 PM, 3/13/2023 2:14:21 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 88.23356160710529 (T) = (0 -142.36972744938777) / Math.Sqrt((102.71774742237031 / (299)) + (0.6486071737924215 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2782031643113597 = (197.24349070269608 - 142.36972744938777) / 197.24349070269608 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_String

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ToUpper - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.ToUpper(s%3a%20%22TEST%22).html>) 14.44 ns 8.85 ns 0.61 0.39 False
[Format_OneArg - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.Format_OneArg(s%3a%20%22Testing%20%7b0%7d%2c%20%7b0%3aC%7d%2c%20%7b0%3aD5%7d%2c%20%7b0%3aE%7d%20-%20%7b0%3aF4%7d%7b0%3aG%7d%7b0%3aN%7d%20%20%7b0%3aX%7d%20!!%22%2c%20o%3a%208).html>) 398.51 ns 337.09 ns 0.85 0.02 False
[Format_MultipleArgs - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.Format_MultipleArgs.html>) 215.11 ns 178.48 ns 0.83 0.06 False
[Format_OneArg - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.Format_OneArg(s%3a%20%22Testing%20%7b0%7d%2c%20%7b0%3aC%7d%2c%20%7b0%3aE%7d%20-%20%7b0%3aF4%7d%7b0%3aG%7d%7b0%3aN%7d%20%2c%20!!%22%2c%20o%3a%203.14159).html>) 871.63 ns 731.00 ns 0.84 0.00 True
[ToUpper - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.ToUpper(s%3a%20%22TeSt%22).html>) 27.05 ns 19.60 ns 0.72 0.37 False
[TrimEnd - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.TrimEnd(s%3a%20%22Test%20%22).html>) 11.60 ns 8.79 ns 0.76 0.06 False
[CtorCharCount - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.CtorCharCount(size%3a%2010).html>) 10.46 ns 8.90 ns 0.85 0.06 False
[Interpolation_MultipleArgs - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.Interpolation_MultipleArgs(c%3a%20%271%27%2c%20s%3a%20%22Foo%22).html>) 75.83 ns 66.48 ns 0.88 0.19 False
[Split - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.Split(s%3a%20%22A%20B%20C%20D%20E%20F%20G%20H%20I%20J%20K%20L%20M%20N%20O%20P%20Q%20R%20S%20T%20U%20V%20W%20X%20Y%20Z%22%2c%20arr%3a%20%5b%27%20%27%5d%2c%20options%3a%20None).html>) 306.98 ns 257.84 ns 0.84 0.13 False
[Split - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.Split(s%3a%20%22ABCDEFGHIJKLMNOPQRSTUVWXYZ%22%2c%20arr%3a%20%5b%27%20%27%5d%2c%20options%3a%20None).html>) 17.52 ns 14.81 ns 0.85 0.08 True
[Trim - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.Trim(s%3a%20%22%20Te%20st%20%20%22).html>) 15.93 ns 12.19 ns 0.77 0.03 True
[Split - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.Split(s%3a%20%22ABCDEFGHIJKLMNOPQRSTUVWXYZ%22%2c%20arr%3a%20%5b%27%20%27%5d%2c%20options%3a%20RemoveEmptyEntries).html>) 18.23 ns 15.20 ns 0.83 0.07 True
[Trim - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.Trim(s%3a%20%22%20Test%22).html>) 14.04 ns 10.33 ns 0.74 0.06 False
[Trim - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.Trim(s%3a%20%22Test%20%22).html>) 14.07 ns 10.73 ns 0.76 0.07 False
[CtorCharCount - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.CtorCharCount(size%3a%20100).html>) 16.49 ns 14.84 ns 0.90 0.06 False
[ToUpper - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.ToUpper(s%3a%20%22test%22).html>) 29.42 ns 20.42 ns 0.69 0.36 False
[Join_Array - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.Join_Array.html>) 45.62 ns 32.09 ns 0.70 0.03 False
[Split - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_String.Split(s%3a%20%22A%20B%20C%20D%20E%20F%20G%20H%20I%20J%20K%20L%20M%20N%20O%20P%20Q%20R%20S%20T%20U%20V%20W%20X%20Y%20Z%22%2c%20arr%3a%20%5b%27%20%27%5d%2c%20options%3a%20RemoveEmptyEntries).html>) 369.80 ns 296.81 ns 0.80 0.20 False

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

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_String*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Tests.Perf_String.ToUpper(s: "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 8.848009365448505 < 13.72898909504993. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 30.04961443514786 (T) = (0 -9.11791924190447) / Math.Sqrt((1.1443631897189657 / (299)) + (0.3942778843493681 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.370853358997027 = (14.492518353700284 - 9.11791924190447) / 14.492518353700284 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_String.Format_OneArg(s: "Testing {0}, {0:C}, {0:D5}, {0:E} - {0:F4}{0:G}{0:N} {0:X} !!", o: 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 337.0913227825387 < 375.521781484646. IsChangePoint: Marked as a change because one of 3/2/2023 2:22:24 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 14.20449119708669 (T) = (0 -358.902229157171) / Math.Sqrt((103.12632335362782 / (299)) + (86.8353848161016 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.08927056777449104 = (394.08216804867897 - 358.902229157171) / 394.08216804867897 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_String.Format_MultipleArgs ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 178.48049426685583 < 206.05948985435288. IsChangePoint: Marked as a change because one of 3/2/2023 2:22:24 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 43.18087201378328 (T) = (0 -176.8336167196667) / Math.Sqrt((89.93885715969682 / (299)) + (4.86849846257668 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16185079812330116 = (210.98107153680846 - 176.8336167196667) / 210.98107153680846 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_String.Format_OneArg(s: "Testing {0}, {0:C}, {0:E} - {0:F4}{0:G}{0:N} , !!", o: 3.14159) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 730.9953188318566 < 823.9089229832562. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 71.05228427993163 (T) = (0 -713.136215694142) / Math.Sqrt((77.80831388742868 / (299)) + (60.23563116603206 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.170830212789384 = (860.0605409094574 - 713.136215694142) / 860.0605409094574 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_String.ToUpper(s: "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 19.599969718663722 < 25.1126903169669. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 4.2077877922032325 (T) = (0 -24.75390290242848) / Math.Sqrt((2.55832634269142 / (299)) + (3.6615203090807635 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.0787171465795163 = (26.86894997613781 - 24.75390290242848) / 26.86894997613781 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_String.TrimEnd(s: "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 8.788242994785962 < 11.023770005452302. IsChangePoint: Marked as a change because one of 2/9/2023 4:10:34 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 71.64596254565798 (T) = (0 -8.532288608118693) / Math.Sqrt((0.16983701722236358 / (299)) + (0.02821282559988846 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.29355408559271645 = (12.077766229672916 - 8.532288608118693) / 12.077766229672916 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_String.CtorCharCount(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 8.904184323472053 < 9.890850617366983. IsChangePoint: Marked as a change because one of 2/9/2023 4:10:34 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 31.581552127163448 (T) = (0 -8.516756728653158) / Math.Sqrt((0.07371041977994382 / (299)) + (0.07341055415891552 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21002759865461942 = (10.78108135695437 - 8.516756728653158) / 10.78108135695437 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_String.Interpolation_MultipleArgs(c: '1', s: "Foo") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.48462712296272 < 71.75014827317041. IsChangePoint: Marked as a change because one of 3/22/2023 7:51:01 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 8.565064109565554 (T) = (0 -66.59393285056356) / Math.Sqrt((7.436010214542877 / (299)) + (2.713748042216902 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.05512857001281717 = (70.47935913510149 - 66.59393285056356) / 70.47935913510149 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_String.Split(s: "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z", arr: [' '], 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 257.84135129040385 < 277.4332990486572. IsChangePoint: Marked as a change because one of 3/21/2023 10:36:00 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 47.310761399004384 (T) = (0 -263.20375437601155) / Math.Sqrt((60.20925798867447 / (299)) + (4.948605146968932 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.11584004125236215 = (297.6879373149002 - 263.20375437601155) / 297.6879373149002 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_String.Split(s: "ABCDEFGHIJKLMNOPQRSTUVWXYZ", arr: [' '], 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 14.811673112424725 < 16.99388653935759. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 33.65394188970353 (T) = (0 -13.426340674604388) / Math.Sqrt((0.17490526631071107 / (299)) + (0.2648771024451896 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.25292678396232554 = (17.971920805587153 - 13.426340674604388) / 17.971920805587153 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_String.Trim(s: " Te st ") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.19469229462311 < 15.15343019123707. IsChangePoint: Marked as a change because one of 4/4/2023 8:16:00 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 34.9787923858799 (T) = (0 -11.2468362020524) / Math.Sqrt((0.1958741702565207 / (299)) + (0.16341287529340023 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.25050690735183806 = (15.005923753498893 - 11.2468362020524) / 15.005923753498893 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_String.Split(s: "ABCDEFGHIJKLMNOPQRSTUVWXYZ", arr: [' '], options: RemoveEmptyEntries) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.203086222064899 < 17.297337027511627. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 35.513153994469114 (T) = (0 -13.661451107972734) / Math.Sqrt((0.17069597490987412 / (299)) + (0.29485928297980335 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.26992279083829823 = (18.712337457649518 - 13.661451107972734) / 18.712337457649518 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_String.Trim(s: " 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 10.334369084016283 < 13.356264049780373. IsChangePoint: Marked as a change because one of 4/4/2023 8:16:00 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 37.06525397763062 (T) = (0 -9.519034677210344) / Math.Sqrt((0.24004460751448187 / (299)) + (0.12980557815889032 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.27465366304221717 = (13.123433858003171 - 9.519034677210344) / 13.123433858003171 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_String.Trim(s: "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 10.734419288601734 < 13.442085263023618. IsChangePoint: Marked as a change because one of 4/4/2023 8:16:00 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 39.707752728879974 (T) = (0 -10.637150685402196) / Math.Sqrt((0.6977431333852603 / (299)) + (0.016335004245131138 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.18090192728965448 = (12.986418891457665 - 10.637150685402196) / 12.986418891457665 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_String.CtorCharCount(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 14.838028906846755 < 15.863218963825238. IsChangePoint: Marked as a change because one of 3/16/2023 8:14:39 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 11.575636921812327 (T) = (0 -15.128963635857781) / Math.Sqrt((0.15735763429964902 / (299)) + (0.13334869505989053 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.0691145713467502 = (16.252229512009308 - 15.128963635857781) / 16.252229512009308 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_String.ToUpper(s: "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 20.42410400534632 < 27.19466417601763. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 4.400432382733474 (T) = (0 -24.871666238898634) / Math.Sqrt((1.9579718511630502 / (299)) + (2.547314097639122 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.06916327149770897 = (26.71968722046126 - 24.871666238898634) / 26.71968722046126 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_String.Join_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 32.091607613018994 < 41.80702243512695. IsChangePoint: Marked as a change because one of 2/9/2023 12:40:40 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 117.00081363723959 (T) = (0 -32.065377974771295) / Math.Sqrt((1.5619479789932866 / (299)) + (0.1028614360790078 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.28625499334737137 = (44.925537378052915 - 32.065377974771295) / 44.925537378052915 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_String.Split(s: "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z", arr: [' '], options: RemoveEmptyEntries) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.8082469619412 < 351.30424855407006. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 38.81726743800568 (T) = (0 -304.8843510153093) / Math.Sqrt((139.9957501259393 / (299)) + (28.890160861428885 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16458000641978068 = (364.94739575086965 - 304.8843510153093) / 364.94739575086965 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.CreateAddAndClear(Int32).ImmutableDictionary(Size%3a%20512).html>) 202.46 μs 144.06 μs 0.71 0.01 True
[ConcurrentBag - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.CreateAddAndClear(Int32).ConcurrentBag(Size%3a%20512).html>) 10.77 μs 9.73 μs 0.90 0.35 False
[Stack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.CreateAddAndClear(Int32).Stack(Size%3a%20512).html>) 934.45 ns 826.21 ns 0.88 0.05 False
[ImmutableList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.CreateAddAndClear(Int32).ImmutableList(Size%3a%20512).html>) 78.89 μs 69.38 μs 0.88 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CreateAddAndClear&lt;Int32&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 144.06278256321227 < 195.84385450884534. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 156.98892117380075 (T) = (0 -144617.05623858035) / Math.Sqrt((6542379.952621338 / (299)) + (1822324.9574745465 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.29129969907865844 = (204059.5383557363 - 144617.05623858035) / 204059.5383557363 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<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 9.727826761221946 < 10.793926380086534. IsChangePoint: Marked as a change because one of 4/9/2023 4:09:45 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 14.495825883989715 (T) = (0 -9671.171606200458) / Math.Sqrt((339766.8245794313 / (299)) + (29710.825834294603 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.0772208569044486 = (10480.483524754995 - 9671.171606200458) / 10480.483524754995 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<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 826.2096638616912 < 886.9153471590578. IsChangePoint: Marked as a change because one of 2/23/2023 8:54:44 PM, 3/3/2023 4:59:02 PM, 3/13/2023 2:14:21 PM, 3/20/2023 8:31:51 AM, 4/6/2023 1:55:21 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 45.226135316752654 (T) = (0 -833.4479717485277) / Math.Sqrt((661.7126801124671 / (299)) + (76.0190001200355 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.127721046059666 = (955.4832980706509 - 833.4479717485277) / 955.4832980706509 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<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 69.38361156746032 < 71.1303152526598. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 12.958475131298457 (T) = (0 -69810.77206029298) / Math.Sqrt((1646219.5168370875 / (299)) + (2105679.101203466 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.06620451267366419 = (74760.23712662903 - 69810.77206029298) / 74760.23712662903 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig

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.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern%3a%20%22.%7b0%2c2%7d(Tom%7cSawyer%7cHuckleberry%7cFinn)%22%2c%20Options%3a%20NonBacktracking).html>) 52.35 ms 47.69 ms 0.91 0.08 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern%3a%20%22.%7b0%2c2%7d(Tom%7cSawyer%7cHuckleberry%7cFinn)%22%2c%20Options%3a%20None).html>) 4.68 secs 2.71 secs 0.58 0.06 True
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern%3a%20%22.%7b2%2c4%7d(Tom%7cSawyer%7cHuckleberry%7cFinn)%22%2c%20Options%3a%20None).html>) 4.74 secs 2.75 secs 0.58 0.06 True
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern%3a%20%22Tom.%7b10%2c25%7driver%7criver.%7b10%2c25%7dTom%22%2c%20Options%3a%20None).html>) 41.27 ms 35.02 ms 0.85 0.12 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern%3a%20%22.%7b0%2c2%7d(Tom%7cSawyer%7cHuckleberry%7cFinn)%22%2c%20Options%3a%20Compiled).html>) 277.03 ms 218.96 ms 0.79 0.04 True
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern%3a%20%22(%5bA-Za-z%5dawyer%7c%5bA-Za-z%5dinn)%5c%5cs%22%2c%20Options%3a%20None).html>) 716.75 ms 578.14 ms 0.81 0.14 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern%3a%20%22.%7b2%2c4%7d(Tom%7cSawyer%7cHuckleberry%7cFinn)%22%2c%20Options%3a%20Compiled).html>) 282.78 ms 226.57 ms 0.80 0.02 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: ".{0,2}(Tom|Sawyer|Huckleberry|Finn)", 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 47.68600040384615 < 50.02237842416667. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 16.655168155212554 (T) = (0 -48197403.43495422) / Math.Sqrt((2409412977550.439 / (299)) + (1082719999556.1995 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.08915845037812854 = (52915244.649261974 - 48197403.43495422) / 52915244.649261974 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_Leipzig.Count(Pattern: ".{0,2}(Tom|Sawyer|Huckleberry|Finn)", 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.7080154023846155 < 4.459805366055594. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 160.62380666105264 (T) = (0 -2794671007.2774115) / Math.Sqrt((9245053023113438 / (299)) + (1340555640578871.2 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3866417316543523 = (4556343578.468761 - 2794671007.2774115) / 4556343578.468761 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: ".{2,4}(Tom|Sawyer|Huckleberry|Finn)", 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.7548041296 < 4.4861352880467935. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 168.32606434177595 (T) = (0 -2758262613.2933335) / Math.Sqrt((10233250229691922 / (299)) + (1135457963896407.8 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3901772349474067 = (4523056158.875031 - 2758262613.2933335) / 4523056158.875031 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: "Tom.{10,25}river|river.{10,25}Tom", 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 35.023872583333336 < 39.872438223392855. IsChangePoint: Marked as a change because one of 2/23/2023 8:54:44 PM, 2/24/2023 9:01:57 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 31.24994816630929 (T) = (0 -36736071.50779347) / Math.Sqrt((3728786526993.05 / (299)) + (502555411358.4517 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15425966568566357 = (43436584.5133499 - 36736071.50779347) / 43436584.5133499 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_Leipzig.Count(Pattern: ".{0,2}(Tom|Sawyer|Huckleberry|Finn)", 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 218.95699869230768 < 263.3267395607143. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 58.25040369348412 (T) = (0 -222162385.15964592) / Math.Sqrt((8479097314728.641 / (299)) + (13180379858934.955 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.19981735055018096 = (277639593.050909 - 222162385.15964592) / 277639593.050909 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: "([A-Za-z]awyer|[A-Za-z]inn)\\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 578.1444404285714 < 666.6312291825. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 57.17534427439756 (T) = (0 -583577746.324127) / Math.Sqrt((348450747257693.6 / (299)) + (54984684841002.85 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.17718678086094553 = (709246925.972762 - 583577746.324127) / 709246925.972762 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_Leipzig.Count(Pattern: ".{2,4}(Tom|Sawyer|Huckleberry|Finn)", 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 226.56694546153847 < 268.6185693803571. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 246.7038324517233 (T) = (0 -228587297.9524725) / Math.Sqrt((4798696948576.622 / (299)) + (462674216701.9747 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.19298884176025188 = (283251719.1597039 - 228587297.9524725) / 283251719.1597039 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[NotFiltered - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.Logging.ScopesOverheadBenchmark.NotFiltered(HasISupportLoggingScopeLogger%3a%20False%2c%20CaptureScopes%3a%20False).html>) 32.39 ns 29.97 ns 0.93 0.16 False
[NotFiltered_InsideScope - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.Logging.ScopesOverheadBenchmark.NotFiltered_InsideScope(HasISupportLoggingScopeLogger%3a%20False%2c%20CaptureScopes%3a%20False).html>) 39.44 ns 34.42 ns 0.87 0.11 False
[NotFiltered_InsideScope - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.Logging.ScopesOverheadBenchmark.NotFiltered_InsideScope(HasISupportLoggingScopeLogger%3a%20True%2c%20CaptureScopes%3a%20True).html>) 119.51 ns 95.85 ns 0.80 0.21 False

graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Logging.ScopesOverheadBenchmark*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### Microsoft.Extensions.Logging.ScopesOverheadBenchmark.NotFiltered(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 29.96848857209115 < 31.60892343391884. IsChangePoint: Marked as a change because one of 3/16/2023 10:20:48 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 16.92367325028422 (T) = (0 -29.939641306634638) / Math.Sqrt((1.263081367915845 / (299)) + (0.6605333692802544 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.11046039301474787 = (33.65745726387989 - 29.939641306634638) / 33.65745726387989 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 34.415545883719176 < 38.52712130402899. IsChangePoint: Marked as a change because one of 3/2/2023 1:15:31 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 25.8527580363999 (T) = (0 -35.19235031737677) / Math.Sqrt((1.393160655321828 / (299)) + (0.6263811511862489 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.13664449930415362 = (40.76229350367546 - 35.19235031737677) / 40.76229350367546 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 95.84545654973527 < 103.19566052448428. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 16.274849801649218 (T) = (0 -93.76117779395845) / Math.Sqrt((15.037303618460701 / (299)) + (10.142685766180957 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12887884821327739 = (107.63276451461265 - 93.76117779395845) / 107.63276451461265 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Xml.Linq.Perf_XDocument

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[CreateWithRootlEement - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Xml.Linq.Perf_XDocument.CreateWithRootlEement.html>) 47.97 ns 35.83 ns 0.75 0.06 True
[GetElement - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Xml.Linq.Perf_XDocument.GetElement.html>) 20.84 ns 15.26 ns 0.73 0.39 False
[GetRootElement - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Xml.Linq.Perf_XDocument.GetRootElement.html>) 5.79 ns 3.25 ns 0.56 0.04 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Xml.Linq.Perf_XDocument*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Xml.Linq.Perf_XDocument.CreateWithRootlEement ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.82522648945574 < 45.55509759307452. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 62.429839523654834 (T) = (0 -36.20073218774314) / Math.Sqrt((0.8998674554757423 / (299)) + (0.37573917546311353 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.22412956335846146 = (46.65821827732343 - 36.20073218774314) / 46.65821827732343 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XDocument.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 15.260038911467335 < 19.81743006944656. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 33.57857829349563 (T) = (0 -15.110898374187208) / Math.Sqrt((0.7240783734498717 / (299)) + (0.397956894288991 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.27436580960076357 = (20.824402397402675 - 15.110898374187208) / 20.824402397402675 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XDocument.GetRootElement ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.248532929772181 < 5.49515991519632. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 355.6995001835897 (T) = (0 -3.2425072984423573) / Math.Sqrt((0.007223469337804783 / (299)) + (0.0004416939159583064 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.44541972658331486 = (5.846777200468672 - 3.2425072984423573) / 5.846777200468672 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeToStream(Mode%3a%20SourceGen).html>) 323.60 ns 263.85 ns 0.82 0.14 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeToWriter(Mode%3a%20SourceGen).html>) 174.34 ns 141.44 ns 0.81 0.01 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeObjectProperty(Mode%3a%20Reflection).html>) 516.73 ns 407.39 ns 0.79 0.04 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 346.43 ns 264.54 ns 0.76 0.04 True
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeToWriter(Mode%3a%20Reflection).html>) 268.44 ns 180.23 ns 0.67 0.09 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 459.53 ns 372.89 ns 0.81 0.01 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeToString(Mode%3a%20Reflection).html>) 367.24 ns 284.64 ns 0.78 0.06 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 261.48 ns 210.82 ns 0.81 0.08 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(ClassRecord).SerializeToStream(Mode%3a%20Reflection).html>) 421.39 ns 330.18 ns 0.78 0.05 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
py .\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>.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 263.8458170742282 < 298.9007084635544. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 24.94514823941086 (T) = (0 -264.37412620019876) / Math.Sqrt((58.88490363787195 / (299)) + (55.559188774044635 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15708432969781716 = (313.64243840124766 - 264.37412620019876) / 313.64243840124766 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 141.44047468980744 < 165.5950588403876. IsChangePoint: Marked as a change because one of 3/25/2023 12:18:49 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 52.13828241382099 (T) = (0 -141.71290677476844) / Math.Sqrt((12.989666680745213 / (299)) + (6.407532967426677 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20152924860287816 = (177.48039803187118 - 141.71290677476844) / 177.48039803187118 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 407.39262997344224 < 486.5960015806689. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 75.09358544181148 (T) = (0 -409.79496256317844) / Math.Sqrt((80.98238287014912 / (299)) + (29.281785027439863 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21458584681539022 = (521.7565292165764 - 409.79496256317844) / 521.7565292165764 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 264.53848786120153 < 328.94226078347583. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 69.51822632171252 (T) = (0 -262.61906408299416) / Math.Sqrt((40.19814335643176 / (299)) + (21.552456265039048 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.24914589237606244 = (349.7604413646305 - 262.61906408299416) / 349.7604413646305 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 180.2316550123342 < 254.98243892396135. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 66.32908472253568 (T) = (0 -185.3902429845048) / Math.Sqrt((38.66864255584663 / (299)) + (24.69871823988125 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.32285575260866145 = (273.78249715435174 - 185.3902429845048) / 273.78249715435174 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 372.88990801125766 < 433.2827911310482. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 98.83706562371287 (T) = (0 -371.3562415029473) / Math.Sqrt((42.639604161014795 / (299)) + (7.111514199379903 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.17287762516270608 = (448.9737586605586 - 371.3562415029473) / 448.9737586605586 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 284.63941809479184 < 358.37517401099825. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 53.6708163608817 (T) = (0 -287.01236453062023) / Math.Sqrt((52.517327565917874 / (299)) + (39.75221619895617 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.23916519719662666 = (377.23348547292255 - 287.01236453062023) / 377.23348547292255 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: 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 210.82229804334008 < 245.67121159011896. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 32.047311370481786 (T) = (0 -214.63668131726482) / Math.Sqrt((30.738378935752074 / (299)) + (24.259366385809525 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16375589586191722 = (256.6674972716142 - 214.63668131726482) / 256.6674972716142 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 330.1788747819497 < 415.32508689896196. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 64.55472552952725 (T) = (0 -328.37551598575266) / Math.Sqrt((70.0058801865885 / (299)) + (31.506688533119334 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.23656835164704285 = (430.13086593173944 - 328.37551598575266) / 430.13086593173944 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Xml_ToStream<LoginViewModel>

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_x64_alpine 3.15/MicroBenchmarks.Serializers.Xml_ToStream(LoginViewModel).DataContractSerializerBinaryXml.html>) 489.86 ns 335.04 ns 0.68 0.03 True
[DataContractSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.XmlToStream(LoginViewModel).DataContractSerializer.html>) 826.89 ns 587.48 ns 0.71 0.02 True
[XmlSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.XmlToStream(LoginViewModel).XmlSerializer.html>) 1.35 μs 1.24 μs 0.92 0.01 False

graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;LoginViewModel&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### MicroBenchmarks.Serializers.Xml_ToStream<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 335.0374520880135 < 466.7248888248654. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 115.19576899982412 (T) = (0 -337.14217389473725) / Math.Sqrt((246.0240146388094 / (180)) + (12.561864013273793 / (15))) is greater than 1.9723316757956526 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (180) + (15) - 2, .975) and 0.33655680224599305 = (508.1703679170792 - 337.14217389473725) / 508.1703679170792 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Xml_ToStream<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 587.4842117291828 < 787.7679467163482. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 89.8759751289084 (T) = (0 -594.6214384053706) / Math.Sqrt((188.70790581353114 / (299)) + (85.13068092284018 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2751390625877582 = (820.3248481400763 - 594.6214384053706) / 820.3248481400763 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Xml_ToStream<LoginViewModel>.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.2380242702918831 < 1.3016523084298033. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 24.590368101879353 (T) = (0 -1251.7570816120858) / Math.Sqrt((357.11431894698023 / (299)) + (206.2273044640014 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.07057879767129661 = (1346.813563619763 - 1251.7570816120858) / 1346.813563619763 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[ILogB - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.MathBenchmarks.Single.ILogB.html>) 10.24 μs 4.73 μs 0.46 0.00 True
[Hypot - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.MathBenchmarks.Single.Hypot.html>) 15.15 μs 9.84 μs 0.65 0.04 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.MathBenchmarks.Single*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 4.726555079701372 < 9.72448590274367. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 9627.250299854608 (T) = (0 -4724.327080660905) / Math.Sqrt((33.8330340879579 / (299)) + (3.2157010290737977 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5383721130259989 = (10234.059106847197 - 4724.327080660905) / 10234.059106847197 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 9.839918693587322 < 14.389621914057704. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 137.06358699519842 (T) = (0 -9845.196470102042) / Math.Sqrt((447988.98196557775 / (299)) + (20.12531966366356 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.3502878149561687 = (15153.165812086254 - 9845.196470102042) / 15153.165812086254 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[CreateElementsWithNamespace - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Xml.Linq.Perf_XElement.CreateElementsWithNamespace.html>) 88.21 ns 67.57 ns 0.77 0.02 True
[GetAttribute - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Xml.Linq.Perf_XElement.GetAttribute.html>) 14.32 ns 8.92 ns 0.62 0.32 True
[GetElement - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Xml.Linq.Perf_XElement.GetElement.html>) 22.98 ns 17.76 ns 0.77 0.28 False
[CreateElementWithNamespace - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Xml.Linq.Perf_XElement.CreateElementWithNamespace.html>) 59.25 ns 39.40 ns 0.66 0.11 True
[CreateWithElements - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Xml.Linq.Perf_XElement.CreateWithElements.html>) 53.57 ns 43.69 ns 0.82 0.04 False
[GetElementWithNamespace - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Xml.Linq.Perf_XElement.GetElementWithNamespace.html>) 49.48 ns 35.57 ns 0.72 0.05 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Xml.Linq.Perf_XElement*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 67.57162889840126 < 82.76556925908176. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 101.4179967006173 (T) = (0 -66.30857061119424) / Math.Sqrt((1.3750919605686323 / (299)) + (0.47470655510143084 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.22552039771547197 = (85.61693608921391 - 66.30857061119424) / 85.61693608921391 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 8.921958813312463 < 13.681163170322032. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 31.072424602505833 (T) = (0 -9.370897771558212) / Math.Sqrt((0.4390223336397373 / (299)) + (0.4107570898286266 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.360297243898342 = (14.64883132388606 - 9.370897771558212) / 14.64883132388606 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 17.75782823451568 < 21.724196268224517. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 33.51366111670086 (T) = (0 -17.024820153232792) / Math.Sqrt((0.8371297408803359 / (299)) + (0.45688376853242346 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2641636704508842 = (23.13669422066285 - 17.024820153232792) / 23.13669422066285 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 39.39931473184491 < 54.22017170001702. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 115.86517026185506 (T) = (0 -40.38601754235221) / Math.Sqrt((1.5759749889068637 / (299)) + (0.21738593908677517 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.29266073691934336 = (57.09568187472022 - 40.38601754235221) / 57.09568187472022 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XElement.CreateWithElements ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.687336211369654 < 50.72709807403541. IsChangePoint: Marked as a change because one of 3/13/2023 6:11:08 PM, 4/6/2023 1:55:21 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 60.10186628543901 (T) = (0 -43.48948135307078) / Math.Sqrt((2.4126058920497133 / (299)) + (0.3249733677751064 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.19244302063108396 = (53.85314282969436 - 43.48948135307078) / 53.85314282969436 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 35.569770023647955 < 47.15369531672662. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 31.7802829200291 (T) = (0 -36.653331843456456) / Math.Sqrt((1.0954729414445257 / (299)) + (2.2255690451320254 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2526590910512504 = (49.04499593768395 - 36.653331843456456) / 49.04499593768395 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeToWriter(Mode%3a%20Reflection).html>) 6.21 μs 4.32 μs 0.69 0.02 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeObjectProperty(Mode%3a%20Reflection).html>) 7.15 μs 5.26 μs 0.74 0.03 True
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeToStream(Mode%3a%20Reflection).html>) 6.89 μs 4.89 μs 0.71 0.01 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 6.66 μs 4.74 μs 0.71 0.01 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 6.22 μs 4.98 μs 0.80 0.01 True
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeToWriter(Mode%3a%20SourceGen).html>) 5.35 μs 4.16 μs 0.78 0.02 True
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeToStream(Mode%3a%20SourceGen).html>) 5.44 μs 4.25 μs 0.78 0.00 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeToString(Mode%3a%20Reflection).html>) 7.00 μs 5.10 μs 0.73 0.01 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 5.58 μs 4.43 μs 0.79 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
py .\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>>.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 4.315904806489716 < 5.912396936115489. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 209.0247279807503 (T) = (0 -4301.9852718822995) / Math.Sqrt((11948.603460600738 / (299)) + (917.5305428472726 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3282362676259718 = (6404.015377071618 - 4301.9852718822995) / 6404.015377071618 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 5.257849172024158 < 6.789477609504862. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 138.6394348997536 (T) = (0 -5261.538135043882) / Math.Sqrt((20932.316019314905 / (299)) + (2475.193114393226 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.287723652133099 = (7386.933668092367 - 5261.538135043882) / 7386.933668092367 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 4.885302358094492 < 6.531864439032275. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 272.3201048081774 (T) = (0 -4906.1844857330225) / Math.Sqrt((13789.04941141185 / (299)) + (280.6916800967283 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.31105633099433744 = (7121.314421560782 - 4906.1844857330225) / 7121.314421560782 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 4.736688664772727 < 6.271582211237357. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 175.299120671095 (T) = (0 -4744.500823347161) / Math.Sqrt((20399.276465232673 / (299)) + (1030.5181370302057 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3018451833215745 = (6795.771811644619 - 4744.500823347161) / 6795.771811644619 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: 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.983175434285715 < 5.867987001926713. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 182.87593442226063 (T) = (0 -5017.579893957157) / Math.Sqrt((4082.5998526128233 / (299)) + (555.581304660631 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20603361793215696 = (6319.637716762186 - 5017.579893957157) / 6319.637716762186 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: 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.163953867675091 < 4.941323025729683. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 54.18869316838846 (T) = (0 -4214.056823664456) / Math.Sqrt((7367.517699429234 / (299)) + (6222.482821387494 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21233277031545836 = (5350.047158051977 - 4214.056823664456) / 5350.047158051977 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 4.245598360256909 < 5.18514518283017. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 175.44250573610233 (T) = (0 -4258.344029616802) / Math.Sqrt((4234.737141333532 / (299)) + (654.435645617906 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.23850402571058912 = (5592.0768768219305 - 4258.344029616802) / 5592.0768768219305 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 5.095044068684006 < 6.584975290566753. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 113.10911158561566 (T) = (0 -5050.985666692979) / Math.Sqrt((18846.79926970148 / (299)) + (4121.247271840967 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2915672386152904 = (7129.802490811228 - 5050.985666692979) / 7129.802490811228 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: 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.4292263256805136 < 5.395691889873074. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 133.08913021093937 (T) = (0 -4462.176432909937) / Math.Sqrt((4448.975075363183 / (299)) + (1143.1751069791922 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.22158693522641312 = (5732.4017733538785 - 4462.176432909937) / 5732.4017733538785 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[IterateGetPositionSingleSegment - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Buffers.Tests.ReadOnlySequenceTests(Byte).IterateGetPositionSingleSegment.html>) 22.80 ns 17.84 ns 0.78 0.03 True
[IterateGetPositionTenSegments - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Buffers.Tests.ReadOnlySequenceTests(Byte).IterateGetPositionTenSegments.html>) 48.10 ns 44.40 ns 0.92 0.03 False

graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Tests.ReadOnlySequenceTests&lt;Byte&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Buffers.Tests.ReadOnlySequenceTests<Byte>.IterateGetPositionSingleSegment ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.839372424364466 < 21.547169985584244. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 55.882833204641145 (T) = (0 -17.766641211935926) / Math.Sqrt((0.053956693727850724 / (299)) + (0.10752569907199276 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.21806222006234702 = (22.72129786765455 - 17.766641211935926) / 22.72129786765455 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### 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 44.39627944939917 < 46.12334074351239. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 58.19367037960087 (T) = (0 -44.1145873225457) / Math.Sqrt((0.43629901169247953 / (299)) + (0.059785299078512225 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.08870473892633082 = (48.40866534362399 - 44.1145873225457) / 48.40866534362399 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt16).GetHashCodeBenchmark.html>) 24.42 ns 20.28 ns 0.83 0.03 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
py .\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 20.284879467237264 < 23.196591881533625. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 30.874369691931133 (T) = (0 -17.481250249807875) / Math.Sqrt((0.6910474910727803 / (299)) + (0.6311562283447236 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.271190185836739 = (23.98602476268506 - 17.481250249807875) / 23.98602476268506 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.IO.Pipelines.Tests.Perf_Pipe

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ReadAsyncWithCancellationToken - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.IO.Pipelines.Tests.Perf_Pipe.ReadAsyncWithCancellationToken.html>) 2.54 ms 2.29 ms 0.90 0.04 False
[ReadAsync - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.IO.Pipelines.Tests.Perf_Pipe.ReadAsync.html>) 2.24 ms 1.99 ms 0.89 0.06 False
[SyncReadAsyncWithCancellationToken - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.IO.Pipelines.Tests.Perf_Pipe.SyncReadAsyncWithCancellationToken.html>) 736.19 μs 669.91 μs 0.91 0.13 False

graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Pipelines.Tests.Perf_Pipe*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.IO.Pipelines.Tests.Perf_Pipe.ReadAsyncWithCancellationToken ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.29320674031746 < 2.40785444041773. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 20.340515082203453 (T) = (0 -2321307.8257684526) / Math.Sqrt((1902374297.2945836 / (299)) + (866345608.3988178 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.06750107577781683 = (2489341.0227842396 - 2321307.8257684526) / 2489341.0227842396 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Pipelines.Tests.Perf_Pipe.ReadAsync ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.9887422415865386 < 2.130459887083619. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 12.44565247879207 (T) = (0 -2040448.9739243744) / Math.Sqrt((1228664557.1437464 / (299)) + (2574382916.7309318 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.074808734591395 = (2205434.757345253 - 2040448.9739243744) / 2205434.757345253 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Pipelines.Tests.Perf_Pipe.SyncReadAsyncWithCancellationToken ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.9102457932693 < 699.8390923326673. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 40.228554878412865 (T) = (0 -671473.6994172594) / Math.Sqrt((472916779.12115735 / (299)) + (29089380.074663363 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.10105727645759077 = (746959.3799827687 - 671473.6994172594) / 746959.3799827687 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20DeepTree).html>) 15.02 μs 11.83 μs 0.79 0.04 True
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20LotsOfNumbers).html>) 4.93 μs 3.61 μs 0.73 0.02 True
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20Json4KB).html>) 13.36 μs 10.08 μs 0.75 0.01 True
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20BroadTree).html>) 15.42 μs 11.38 μs 0.74 0.07 True
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20HelloWorld).html>) 275.65 ns 224.38 ns 0.81 0.11 True
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20Json400KB).html>) 1.35 ms 1.03 ms 0.76 0.02 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20DeepTree).html>) 8.66 μs 6.47 μs 0.75 0.02 True
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20Json400B).html>) 1.90 μs 1.40 μs 0.74 0.01 True
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20LotsOfStrings).html>) 2.77 μs 2.04 μs 0.73 0.03 True
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20True%2c%20TestCase%3a%20LotsOfStrings).html>) 3.26 μs 2.51 μs 0.77 0.01 False
[ParseThenWrite - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented%3a%20False%2c%20TestCase%3a%20LotsOfNumbers).html>) 4.13 μs 3.08 μs 0.75 0.04 True

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

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Document.Tests.Perf_ParseThenWrite*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 11.825970522471017 < 14.324984715999467. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 134.0694728959021 (T) = (0 -11777.545579956646) / Math.Sqrt((83652.98382313704 / (299)) + (3843.7157257178505 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2085805374750715 = (14881.546559875853 - 11777.545579956646) / 14881.546559875853 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 3.6076402518422817 < 4.651087079573487. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 155.13982013227627 (T) = (0 -3588.453985114019) / Math.Sqrt((4072.5238692724574 / (299)) + (882.636912158201 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.26901764968697833 = (4909.0843076818055 - 3588.453985114019) / 4909.0843076818055 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 10.082714398692465 < 12.683044450224696. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 120.62361766298555 (T) = (0 -10094.849325664314) / Math.Sqrt((24117.00817899953 / (299)) + (10681.179252172651 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.25173892145879323 = (13491.079003260478 - 10094.849325664314) / 13491.079003260478 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: 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 11.379323418479407 < 14.660324767676952. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 19.091291930518096 (T) = (0 -11727.290861973352) / Math.Sqrt((145761.36045362178 / (299)) + (625271.8663285907 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.25054976517567246 = (15647.858012509996 - 11727.290861973352) / 15647.858012509996 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: 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 224.3780195308745 < 263.8023569164591. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 46.060677896851765 (T) = (0 -218.09885056157728) / Math.Sqrt((47.676392312851675 / (299)) + (25.722006186969445 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2242822129012333 = (281.1574701377942 - 218.09885056157728) / 281.1574701377942 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: 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.0278025902410346 < 1.2722526261480889. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 13.63106514165501 (T) = (0 -1081008.5833890913) / Math.Sqrt((200634777.26138785 / (299)) + (5091635050.760705 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.19399958772053877 = (1341201.0303219021 - 1081008.5833890913) / 1341201.0303219021 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 6.472884813965277 < 8.103421809340842. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 117.12160976230672 (T) = (0 -6591.650239319538) / Math.Sqrt((28749.647393078074 / (299)) + (3455.5895044607 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2430385050058908 = (8708.039025645334 - 6591.650239319538) / 8708.039025645334 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: 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.3993428420732024 < 1.7852426063578897. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 158.5229601902017 (T) = (0 -1395.6919729132346) / Math.Sqrt((355.5112468876872 / (299)) + (128.922571565116 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.26213907026073274 = (1891.5379804788154 - 1395.6919729132346) / 1891.5379804788154 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: 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.0367549375511613 < 2.6475896607781837. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 77.76032216103201 (T) = (0 -2069.0090197305876) / Math.Sqrt((3579.012037837895 / (299)) + (1048.2386531731363 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.25374563080043017 = (2772.5251671890383 - 2069.0090197305876) / 2772.5251671890383 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 2.512572564736134 < 3.042849298841637. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 152.6296922753785 (T) = (0 -2533.712214910157) / Math.Sqrt((2155.2976727310993 / (299)) + (237.10333102321164 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.22420147577177385 = (3265.941008885941 - 2533.712214910157) / 3265.941008885941 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 3.0846806689405684 < 3.9581755144788664. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 157.45113971313816 (T) = (0 -3046.2352084102818) / Math.Sqrt((4457.566983258987 / (299)) + (610.0666499349032 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.27815325731303114 = (4220.0581207461255 - 3046.2352084102818) / 4220.0581207461255 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(MyEventsListerViewModel).SerializeToString(Mode%3a%20Reflection).html>) 305.59 μs 215.29 μs 0.70 0.01 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(MyEventsListerViewModel).SerializeToString(Mode%3a%20SourceGen).html>) 261.75 μs 191.15 μs 0.73 0.03 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
py .\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>.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 215.29103567351598 < 290.15595062902526. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 94.82262394251742 (T) = (0 -219908.43120452468) / Math.Sqrt((21087070.78066534 / (299)) + (10874212.706122119 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.27775750514394454 = (304480.0503580905 - 219908.43120452468) / 304480.0503580905 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 191.15377869120212 < 249.7497783372365. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 31.1218155937524 (T) = (0 -204500.9761522773) / Math.Sqrt((15369866.612995174 / (299)) + (50722661.685845934 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21994981853433226 = (262163.8722883599 - 204500.9761522773) / 262163.8722883599 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 11.54 μs 8.99 μs 0.78 0.01 True
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeToStream(Mode%3a%20SourceGen).html>) 11.23 μs 9.16 μs 0.82 0.00 True
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeToStream(Mode%3a%20Reflection).html>) 11.55 μs 8.88 μs 0.77 0.01 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeToString(Mode%3a%20Reflection).html>) 12.67 μs 10.28 μs 0.81 0.02 True
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 7.73 μs 6.73 μs 0.87 0.01 True
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeToWriter(Mode%3a%20Reflection).html>) 11.94 μs 8.50 μs 0.71 0.02 True
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeToWriter(Mode%3a%20SourceGen).html>) 7.24 μs 5.94 μs 0.82 0.01 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeObjectProperty(Mode%3a%20Reflection).html>) 12.85 μs 10.36 μs 0.81 0.01 True
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 9.05 μs 8.09 μs 0.89 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
py .\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>.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 8.987571617569763 < 10.940969105569808. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 84.38738969528076 (T) = (0 -9087.18805796681) / Math.Sqrt((21440.457454826945 / (299)) + (12920.238452232068 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.22097906237671766 = (11664.882956408006 - 9087.18805796681) / 11664.882956408006 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 9.155263288201816 < 10.662845257733377. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 95.61962096426154 (T) = (0 -8877.378972611721) / Math.Sqrt((22955.0964172485 / (299)) + (9362.156181509372 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2218894873238487 = (11408.89221773884 - 8877.378972611721) / 11408.89221773884 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: 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.877051443126721 < 10.795429689011716. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 105.91338524439213 (T) = (0 -8895.571210681417) / Math.Sqrt((22452.8648219699 / (299)) + (7109.831011995484 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.22328118024827043 = (11452.756112597861 - 8895.571210681417) / 11452.756112597861 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 10.275732834072977 < 12.012969537370909. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 63.824747123621485 (T) = (0 -10142.187697856063) / Math.Sqrt((23153.8551465159 / (299)) + (22771.82696437605 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20087602782796873 = (12691.632401277415 - 10142.187697856063) / 12691.632401277415 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 6.7264382178555895 < 7.422750458417828. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 86.18538920630942 (T) = (0 -6645.968796251508) / Math.Sqrt((8140.491157171873 / (299)) + (2660.012963252576 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15645634654974905 = (7878.630547533913 - 6645.968796251508) / 7878.630547533913 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 8.496815454155685 < 10.648642361337577. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 89.90264200069757 (T) = (0 -8541.15713159981) / Math.Sqrt((29070.26507062053 / (299)) + (10284.413039086949 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.22750518068374379 = (11056.588235969897 - 8541.15713159981) / 11056.588235969897 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 5.938101593537414 < 6.878284530325822. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 70.41607914043215 (T) = (0 -5965.515662974091) / Math.Sqrt((5633.960024902465 / (299)) + (5673.114486757944 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1904178090160036 = (7368.634993963221 - 5965.515662974091) / 7368.634993963221 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 10.364133885617118 < 12.198535481785772. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 90.21087818728478 (T) = (0 -10266.459166610897) / Math.Sqrt((23923.840905726418 / (299)) + (11412.89014412645 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20306166355682104 = (12882.37583403404 - 10266.459166610897) / 12882.37583403404 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: 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.090626265303488 < 8.663665764804161. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 53.157732421336796 (T) = (0 -7881.1993268703845) / Math.Sqrt((8701.923009658298 / (299)) + (8539.410261296027 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1416267175144689 = (9181.55246403913 - 7881.1993268703845) / 9181.55246403913 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[SystemTextJsonSourceGen - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.Json_FromStream(IndexViewModel).SystemTextJsonSourceGen.html>) 20.81 μs 15.47 μs 0.74 0.02 False
[SystemTextJsonReflection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.Json_FromStream(IndexViewModel).SystemTextJsonReflection.html>) 20.10 μs 15.69 μs 0.78 0.01 False
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.JsonFromStream(IndexViewModel).JsonNet.html>) 49.85 μs 39.02 μs 0.78 0.06 True
[DataContractJsonSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.JsonFromStream(IndexViewModel).DataContractJsonSerializer.html>) 239.63 μs 182.97 μs 0.76 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromStream&lt;IndexViewModel&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### MicroBenchmarks.Serializers.Json_FromStream<IndexViewModel>.SystemTextJson_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.466554664179103 < 18.930551611968685. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 94.81161974872282 (T) = (0 -15799.689737172304) / Math.Sqrt((73508.79426805962 / (299)) + (23512.56146487788 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20352819474405334 = (19837.098605260817 - 15799.689737172304) / 19837.098605260817 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### 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 15.691163884750809 < 18.9555483706835. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 74.87063779561369 (T) = (0 -15792.607354267659) / Math.Sqrt((71078.57581856537 / (299)) + (38247.115023748076 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20019435617224984 = (19745.556281256784 - 15792.607354267659) / 19745.556281256784 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 39.01858137206923 < 47.313625021171696. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 31.43309730484317 (T) = (0 -39480.76724664783) / Math.Sqrt((1155398.2020885034 / (299)) + (1841359.0577237497 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.22076243031083378 = (50665.8928963044 - 39480.76724664783) / 50665.8928963044 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 182.96828105362383 < 227.4422699548417. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 111.06036359626232 (T) = (0 -183894.56629677335) / Math.Sqrt((6463869.033400385 / (299)) + (3405351.8346995013 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.23144678880383826 = (239273.69454427666 - 183894.56629677335) / 239273.69454427666 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_FromStream<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_x64_alpine 3.15/MicroBenchmarks.Serializers.Json_FromStream(Location).SystemTextJsonReflection.html>) 1.01 μs 747.91 ns 0.74 0.01 True
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.JsonFromStream(Location).JsonNet.html>) 2.17 μs 1.70 μs 0.78 0.04 True
[SystemTextJsonSourceGen - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.Json_FromStream(Location).SystemTextJsonSourceGen.html>) 988.58 ns 733.08 ns 0.74 0.00 True
[DataContractJsonSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.JsonFromStream(Location).DataContractJsonSerializer.html>) 8.86 μs 6.40 μs 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromStream&lt;Location&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### MicroBenchmarks.Serializers.Json_FromStream<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 747.913161569697 < 949.1043692488704. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 156.7582983778796 (T) = (0 -750.9027133323995) / Math.Sqrt((178.2365751962257 / (299)) + (31.877769906499594 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2561612205402756 = (1009.4965926323522 - 750.9027133323995) / 1009.4965926323522 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_FromStream<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.698832888168608 < 2.098400403658411. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 55.78299096803837 (T) = (0 -1572.3171234362458) / Math.Sqrt((925.237738772528 / (299)) + (1886.2917734873886 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2870974598994262 = (2205.5148284566762 - 1572.3171234362458) / 2205.5148284566762 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_FromStream<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 733.0794873149341 < 941.1408421567224. IsChangePoint: Marked as a change because one of 3/9/2023 2:48:42 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 123.54221066133894 (T) = (0 -742.8328967900696) / Math.Sqrt((258.88417102438166 / (299)) + (44.27521215946377 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.25026302389166427 = (990.7913314425239 - 742.8328967900696) / 990.7913314425239 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_FromStream<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 6.402281867579675 < 8.153744471864414. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 237.5903670823213 (T) = (0 -6363.704840167289) / Math.Sqrt((7222.795157126921 / (299)) + (939.3744509362195 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2580513555129786 = (8577.015252271422 - 6363.704840167289) / 8577.015252271422 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Memory.ReadOnlySpan.IndexOfString(input%3a%20%22AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.html>) 15.01 ns 13.76 ns 0.92 0.27 False
[IndexOfString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Memory.ReadOnlySpan.IndexOfString(input%3a%20%22AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%22%2c%20value%3a%20%22x%22%2c%20comparisonType%3a%20InvariantCultureIgno.html>) 170.91 ns 139.74 ns 0.82 0.01 False
[IndexOfString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Memory.ReadOnlySpan.IndexOfString(input%3a%20%22AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%22%2c%20value%3a%20%22x%22%2c%20comparisonType%3a%20OrdinalIgnoreCase).html>) 9.90 ns 8.51 ns 0.86 0.19 False
[IndexOfString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Memory.ReadOnlySpan.IndexOfString(input%3a%20%22Hello%20Worldbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbba!%22%2c%20value%3a%20%22y%22%2c%20comparisonType%3a%20Ordinal).html>) 7.40 ns 5.68 ns 0.77 0.09 True
[IndexOfString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Memory.ReadOnlySpan.IndexOfString(input%3a%20%22%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%99%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%22%2c%20value%3a%20%22%e3%81%99%22%2c%20comparisonType%3a%20Ordinal).html>) 7.78 ns 5.00 ns 0.64 0.13 False

graph graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.ReadOnlySpan*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Memory.ReadOnlySpan.IndexOfString(input: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", value: "X", comparisonType: 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 13.755620266565465 < 14.401303735837082. IsChangePoint: Marked as a change because one of 2/17/2023 12:28:21 PM, 3/10/2023 8:23:08 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 33.005958735402906 (T) = (0 -13.787124076738413) / Math.Sqrt((0.4609611502975408 / (299)) + (0.0013594260024475614 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.08819078951149857 = (15.120623830233045 - 13.787124076738413) / 15.120623830233045 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySpan.IndexOfString(input: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", value: "x", 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 139.73823762974231 < 162.8979133650745. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 62.52464001443684 (T) = (0 -145.5190524996562) / Math.Sqrt((13.82573258572249 / (299)) + (2.597854683744896 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16754784406621734 = (174.807706920314 - 145.5190524996562) / 174.807706920314 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySpan.IndexOfString(input: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", value: "x", comparisonType: 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.512644740157857 < 9.40602933521859. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 30.874512656137203 (T) = (0 -8.53734228817837) / Math.Sqrt((0.8801136149648395 / (299)) + (0.00022131768562482138 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16436633126978845 = (10.21660879360127 - 8.53734228817837) / 10.21660879360127 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySpan.IndexOfString(input: "Hello Worldbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbba!", value: "y", comparisonType: 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 5.681347574209775 < 7.0347878010711. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 95.66101161594756 (T) = (0 -5.685607433049347) / Math.Sqrt((0.11166249862738796 / (299)) + (5.096254666621358E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.24620462914525496 = (7.542640420572379 - 5.685607433049347) / 7.542640420572379 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySpan.IndexOfString(input: "だだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだすだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだ", value: "す", comparisonType: 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 5.0033648497721535 < 7.389719581901564. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 21.52307585273641 (T) = (0 -6.103210314858596) / Math.Sqrt((0.128186504983216 / (299)) + (0.10022837464806678 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.23500000055216053 = (7.97805270491995 - 6.103210314858596) / 7.97805270491995 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted%3a%20True%2c%20SkipValidation%3a%20True).html>) 3.60 ms 2.82 ms 0.78 0.00 True
[WriteDateTimes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted%3a%20True%2c%20SkipValidation%3a%20False).html>) 3.65 ms 2.86 ms 0.78 0.00 True
[WriteDateTimes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted%3a%20False%2c%20SkipValidation%3a%20False).html>) 3.36 ms 2.56 ms 0.76 0.00 True
[WriteDateTimes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted%3a%20False%2c%20SkipValidation%3a%20True).html>) 3.29 ms 2.54 ms 0.77 0.00 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
py .\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: 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.8166207203098113 < 3.41522592871118. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 164.54496019518928 (T) = (0 -2779920.8995091743) / Math.Sqrt((285555718.40580404 / (299)) + (300385566.0748281 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2132925988260628 = (3533614.778964749 - 2779920.8995091743) / 3533614.778964749 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 2.862008757201646 < 3.474302400053304. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 144.8350892447312 (T) = (0 -2803415.5494304253) / Math.Sqrt((302961090.99563795 / (299)) + (442146124.5385185 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.22195593826205276 = (3603157.825237207 - 2803415.5494304253) / 3603157.825237207 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: 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.5554081853146857 < 3.1882953520530144. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 465.1126481468218 (T) = (0 -2542384.907726184) / Math.Sqrt((270826297.3834547 / (299)) + (26161410.356389947 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.22946697572241304 = (3299514.5277644605 - 2542384.907726184) / 3299514.5277644605 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 2.5403388926458152 < 3.124546037928571. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 288.2431326097294 (T) = (0 -2512427.3688478274) / Math.Sqrt((213469041.7250518 / (299)) + (88106271.0628247 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.22747947282609052 = (3252246.7435771204 - 2512427.3688478274) / 3252246.7435771204 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.IterateForNonGeneric<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ArrayList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.IterateForNonGeneric(String).ArrayList(Size%3a%20512).html>) 1.01 μs 285.37 ns 0.28 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForNonGeneric&lt;String&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Collections.IterateForNonGeneric<String>.ArrayList(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 285.3728457835111 < 0.9618856991851209. IsChangePoint: Marked as a change because one of 2/9/2023 10:24:28 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 135.24809395321586 (T) = (0 -285.58777325440064) / Math.Sqrt((10382.241968515813 / (299)) + (0.022244684361379115 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7361954270862461 = (1082.5732476888045 - 285.58777325440064) / 1082.5732476888045 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[CreateInstance - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.CreateInstance.html>) 668.03 ns 591.28 ns 0.89 0.06 False
[Factory - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.Factory.html>) 23.15 ns 15.12 ns 0.65 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.CreateInstance ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.2753559356755 < 641.6668682616431. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 28.58249695640984 (T) = (0 -580.8127845601783) / Math.Sqrt((199.89685124902937 / (299)) + (111.49689676354775 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12286245354754292 = (662.1684214856031 - 580.8127845601783) / 662.1684214856031 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.Factory ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.122922319062548 < 22.630342636581577. IsChangePoint: Marked as a change because one of 2/9/2023 12:40:40 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 90.94498912182438 (T) = (0 -15.16951586363081) / Math.Sqrt((0.4517692335579221 / (299)) + (0.10777083812801656 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3585877721929597 = (23.650181904848782 - 15.16951586363081) / 23.650181904848782 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/Benchstone.BenchF.Bisect.Test.html>) 233.68 ms 156.23 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
py .\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 156.2282374 < 222.00552086833332. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 3196.1396062872354 (T) = (0 -156189155.39649576) / Math.Sqrt((72067808636.68001 / (299)) + (5217579573.485951 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.33180713063298495 = (233748611.45174313 - 156189155.39649576) / 233748611.45174313 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.CreateAddAndClear<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_x64_alpine 3.15/System.Collections.CreateAddAndClear(String).ImmutableDictionary(Size%3a%20512).html>) 262.80 μs 240.62 μs 0.92 0.05 False
[ImmutableSortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.CreateAddAndClear(String).ImmutableSortedSet(Size%3a%20512).html>) 347.48 μs 284.18 μs 0.82 0.04 False
[ImmutableSortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.CreateAddAndClear(String).ImmutableSortedDictionary(Size%3a%20512).html>) 353.17 μs 288.99 μs 0.82 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CreateAddAndClear&lt;String&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Collections.CreateAddAndClear<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 240.61815899725275 < 249.99385325792696. IsChangePoint: Marked as a change because one of 2/6/2023 11:23:26 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 38.70062429799488 (T) = (0 -242215.51158513877) / Math.Sqrt((17289100.375724737 / (299)) + (1925675.8460176901 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.06596443880407403 = (259321.50942412668 - 242215.51158513877) / 259321.50942412668 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.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 284.1758666520979 < 320.2928450156725. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 20.952756006188057 (T) = (0 -296170.6427839129) / Math.Sqrt((112964714.71269394 / (299)) + (52717748.46034785 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12247889624356713 = (337508.28500429867 - 296170.6427839129) / 337508.28500429867 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<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 288.99420395171956 < 334.95363631283067. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 27.386341282912884 (T) = (0 -303054.4173024545) / Math.Sqrt((126848950.81345734 / (299)) + (45704061.72301079 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.14410315225664092 = (354078.20241595915 - 303054.4173024545) / 354078.20241595915 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.IndexerSetReverse<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_x64_alpine 3.15/System.Collections.IndexerSetReverse(Int32).IList(Size%3a%20512).html>) 904.60 ns 561.41 ns 0.62 0.02 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IndexerSetReverse&lt;Int32&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Collections.IndexerSetReverse<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 561.4097051671001 < 859.3951284910738. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 472.7361428748215 (T) = (0 -561.5031739995829) / Math.Sqrt((130.44753378279643 / (299)) + (1.2870631330653544 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3782356331085497 = (903.080337020362 - 561.5031739995829) / 903.080337020362 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_ToString<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_x64_alpine 3.15/MicroBenchmarks.Serializers.JsonToString(CollectionsOfPrimitives).JsonNet.html>) 308.28 μs 238.70 μs 0.77 0.02 True
[SystemTextJsonSourceGen - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.Json_ToString(CollectionsOfPrimitives).SystemTextJsonSourceGen.html>) 110.28 μs 77.52 μs 0.70 0.01 False
[SystemTextJsonReflection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.Json_ToString(CollectionsOfPrimitives).SystemTextJsonReflection.html>) 112.20 μs 77.48 μs 0.69 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToString&lt;CollectionsOfPrimitives&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### MicroBenchmarks.Serializers.Json_ToString<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 238.701639974579 < 290.3907657654309. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 76.38895183866063 (T) = (0 -242522.9095770108) / Math.Sqrt((12513657.243679216 / (299)) + (8531043.332010804 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.2026653839764319 = (304167.0394125246 - 242522.9095770108) / 304167.0394125246 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToString<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 77.521442109375 < 104.65000739431379. IsChangePoint: Marked as a change because one of 4/9/2023 4:09:45 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 113.13778846703066 (T) = (0 -78387.39528885423) / Math.Sqrt((7348757.768073847 / (299)) + (101711.4467821805 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2035600178259323 = (98422.22520632081 - 78387.39528885423) / 98422.22520632081 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToString<CollectionsOfPrimitives>.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 77.4816370222095 < 107.12417638155556. IsChangePoint: Marked as a change because one of 4/9/2023 4:09:45 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 105.86670470953474 (T) = (0 -78073.69709456776) / Math.Sqrt((7658534.44657596 / (299)) + (328255.3913448778 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.22811048994858643 = (101146.20820454921 - 78073.69709456776) / 101146.20820454921 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[SetOverride - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.SetOverride.html>) 89.24 ns 76.90 ns 0.86 0.06 False
[CreateEntry - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.CreateEntry.html>) 12.41 ns 11.16 ns 0.90 0.12 False
[AddThenRemove_NoExpiration - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.AddThenRemove_NoExpiration.html>) 18.76 μs 16.85 μs 0.90 0.03 False

graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 76.90409279511385 < 84.50910816685929. IsChangePoint: Marked as a change because one of 2/6/2023 4:11:28 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 18.660151810508836 (T) = (0 -77.1576991570606) / Math.Sqrt((3.1792239203536288 / (299)) + (4.841127211256298 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12252803118498647 = (87.9318108147188 - 77.1576991570606) / 87.9318108147188 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.CreateEntry ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.155012484218323 < 11.7507997418073. IsChangePoint: Marked as a change because one of 3/25/2023 2:21:39 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 25.362060856470613 (T) = (0 -11.407744912194323) / Math.Sqrt((0.17055621419555078 / (299)) + (0.015277542330540104 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.08140662315349871 = (12.418710171149622 - 11.407744912194323) / 12.418710171149622 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.AddThenRemove_NoExpiration ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.846980030980607 < 17.725012775979287. IsChangePoint: Marked as a change because one of 2/1/2023 6:08:01 AM, 2/2/2023 5:46:53 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 87.05347085410648 (T) = (0 -16887.434319704837) / Math.Sqrt((28367.15275815696 / (299)) + (4129.774987646698 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.09023310793894057 = (18562.375117264026 - 16887.434319704837) / 18562.375117264026 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Benchstone.BenchF.DMath

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_x64_alpine 3.15/Benchstone.BenchF.DMath.Test.html>) 566.93 ms 427.38 ms 0.75 0.03 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Benchstone.BenchF.DMath*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### Benchstone.BenchF.DMath.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 427.382733 < 538.9431940983333. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 174.85630778151113 (T) = (0 -427771943.8993162) / Math.Sqrt((184007479585665.78 / (299)) + (1913922962910.9377 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.26054222012050765 = (578494074.3594978 - 427771943.8993162) / 578494074.3594978 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers%3a%20True%2c%20Json%3a%20False).html>) 829.57 ns 723.01 ns 0.87 0.03 False
[NestedScopes_TwoMessages - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers%3a%20True%2c%20Json%3a%20True).html>) 1.57 μs 1.27 μs 0.81 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
py .\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: 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 723.0063770395202 < 813.8776431052651. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 33.43085103272395 (T) = (0 -723.7447012788288) / Math.Sqrt((165.1725453508927 / (299)) + (181.13463942748825 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.14100122443171623 = (842.5445086345139 - 723.7447012788288) / 842.5445086345139 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### 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 1.265502552365169 < 1.46557136735404. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 82.10449228364753 (T) = (0 -1285.7202834048605) / Math.Sqrt((694.1354388347575 / (299)) + (148.52752730648754 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1825139441006209 = (1572.7733508436925 - 1285.7202834048605) / 1572.7733508436925 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_UInt16

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_x64_alpine 3.15/System.Tests.Perf_UInt16.ToString(value%3a%2012345).html>) 9.66 ns 8.04 ns 0.83 0.06 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_UInt16.ToString(value%3a%2065535).html>) 9.38 ns 8.00 ns 0.85 0.08 False

graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_UInt16*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Tests.Perf_UInt16.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 8.042296681582634 < 8.904580929103844. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 67.42448224461774 (T) = (0 -8.054605551198476) / Math.Sqrt((0.0570806441413503 / (299)) + (0.0037568270058661655 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.14955947211665957 = (9.471097962894085 - 8.054605551198476) / 9.471097962894085 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt16.ToString(value: 65535) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.997188156372364 < 8.89883606247295. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 13.438667175554434 (T) = (0 -8.136160123828141) / Math.Sqrt((0.05874133771479891 / (299)) + (0.14941638045863762 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1427112891472532 = (9.490571870163887 - 8.136160123828141) / 9.490571870163887 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_ToStream<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_x64_alpine 3.15/MicroBenchmarks.Serializers.Json_ToStream(LoginViewModel).SystemTextJsonSourceGen.html>) 202.47 ns 144.77 ns 0.72 0.19 True
[DataContractJsonSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.JsonToStream(LoginViewModel).DataContractJsonSerializer.html>) 794.08 ns 512.33 ns 0.65 0.01 True
[SystemTextJsonReflection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.Json_ToStream(LoginViewModel).SystemTextJsonReflection.html>) 271.33 ns 206.33 ns 0.76 0.10 False
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.JsonToStream(LoginViewModel).JsonNet.html>) 426.94 ns 308.52 ns 0.72 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToStream&lt;LoginViewModel&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### MicroBenchmarks.Serializers.Json_ToStream<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 144.76796926584925 < 192.71931520189304. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 41.29375922959602 (T) = (0 -147.0787622289972) / Math.Sqrt((35.25491954916108 / (299)) + (21.597695679015896 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2594875427192599 = (198.61753949297477 - 147.0787622289972) / 198.61753949297477 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToStream<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 512.3318319713798 < 738.0405281872361. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 207.3229029287262 (T) = (0 -510.85826183323695) / Math.Sqrt((99.320444629655 / (299)) + (16.623338389956846 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.32753504002968836 = (759.6801205163026 - 510.85826183323695) / 759.6801205163026 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToStream<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 206.3288079650351 < 247.08696161633813. IsChangePoint: Marked as a change because one of 3/20/2023 10:25:17 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 34.524476356433176 (T) = (0 -203.82351468664726) / Math.Sqrt((49.64384535743083 / (299)) + (40.25140315494298 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.22802958166289092 = (264.0302139111764 - 203.82351468664726) / 264.0302139111764 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToStream<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 308.51748659662746 < 407.71229513990227. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 91.78381251463448 (T) = (0 -310.05772067186183) / Math.Sqrt((27.188129296450352 / (299)) + (24.211776707300004 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2787791102728475 = (429.9067388205586 - 310.05772067186183) / 429.9067388205586 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Benchstone.BenchI.BubbleSort

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_x64_alpine 3.15/Benchstone.BenchI.BubbleSort.Test.html>) 8.52 μs 7.87 μs 0.92 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Benchstone.BenchI.BubbleSort*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### Benchstone.BenchI.BubbleSort.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 7.866097348852683 < 8.093399773460606. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 59.78519562578316 (T) = (0 -7931.402129634005) / Math.Sqrt((2353.178399294184 / (299)) + (1093.1989132163399 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.06343830661008716 = (8468.638196087286 - 7931.402129634005) / 8468.638196087286 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[ToStringWithCultureInfo - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Single.ToStringWithCultureInfo(value%3a%2012345%2c%20culture%3a%20zh).html>) 109.61 ns 91.57 ns 0.84 0.01 True
[ToStringWithCultureInfo - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Single.ToStringWithCultureInfo(value%3a%20-3.4028235E%2b38%2c%20culture%3a%20zh).html>) 122.39 ns 102.47 ns 0.84 0.02 True
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Single.ToStringWithFormat(value%3a%20-3.4028235E%2b38%2c%20format%3a%20%22R%22).html>) 130.54 ns 111.30 ns 0.85 0.03 True
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Single.ToString(value%3a%2012345).html>) 117.63 ns 94.89 ns 0.81 0.08 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Single.ToString(value%3a%20-3.4028235E%2b38).html>) 129.06 ns 109.14 ns 0.85 0.04 True
[ToStringWithCultureInfo - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Single.ToStringWithCultureInfo(value%3a%203.4028235E%2b38%2c%20culture%3a%20zh).html>) 122.30 ns 101.28 ns 0.83 0.02 True
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Single.ToString(value%3a%203.4028235E%2b38).html>) 129.06 ns 109.42 ns 0.85 0.06 True
[ToStringWithFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Single.ToStringWithFormat(value%3a%20-3.4028235E%2b38%2c%20format%3a%20%22G%22).html>) 129.93 ns 110.17 ns 0.85 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Single*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Tests.Perf_Single.ToStringWithCultureInfo(value: 12345, 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 91.56998963503207 < 103.10626502503457. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 89.577204185737 (T) = (0 -91.48835999300552) / Math.Sqrt((1.7496083253607704 / (299)) + (0.4420369666756461 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.15925107678799352 = (108.81769511340244 - 91.48835999300552) / 108.81769511340244 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 102.47178377325243 < 116.2542784098869. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 42.91682994298002 (T) = (0 -103.34888050207495) / Math.Sqrt((3.023135478969176 / (299)) + (3.489261301139229 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16984124524201147 = (124.49291163857407 - 103.34888050207495) / 124.49291163857407 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.ToStringWithFormat(value: -3.4028235E+38, 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 111.29549074255482 < 124.7810885929508. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 56.46518984916188 (T) = (0 -109.52071068772321) / Math.Sqrt((5.366961477385013 / (299)) + (2.2997864797430827 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.17584584886188953 = (132.88862348928447 - 109.52071068772321) / 132.88862348928447 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 94.89156527293264 < 110.80110811279422. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 31.868978877997613 (T) = (0 -96.83793575155373) / Math.Sqrt((4.8301885504514015 / (299)) + (4.933401974502735 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1619972960473748 = (115.55802301686639 - 96.83793575155373) / 115.55802301686639 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.ToString(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 109.13987412475747 < 122.68173033356076. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 50.36107941861037 (T) = (0 -109.98007187609784) / Math.Sqrt((4.461197265967061 / (299)) + (2.543980767919005 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.164367841362405 = (131.61301984285535 - 109.98007187609784) / 131.61301984285535 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 101.27830941126784 < 117.03012506627877. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 64.49725957788982 (T) = (0 -101.97662528423804) / Math.Sqrt((2.5687765447683595 / (299)) + (1.4054900385424813 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16824875785673918 = (122.60471655138639 - 101.97662528423804) / 122.60471655138639 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.ToString(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 109.42063061316209 < 121.37422712600919. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 46.39989192273356 (T) = (0 -108.58014511210791) / Math.Sqrt((4.715230070761706 / (299)) + (2.8912966030248604 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16327710693201766 = (129.76834506580897 - 108.58014511210791) / 129.76834506580897 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Single.ToStringWithFormat(value: -3.4028235E+38, 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 110.17202533978256 < 123.4062823314846. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 41.148839552919675 (T) = (0 -111.02868808335201) / Math.Sqrt((6.0132869254995045 / (299)) + (3.5713154718109985 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15847682570601074 = (131.93776651071016 - 111.02868808335201) / 131.93776651071016 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ImmutableDictionary(String%2c%20String)).DeserializeFromStream(Mode%3a%20Reflection).html>) 33.22 μs 26.62 μs 0.80 0.01 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ImmutableDictionary(String%2c%20String)).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 32.50 μs 25.53 μs 0.79 0.01 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ImmutableDictionary(String%2c%20String)).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 32.21 μs 25.96 μs 0.81 0.01 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ImmutableDictionary(String%2c%20String)).DeserializeFromReader(Mode%3a%20Reflection).html>) 35.15 μs 29.07 μs 0.83 0.01 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ImmutableDictionary(String%2c%20String)).DeserializeFromStream(Mode%3a%20SourceGen).html>) 33.48 μs 26.99 μs 0.81 0.02 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ImmutableDictionary(String%2c%20String)).DeserializeFromString(Mode%3a%20Reflection).html>) 32.24 μs 26.19 μs 0.81 0.01 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ImmutableDictionary(String%2c%20String)).DeserializeFromReader(Mode%3a%20SourceGen).html>) 36.18 μs 28.13 μs 0.78 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;ImmutableDictionary&lt;String, String&gt;&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.Json.Serialization.Tests.ReadJson<ImmutableDictionary<String, String>>.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 26.62373616730551 < 31.478209489010915. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 90.65639268580168 (T) = (0 -27084.932886356266) / Math.Sqrt((102187.53040064336 / (299)) + (66956.09409029258 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.19328920934875177 = (33574.526584044965 - 27084.932886356266) / 33574.526584044965 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 25.52666270002319 < 30.598993392819356. IsChangePoint: Marked as a change because one of 2/8/2023 7:09:09 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 73.27441462234285 (T) = (0 -26057.777667259248) / Math.Sqrt((105324.34411008173 / (299)) + (94906.20508727305 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.18687070569398842 = (32046.290608062525 - 26057.777667259248) / 32046.290608062525 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 25.958696090256534 < 30.804416977545618. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 70.55986343185053 (T) = (0 -26102.08299243628) / Math.Sqrt((119532.40844060307 / (299)) + (102727.5435623993 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1870871434076796 = (32109.324856608335 - 26102.08299243628) / 32109.324856608335 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 29.073740444283068 < 33.53843395535449. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 69.26737167054121 (T) = (0 -28836.866330858225) / Math.Sqrt((110520.79482549362 / (299)) + (142298.97214725445 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.19255294957574107 = (35713.631396271 - 28836.866330858225) / 35713.631396271 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: 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 26.99073722851667 < 31.76448512608182. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 56.549599996695356 (T) = (0 -27144.318187233417) / Math.Sqrt((120832.57397733758 / (299)) + (195848.60639701225 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.19465527512136666 = (33705.21634859421 - 27144.318187233417) / 33705.21634859421 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 26.193820514169474 < 30.731607818343903. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 77.96730898995317 (T) = (0 -26504.02866380113) / Math.Sqrt((131620.2598326969 / (299)) + (83038.00607317337 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.18527592483005967 = (32531.294301414564 - 26504.02866380113) / 32531.294301414564 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 28.12806999935766 < 34.20508435185182. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 99.21137692886677 (T) = (0 -28606.941376922023) / Math.Sqrt((132919.29422602998 / (299)) + (70815.76399331666 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.19952528240093875 = (35737.470213582135 - 28606.941376922023) / 35737.470213582135 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Tests.Add_Remove_SteadyState<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_x64_alpine 3.15/System.Collections.Tests.Add_Remove_SteadyState(Int32).ImmutableQueue(Count%3a%20512).html>) 35.92 ns 33.22 ns 0.92 0.13 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Add_Remove_SteadyState&lt;Int32&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Collections.Tests.Add_Remove_SteadyState<Int32>.ImmutableQueue(Count: 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 33.22268050436363 < 34.23499252822986. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 14.825434602277818 (T) = (0 -32.49330215310526) / Math.Sqrt((1.3434027316463075 / (299)) + (0.6334734356642676 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.09236017925835868 = (35.799775869854045 - 32.49330215310526) / 35.799775869854045 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas.Count(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>) 1.40 ms 1.12 ms 0.80 0.21 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas.Count(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 1.117344170535714 < 1.2479668614831347. IsChangePoint: Marked as a change because one of 3/10/2023 12:53:36 AM, 4/2/2023 6:09:37 PM, 4/3/2023 12:37:39 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 12.372101383401363 (T) = (0 -1121776.6668964038) / Math.Sqrt((65951214625.966866 / (299)) + (405417011.11516005 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.14788118307398557 = (1316455.6921101327 - 1121776.6668964038) / 1316455.6921101327 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Burgers

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Test2 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Burgers.Test2.html>) 149.59 ms 133.01 ms 0.89 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Burgers*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### Burgers.Test2 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.0107981 < 141.99951079937497. IsChangePoint: Marked as a change because one of 2/24/2023 4:59:28 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 95.6079021200004 (T) = (0 -133286222.50222223) / Math.Sqrt((2210792867535.2246 / (299)) + (318264152885.8803 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.10820434436332609 = (149458254.99347836 - 133286222.50222223) / 149458254.99347836 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(LargeStructWithProperties).SerializeToString(Mode%3a%20Reflection).html>) 626.30 ns 377.50 ns 0.60 0.01 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(LargeStructWithProperties).SerializeToString(Mode%3a%20SourceGen).html>) 356.03 ns 302.60 ns 0.85 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
py .\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>.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 377.50002340990557 < 595.0876418050697. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 149.41856188985952 (T) = (0 -375.0216494897448) / Math.Sqrt((62.47112633940432 / (299)) + (36.2780093672579 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.39240310429388425 = (617.2211414179712 - 375.0216494897448) / 617.2211414179712 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 302.59610838867997 < 335.46205087433697. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 35.91654702681234 (T) = (0 -293.3803151694796) / Math.Sqrt((45.23971034849805 / (299)) + (41.0190860574609 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.17216626306842248 = (354.395214982315 - 293.3803151694796) / 354.395214982315 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Buffers.Tests.RentReturnArrayPoolTests<Object>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SingleSerial - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Buffers.Tests.RentReturnArrayPoolTests(Object).SingleSerial(RentalSize%3a%204096%2c%20ManipulateArray%3a%20False%2c%20Async%3a%20False%2c%20UseSharedPool%3a%20False).html>) 29.57 ns 26.86 ns 0.91 0.02 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Tests.RentReturnArrayPoolTests&lt;Object&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Buffers.Tests.RentReturnArrayPoolTests<Object>.SingleSerial(RentalSize: 4096, ManipulateArray: False, Async: False, UseSharedPool: 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 26.861213982371794 < 28.10952443232029. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 84.28985542979486 (T) = (0 -26.976609317880037) / Math.Sqrt((0.04203069751445113 / (299)) + (0.011277611636377676 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.08537192878714747 = (29.49462209497617 - 26.976609317880037) / 29.49462209497617 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SingleSerial - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Buffers.Tests.RentReturnArrayPoolTests(Byte).SingleSerial(RentalSize%3a%204096%2c%20ManipulateArray%3a%20False%2c%20Async%3a%20False%2c%20UseSharedPool%3a%20False).html>) 29.41 ns 25.82 ns 0.88 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Tests.RentReturnArrayPoolTests&lt;Byte&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Buffers.Tests.RentReturnArrayPoolTests<Byte>.SingleSerial(RentalSize: 4096, ManipulateArray: False, Async: False, UseSharedPool: 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 25.821626875 < 27.943560505909453. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 42.50104906318111 (T) = (0 -26.625391286286632) / Math.Sqrt((0.11390272651801728 / (299)) + (0.05030190159158637 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.08887737696055666 = (29.222621207084213 - 26.625391286286632) / 29.222621207084213 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in SciMark2.kernel

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[benchMonteCarlo - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/SciMark2.kernel.benchMonteCarlo.html>) 574.15 ms 498.37 ms 0.87 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'SciMark2.kernel*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### SciMark2.kernel.benchMonteCarlo ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 498.3739716666667 < 544.7618447916665. IsChangePoint: Marked as a change because one of 2/24/2023 8:06:06 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 90.66390223233032 (T) = (0 -503033198.70492065) / Math.Sqrt((146850639803298.25 / (299)) + (3515438221646.6377 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.13308617380361104 = (580257441.4022144 - 503033198.70492065) / 580257441.4022144 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[EnumerateActivityTagsLarge - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Diagnostics.Perf_Activity.EnumerateActivityTagsLarge.html>) 5.17 μs 3.38 μs 0.65 0.04 True
[EnumerateActivityTagObjectsLarge - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Diagnostics.Perf_Activity.EnumerateActivityTagObjectsLarge.html>) 9.61 μs 4.49 μs 0.47 0.19 True
[EnumerateActivityTagsSmall - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Diagnostics.Perf_Activity.EnumerateActivityTagsSmall.html>) 43.93 ns 27.86 ns 0.63 0.06 True
[EnumerateActivityLinksSmall - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Diagnostics.Perf_Activity.EnumerateActivityLinksSmall.html>) 75.06 ns 27.33 ns 0.36 0.26 True
[EnumerateActivityEventsSmall - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Diagnostics.Perf_Activity.EnumerateActivityEventsSmall.html>) 63.49 ns 25.70 ns 0.40 0.10 True
[EnumerateActivityLinksLarge - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Diagnostics.Perf_Activity.EnumerateActivityLinksLarge.html>) 14.09 μs 4.48 μs 0.32 0.34 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Diagnostics.Perf_Activity*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Diagnostics.Perf_Activity.EnumerateActivityTagsLarge ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.381929605212355 < 5.021989731065367. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 182.91603516247105 (T) = (0 -3296.734208715264) / Math.Sqrt((13768.378165226324 / (299)) + (1098.4704865587123 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.3823781541950161 = (5337.787565493948 - 3296.734208715264) / 5337.787565493948 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 4.490610184924007 < 8.921797314914095. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 77.9798167634153 (T) = (0 -4310.874028768835) / Math.Sqrt((418222.8980285752 / (299)) + (51104.25952790738 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5563426808687904 = (9716.67510683829 - 4310.874028768835) / 9716.67510683829 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Diagnostics.Perf_Activity.EnumerateActivityTagsSmall ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.85748556516666 < 38.07837911531793. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 70.37061196233203 (T) = (0 -27.902517861187103) / Math.Sqrt((1.0667886603957861 / (299)) + (0.3202152665806783 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2847393145238473 = (39.01027755022248 - 27.902517861187103) / 39.01027755022248 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 27.33229840464611 < 71.37401321864289. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 112.30519557143174 (T) = (0 -24.49700732945602) / Math.Sqrt((7.051130883791459 / (299)) + (2.161493359621369 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6524500062694922 = (70.48484468813182 - 24.49700732945602) / 70.48484468813182 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 25.702607376209905 < 60.33520351496212. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 57.477547409557765 (T) = (0 -25.76376112478773) / Math.Sqrt((7.762315960813858 / (299)) + (5.825711465972842 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5894986803684504 = (62.7617011022335 - 25.76376112478773) / 62.7617011022335 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 4.475729972771568 < 13.465854259751042. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 108.70884534407524 (T) = (0 -3803.554615463504) / Math.Sqrt((390121.26212950464 / (299)) + (113118.55319387831 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7288590579403111 = (14027.961201913173 - 3803.554615463504) / 14027.961201913173 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[LastIndexOf_Word_NotFound - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options%3a%20(%2c%20IgnoreCase%2c%20False)).html>) 477.28 ns 410.06 ns 0.86 0.01 False
[IsPrefix_FirstHalf - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options%3a%20(%2c%20IgnoreCase%2c%20False)).html>) 155.39 ns 130.03 ns 0.84 0.01 True
[LastIndexOf_Word_NotFound - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options%3a%20(en-US%2c%20IgnoreCase%2c%20False)).html>) 477.44 ns 390.31 ns 0.82 0.01 False

graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Globalization.Tests.StringSearch*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(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 410.0551197133459 < 453.02833908110426. IsChangePoint: Marked as a change because one of 2/20/2023 10:31:48 AM, 2/23/2023 8:54:44 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 27.34263355469611 (T) = (0 -421.4768698741783) / Math.Sqrt((154.58573546315895 / (299)) + (31.39893012090241 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.09728689679032755 = (466.9001351321719 - 421.4768698741783) / 466.9001351321719 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 130.0282430303542 < 147.70248616387104. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 40.11238598784015 (T) = (0 -116.19193511943612) / Math.Sqrt((0.08666590473372565 / (299)) + (14.662950785131958 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.25449642159328245 = (155.8569784034576 - 116.19193511943612) / 155.8569784034576 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(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 390.3077469949899 < 453.4428121939395. IsChangePoint: Marked as a change because one of 2/20/2023 10:31:48 AM, 2/23/2023 8:54:44 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 19.24796558210111 (T) = (0 -419.25844754978766) / Math.Sqrt((153.30498993423603 / (299)) + (83.39224497322604 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.10163203339240431 = (466.6889995343283 - 419.25844754978766) / 466.6889995343283 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[NoArguments_FilteredByLevel - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.Logging.LoggingOverhead.NoArguments_FilteredByLevel.html>) 13.09 ns 12.01 ns 0.92 0.17 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Logging.LoggingOverhead*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### Microsoft.Extensions.Logging.LoggingOverhead.NoArguments_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 12.01306047177839 < 12.287003631536141. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 5.650386659798167 (T) = (0 -12.009164163519332) / Math.Sqrt((0.20369963481036774 / (299)) + (0.48327545965238816 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.07863111919060799 = (13.034045769995704 - 12.009164163519332) / 13.034045769995704 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[DataContractSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.XmlFromStream(ClassImplementingIXmlSerialiable).DataContractSerializer.html>) 1.41 μs 1.19 μs 0.84 0.01 True
[XmlSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.XmlFromStream(ClassImplementingIXmlSerialiable).XmlSerializer.html>) 2.00 μs 1.81 μs 0.91 0.04 False

graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;ClassImplementingIXmlSerialiable&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 1.1860632428545979 < 1.342357484090647. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 56.67966012723944 (T) = (0 -1174.8416772729038) / Math.Sqrt((177.90676267854403 / (299)) + (261.57893251765137 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1700384374606295 = (1415.5374541422493 - 1174.8416772729038) / 1415.5374541422493 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 1.8130831595752626 < 1.8932998478196994. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 32.35677609814819 (T) = (0 -1723.9353741348687) / Math.Sqrt((1739.9593215652699 / (299)) + (888.9074752826663 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.13150297287937102 = (1984.9640474306707 - 1723.9353741348687) / 1984.9640474306707 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Net.Primitives.Tests.CredentialCacheTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ForEach - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Net.Primitives.Tests.CredentialCacheTests.ForEach(uriCount%3a%2010%2c%20hostPortCount%3a%2010).html>) 279.22 ns 213.88 ns 0.77 0.02 True
[ForEach - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Net.Primitives.Tests.CredentialCacheTests.ForEach(uriCount%3a%2010%2c%20hostPortCount%3a%200).html>) 160.97 ns 110.60 ns 0.69 0.03 True
[ForEach - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Net.Primitives.Tests.CredentialCacheTests.ForEach(uriCount%3a%200%2c%20hostPortCount%3a%2010).html>) 159.24 ns 119.43 ns 0.75 0.04 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Net.Primitives.Tests.CredentialCacheTests*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Net.Primitives.Tests.CredentialCacheTests.ForEach(uriCount: 10, hostPortCount: 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 213.87587449946318 < 264.18992751248226. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 59.49136969572912 (T) = (0 -207.00895506419837) / Math.Sqrt((35.9071130043749 / (299)) + (22.63578008518545 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2683708748770886 = (282.94247448038857 - 207.00895506419837) / 282.94247448038857 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Net.Primitives.Tests.CredentialCacheTests.ForEach(uriCount: 10, hostPortCount: 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 110.60386665778464 < 152.72603942683276. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 53.60946319426523 (T) = (0 -107.45020161254313) / Math.Sqrt((16.132304986134656 / (299)) + (16.680941872596943 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3501215271727903 = (165.33891505144854 - 107.45020161254313) / 165.33891505144854 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Net.Primitives.Tests.CredentialCacheTests.ForEach(uriCount: 0, hostPortCount: 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 119.42658711012885 < 151.03544757888702. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 39.308517029114604 (T) = (0 -103.85982378788582) / Math.Sqrt((21.72688133608202 / (299)) + (24.99848324305355 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3329484886022934 = (155.69985527843735 - 103.85982378788582) / 155.69985527843735 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[ReadMultiSegmentSequenceUsingSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize%3a%208192%2c%20TestCase%3a%20Json40KB).html>) 52.00 μs 38.30 μs 0.74 0.03 False
[ReadMultiSegmentSequenceUsingSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize%3a%204096%2c%20TestCase%3a%20Json400KB).html>) 506.56 μs 382.28 μs 0.75 0.01 False
[ReadMultiSegmentSequenceUsingSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize%3a%208192%2c%20TestCase%3a%20Json4KB).html>) 5.18 μs 3.79 μs 0.73 0.01 False
[ReadMultiSegmentSequenceUsingSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize%3a%204096%2c%20TestCase%3a%20Json40KB).html>) 52.20 μs 39.86 μs 0.76 0.02 False
[ReadMultiSegmentSequenceUsingSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize%3a%204096%2c%20TestCase%3a%20Json4KB).html>) 5.25 μs 3.96 μs 0.75 0.01 False
[ReadSingleSegmentSequenceByN - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes%3a%208192%2c%20TestCase%3a%20Json400KB).html>) 500.67 μs 390.56 μs 0.78 0.01 False
[ReadMultiSegmentSequence - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize%3a%208192%2c%20TestCase%3a%20Json4KB).html>) 5.00 μs 4.28 μs 0.86 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Segment*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.Json.Tests.Perf_Segment.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 38.300173935578485 < 47.90238045769766. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 53.6628767647511 (T) = (0 -36686.75421518479) / Math.Sqrt((700545.5158922141 / (299)) + (1039427.3462880915 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.28135337767159724 = (51049.78312751312 - 36686.75421518479) / 51049.78312751312 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: 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 382.2778083969465 < 485.82854173723115. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 126.62873149658071 (T) = (0 -376490.81163964636) / Math.Sqrt((106617973.16604717 / (299)) + (14486029.657002684 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2788966070399406 = (522103.7861078259 - 376490.81163964636) / 522103.7861078259 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: 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 3.794475751414095 < 4.891962678223529. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 98.76252742190418 (T) = (0 -3668.6146250758165) / Math.Sqrt((7799.077761727588 / (299)) + (3032.675214125559 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2891319644218462 = (5160.753390876701 - 3668.6146250758165) / 5160.753390876701 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 39.85763744343892 < 49.117534156520925. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 64.5222688863593 (T) = (0 -36830.55494422609) / Math.Sqrt((706351.3024260569 / (299)) + (754555.5735109498 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2867524652959108 = (51637.82999895861 - 36830.55494422609) / 51637.82999895861 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 3.962169046058237 < 4.970295911957382. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 81.19446647424445 (T) = (0 -3718.6754345631807) / Math.Sqrt((4817.325337307637 / (299)) + (4748.136114242928 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.28481030163462284 = (5199.565154619129 - 3718.6754345631807) / 5199.565154619129 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 390.5648511458333 < 477.0510424211237. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 91.71595651914498 (T) = (0 -371591.65187410655) / Math.Sqrt((102374309.3789855 / (299)) + (29418813.938286927 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.27252421869305 = (510795.90746859205 - 371591.65187410655) / 510795.90746859205 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: 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.278337631118882 < 4.764192860494155. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 41.57123234323635 (T) = (0 -3977.9893843706686) / Math.Sqrt((4970.08925512133 / (299)) + (8389.734114565175 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20050783603919356 = (4975.6452454306755 - 3977.9893843706686) / 4975.6452454306755 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Globalization.Tests.Perf_NumberCultureInfo

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_x64_alpine 3.15/System.Globalization.Tests.Perf_NumberCultureInfo.ToString(culturestring%3a%20fr).html>) 103.29 ns 88.53 ns 0.86 0.00 True
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Globalization.Tests.Perf_NumberCultureInfo.ToString(culturestring%3a%20).html>) 102.82 ns 91.62 ns 0.89 0.01 False

graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Globalization.Tests.Perf_NumberCultureInfo*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Globalization.Tests.Perf_NumberCultureInfo.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 88.53382646823502 < 98.90378701341668. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 40.710634244931605 (T) = (0 -90.29002764050547) / Math.Sqrt((1.962428012455552 / (299)) + (1.58475509847795 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.13122018297776056 = (103.92740009773291 - 90.29002764050547) / 103.92740009773291 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.Perf_NumberCultureInfo.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 91.618907740398 < 98.73739925709573. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 20.204263544437563 (T) = (0 -92.52357404466325) / Math.Sqrt((2.656259806461748 / (299)) + (4.723159009041008 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.11051960501195265 = (104.01980140990804 - 92.52357404466325) / 104.01980140990804 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[ImmutableHashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.CtorFromCollection(String).ImmutableHashSet(Size%3a%20512).html>) 114.65 μs 90.69 μs 0.79 0.01 False
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.CtorFromCollection(String).ImmutableDictionary(Size%3a%20512).html>) 132.71 μs 111.60 μs 0.84 0.03 False
[SortedDictionaryDeepCopy - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.CtorFromCollection(String).SortedDictionaryDeepCopy(Size%3a%20512).html>) 12.37 μs 10.66 μs 0.86 0.13 False
[ConcurrentBag - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.CtorFromCollection(String).ConcurrentBag(Size%3a%20512).html>) 11.37 μs 10.37 μs 0.91 0.00 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorFromCollection&lt;String&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 90.69338756229237 < 109.73468458068437. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 93.16272742838262 (T) = (0 -91686.07112987395) / Math.Sqrt((2135779.3005344397 / (299)) + (679331.7739020722 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.18875148475067063 = (113018.47634407703 - 91686.07112987395) / 113018.47634407703 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 111.59708568239796 < 124.91377993943577. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 36.35777332462958 (T) = (0 -107221.49680359286) / Math.Sqrt((3503644.0644568307 / (299)) + (4494058.088266211 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15909824820242857 = (127507.75768321157 - 107221.49680359286) / 127507.75768321157 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<String>.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.664657330582957 < 11.193778076252167. IsChangePoint: Marked as a change because one of 4/8/2023 3:09:32 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 13.314146336612145 (T) = (0 -10536.502548713122) / Math.Sqrt((111171.55755566436 / (299)) + (57115.215155044614 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.07552227475779423 = (11397.248696232939 - 10536.502548713122) / 11397.248696232939 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<String>.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 10.367552383209512 < 10.793771963043557. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 42.583190403977596 (T) = (0 -10456.992091542206) / Math.Sqrt((4802.9955264086475 / (299)) + (6857.658625057253 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.08137839999689539 = (11383.350980977222 - 10456.992091542206) / 11383.350980977222 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_SliceSlice

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.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_SliceSlice.Count(Options%3a%20NonBacktracking).html>) 724.86 ms 523.36 ms 0.72 0.22 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_SliceSlice*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_SliceSlice.Count(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 523.36378925 < 652.7730951416665. IsChangePoint: Marked as a change because one of 3/10/2023 12:53:36 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 17.94465082255117 (T) = (0 -451077870.0888889) / Math.Sqrt((12695936086328938 / (299)) + (402965154861783.3 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.24881537532299067 = (600488688.4936458 - 451077870.0888889) / 600488688.4936458 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Benchstone.BenchI.Midpoint

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_x64_alpine 3.15/Benchstone.BenchI.Midpoint.Test.html>) 345.86 ms 172.39 ms 0.50 0.16 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Benchstone.BenchI.Midpoint*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### Benchstone.BenchI.Midpoint.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 172.38900141666664 < 322.00993060769235. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 147.04466261571872 (T) = (0 -170590391.36080587) / Math.Sqrt((290626929909151.3 / (299)) + (6508639348539.47 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5054527642509552 = (344942563.6813609 - 170590391.36080587) / 344942563.6813609 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[MissingProperties - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive(Location).MissingProperties.html>) 623.47 ns 441.81 ns 0.71 0.01 True
[CaseInsensitiveNotMatching - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive(Location).CaseInsensitiveNotMatching.html>) 963.99 ns 728.50 ns 0.76 0.01 True
[CaseInsensitiveMatching - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive(Location).CaseInsensitiveMatching.html>) 964.07 ns 717.92 ns 0.74 0.01 True
[Baseline - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive(Location).Baseline.html>) 946.45 ns 717.49 ns 0.76 0.02 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
py .\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>.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 441.80666543582004 < 592.4761827899199. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 81.54577866864032 (T) = (0 -447.7926968233433) / Math.Sqrt((86.46183264533599 / (299)) + (70.46068043159588 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2890928698898462 = (629.8891625323249 - 447.7926968233433) / 629.8891625323249 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 728.4968659292383 < 913.9203917313536. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 33.27852658210693 (T) = (0 -735.9200705650285) / Math.Sqrt((193.41856359197502 / (299)) + (646.89667371757 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.23028603404783157 = (956.0955148509804 - 735.9200705650285) / 956.0955148509804 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### 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 717.9219137443163 < 907.041854348472. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 95.45207039523144 (T) = (0 -729.017704037972) / Math.Sqrt((243.30637616651148 / (299)) + (73.09841279813278 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.23794380783698468 = (956.6456011186431 - 729.017704037972) / 956.6456011186431 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 717.4934226356419 < 906.5807832085613. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 76.84892423960025 (T) = (0 -728.491311246093) / Math.Sqrt((512.0721564955016 / (299)) + (100.45266085016718 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.2392502988946603 = (957.5965789899404 - 728.491311246093) / 957.5965789899404 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_Multithreading - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch_Multithreading(total%3a%2040000%2c%20unique%3a%201600%2c%20cacheSize%3a%203200).html>) 3.70 ms 3.37 ms 0.91 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
py .\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_Multithreading(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 3.3723440191780827 < 3.5454002319408704. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 26.285844733126662 (T) = (0 -3378920.2174501778) / Math.Sqrt((2256439864.4223595 / (299)) + (2578341666.293223 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.09437309277288798 = (3731028.959592094 - 3378920.2174501778) / 3731028.959592094 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Numerics.Tests.Perf_VectorOf<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_x64_alpine 3.15/System.Numerics.Tests.Perf_VectorOf(UInt16).GetHashCodeBenchmark.html>) 51.52 ns 33.32 ns 0.65 0.06 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_VectorOf&lt;UInt16&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Numerics.Tests.Perf_VectorOf<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.3241408379055 < 48.60575011213106. IsChangePoint: Marked as a change because one of 3/3/2023 4:59:02 PM, 3/13/2023 2:14:21 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 34.39096163881004 (T) = (0 -36.444527716460684) / Math.Sqrt((4.362062155384262 / (299)) + (2.8228579853688385 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.30497386162511586 = (52.43619729421339 - 36.444527716460684) / 52.43619729421339 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(LoginViewModel).SerializeToString(Mode%3a%20Reflection).html>) 292.34 ns 219.83 ns 0.75 0.08 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(LoginViewModel).SerializeToString(Mode%3a%20SourceGen).html>) 232.86 ns 181.03 ns 0.78 0.09 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
py .\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>.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 219.83011710180634 < 283.5193334681805. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 60.27346541504724 (T) = (0 -222.816664962484) / Math.Sqrt((39.36618658378346 / (299)) + (16.932408097977394 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2329535319709652 = (290.4865275437912 - 222.816664962484) / 290.4865275437912 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<LoginViewModel>.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 181.0266966416755 < 221.5882710209178. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 29.14267978604523 (T) = (0 -182.88938050084997) / Math.Sqrt((29.412711449162394 / (299)) + (43.41484504842885 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21609141764705184 = (233.3044753150892 - 182.88938050084997) / 233.3044753150892 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in GuardedDevirtualization.ThreeClassVirtual

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_x64_alpine 3.15/GuardedDevirtualization.ThreeClassVirtual.Call(testInput%3a%20pB%3d0.67%20pD%3d0.33).html>) 3.80 ns 1.12 ns 0.30 0.03 True
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/GuardedDevirtualization.ThreeClassVirtual.Call(testInput%3a%20pB%3d0.33%20pD%3d0.67).html>) 3.79 ns 0.95 ns 0.25 0.05 True
[Call - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/GuardedDevirtualization.ThreeClassVirtual.Call(testInput%3a%20pB%3d0.33%20pD%3d0.33).html>) 5.52 ns 4.43 ns 0.80 0.07 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'GuardedDevirtualization.ThreeClassVirtual*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### GuardedDevirtualization.ThreeClassVirtual.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 1.1236107195327125 < 3.6055644052141185. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 35.297465718402215 (T) = (0 -1.1025023451233438) / Math.Sqrt((0.018843334045519664 / (299)) + (0.07812997668714057 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6992073584690321 = (3.665323524910221 - 1.1025023451233438) / 3.665323524910221 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.ThreeClassVirtual.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 0.9518466858132749 < 3.600285943962686. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 41.9020904178877 (T) = (0 -1.139166535434762) / Math.Sqrt((0.029622243679338203 / (299)) + (0.05796472815391925 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6984042570973907 = (3.7771306864985137 - 1.139166535434762) / 3.7771306864985137 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### GuardedDevirtualization.ThreeClassVirtual.Call(testInput: pB=0.33 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 4.4284520798151785 < 5.247040461079222. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 19.083047039526505 (T) = (0 -2.8460838186791277) / Math.Sqrt((0.04843987623285384 / (299)) + (0.2606029232283747 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.47030833625758034 = (5.37309535621299 - 2.8460838186791277) / 5.37309535621299 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Tests.Perf_Ctor

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_x64_alpine 3.15/System.Text.Json.Tests.Perf_Ctor.Ctor(Formatted%3a%20False%2c%20SkipValidation%3a%20False).html>) 13.31 ns 12.04 ns 0.90 0.26 False
[Ctor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Ctor.Ctor(Formatted%3a%20False%2c%20SkipValidation%3a%20True).html>) 13.47 ns 12.45 ns 0.92 0.22 False

graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Ctor*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.Json.Tests.Perf_Ctor.Ctor(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 12.040948455631192 < 12.61067447902585. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 19.177611525475196 (T) = (0 -12.418508943200417) / Math.Sqrt((0.7653068836565177 / (299)) + (0.025306055194226247 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.09143319416751317 = (13.668239763417052 - 12.418508943200417) / 13.668239763417052 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Ctor.Ctor(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 12.450985187853108 < 12.818947512934091. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 20.693635822251636 (T) = (0 -12.469078800058416) / Math.Sqrt((0.8560662409647145 / (299)) + (0.010358597883472835 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.09059263437512721 = (13.711213776557276 - 12.469078800058416) / 13.711213776557276 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Xml_ToStream<Location>

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_x64_alpine 3.15/MicroBenchmarks.Serializers.Xml_ToStream(Location).DataContractSerializerBinaryXml.html>) 908.14 ns 625.15 ns 0.69 0.03 True
[XmlSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.XmlToStream(Location).XmlSerializer.html>) 1.93 μs 1.80 μs 0.93 0.00 False
[DataContractSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.XmlToStream(Location).DataContractSerializer.html>) 1.41 μs 982.90 ns 0.69 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;Location&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### MicroBenchmarks.Serializers.Xml_ToStream<Location>.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 625.1525984619744 < 858.4108504194505. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 107.74975367415834 (T) = (0 -622.3884585932941) / Math.Sqrt((973.1969224296869 / (181)) + (67.25931161015855 / (15))) is greater than 1.9722675325819379 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (181) + (15) - 2, .975) and 0.35217948035634744 = (960.7421187208644 - 622.3884585932941) / 960.7421187208644 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Xml_ToStream<Location>.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.7991418826331056 < 1.834086741700782. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 27.033404208375416 (T) = (0 -1777.7724893624468) / Math.Sqrt((481.7819154567715 / (299)) + (310.2377765015899 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.06902222927990684 = (1909.5756582752501 - 1777.7724893624468) / 1909.5756582752501 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Xml_ToStream<Location>.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 982.8965146477383 < 1.3574115432395257. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 160.25384804243413 (T) = (0 -993.9868474336913) / Math.Sqrt((373.37523820489713 / (299)) + (91.42023036145522 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3040550184415674 = (1428.2549249911283 - 993.9868474336913) / 1428.2549249911283 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.TryAddDefaultSize<Int32>

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_x64_alpine 3.15/System.Collections.TryAddDefaultSize(Int32).Dictionary(Count%3a%20512).html>) 7.14 μs 5.37 μs 0.75 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryAddDefaultSize&lt;Int32&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Collections.TryAddDefaultSize<Int32>.Dictionary(Count: 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.370154182379157 < 6.678349133157296. IsChangePoint: Marked as a change because one of 2/24/2023 8:06:06 PM, 3/13/2023 2:14:21 PM, 3/17/2023 10:06:19 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 42.81944846499956 (T) = (0 -5326.485774116203) / Math.Sqrt((173780.86459033168 / (299)) + (671.487831053587 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16745102349331697 = (6397.804723111622 - 5326.485774116203) / 6397.804723111622 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.IO.Tests.StreamReaderReadLineTests

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.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.IO.Tests.StreamReaderReadLineTests.ReadLine(LineLengthRange%3a%20%5b%20%2033%2c%20%20128%5d).html>) 6.98 μs 6.16 μs 0.88 0.01 False
[ReadLine - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.IO.Tests.StreamReaderReadLineTests.ReadLine(LineLengthRange%3a%20%5b%20%20%200%2c%20%20%20%200%5d).html>) 156.25 μs 145.33 μs 0.93 0.00 True
[ReadLine - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.IO.Tests.StreamReaderReadLineTests.ReadLine(LineLengthRange%3a%20%5b%20%20%201%2c%20%20%20%201%5d).html>) 130.33 μs 120.81 μs 0.93 0.04 False

graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.StreamReaderReadLineTests*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.IO.Tests.StreamReaderReadLineTests.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 6.160771017228978 < 6.624125491979127. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 61.156474759845786 (T) = (0 -6073.943148713117) / Math.Sqrt((10728.128703285454 / (299)) + (2158.3559011434604 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.11894202471882467 = (6893.919945250727 - 6073.943148713117) / 6893.919945250727 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.StreamReaderReadLineTests.ReadLine(LineLengthRange: [ 0, 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 145.33099820594123 < 148.69787831790865. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 75.41095660193973 (T) = (0 -143080.86013452904) / Math.Sqrt((398655.1744285854 / (299)) + (394453.2414689983 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.0805512481039631 = (155615.91642761548 - 143080.86013452904) / 155615.91642761548 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.StreamReaderReadLineTests.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 120.80931843449518 < 123.33311791858709. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 40.74435882504879 (T) = (0 -121358.21133042066) / Math.Sqrt((3222426.2280696076 / (299)) + (467025.7594584591 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.06431319286384501 = (129699.60718144593 - 121358.21133042066) / 129699.60718144593 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromString(Mode%3a%20SourceGen).html>) 273.82 ns 221.12 ns 0.81 0.02 True
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromString(Mode%3a%20Reflection).html>) 270.48 ns 218.28 ns 0.81 0.04 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
py .\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>.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 221.11704350403113 < 260.1046564330605. IsChangePoint: Marked as a change because one of 2/20/2023 9:09:49 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 60.712896021484596 (T) = (0 -218.94130405983393) / Math.Sqrt((31.846926369912683 / (299)) + (14.342400484911847 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.22231011134410578 = (281.52777508556403 - 218.94130405983393) / 281.52777508556403 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: 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 218.28218435865477 < 256.34236457674024. IsChangePoint: Marked as a change because one of 2/20/2023 10:31:48 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 63.92004126900576 (T) = (0 -215.90817599557008) / Math.Sqrt((24.620501129815274 / (299)) + (10.717633697807093 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20903308690595435 = (272.96739272063417 - 215.90817599557008) / 272.96739272063417 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_Strings - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Tests.Perf_StringBuilder.Append_Strings(repeat%3a%201).html>) 154.95 ns 142.36 ns 0.92 0.04 False
[Append_Char_Capacity - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Tests.Perf_StringBuilder.Append_Char_Capacity(length%3a%20100000).html>) 118.49 μs 107.19 μs 0.90 0.00 True
[AppendLine_Strings - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Tests.Perf_StringBuilder.AppendLine_Strings.html>) 179.11 ns 137.72 ns 0.77 0.04 True
[Append_Strings - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Tests.Perf_StringBuilder.Append_Strings(repeat%3a%201000).html>) 61.24 μs 52.37 μs 0.86 0.00 True
[Append_ValueTypes_Interpolated - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Tests.Perf_StringBuilder.Append_ValueTypes_Interpolated.html>) 2.37 μs 1.81 μs 0.77 0.01 False
[Append_Primitives - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Tests.Perf_StringBuilder.Append_Primitives.html>) 796.49 ns 728.50 ns 0.91 0.01 False
[Append_ValueTypes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Tests.Perf_StringBuilder.Append_ValueTypes.html>) 1.96 μs 1.51 μs 0.77 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Tests.Perf_StringBuilder*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.Tests.Perf_StringBuilder.Append_Strings(repeat: 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 142.35770493184603 < 147.29113603828705. IsChangePoint: Marked as a change because one of 3/17/2023 1:30:52 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 16.967338384515642 (T) = (0 -144.1632620243038) / Math.Sqrt((11.267229357478922 / (299)) + (4.093671670913127 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.06155519690742374 = (153.61933013984873 - 144.1632620243038) / 153.61933013984873 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_StringBuilder.Append_Char_Capacity(length: 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 107.19419533527696 < 113.00264095565025. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 137.42736236394663 (T) = (0 -106207.19276766373) / Math.Sqrt((57959.103177839555 / (299)) + (120924.13496840696 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.10519998899698094 = (118693.77677880402 - 106207.19276766373) / 118693.77677880402 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_StringBuilder.AppendLine_Strings ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 137.71930271010146 < 169.29125270826682. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 15.245329276207006 (T) = (0 -139.4672630940804) / Math.Sqrt((9.501633273160543 / (299)) + (67.66159624984563 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.1942622698287006 = (173.09263035805677 - 139.4672630940804) / 173.09263035805677 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_StringBuilder.Append_Strings(repeat: 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 52.366185510061136 < 59.05882361465419. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 48.21778892407825 (T) = (0 -54069.593444624785) / Math.Sqrt((206352.35331477167 / (299)) + (361864.8404552198 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1231742521452221 = (61665.15248543993 - 54069.593444624785) / 61665.15248543993 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### 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 1.81177014622993 < 2.2141170322265387. IsChangePoint: Marked as a change because one of 2/9/2023 12:40:40 PM, 4/9/2023 4:09:45 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 133.1840324707034 (T) = (0 -1793.4783675420067) / Math.Sqrt((16089.760810867396 / (299)) + (211.53661710111288 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.379644671758344 = (2891.0501544743192 - 1793.4783675420067) / 2891.0501544743192 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_StringBuilder.Append_Primitives ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 728.501561146991 < 764.5062588676668. IsChangePoint: Marked as a change because one of 2/17/2023 5:12:50 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 32.87967391400904 (T) = (0 -732.8428406437783) / Math.Sqrt((91.72698561426664 / (299)) + (51.03009180342367 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.07953188064492199 = (796.1631970015882 - 732.8428406437783) / 796.1631970015882 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_StringBuilder.Append_ValueTypes ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.506397332883706 < 1.861318080678321. IsChangePoint: Marked as a change because one of 4/9/2023 4:09:45 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 123.95654429453273 (T) = (0 -1495.4812182744818) / Math.Sqrt((7585.372793368647 / (299)) + (265.77725329455245 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.35236621603938667 = (2309.1463961760082 - 1495.4812182744818) / 2309.1463961760082 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding%3a%20(Map%2c%20Lax)).html>) 473.43 ns 403.59 ns 0.85 0.00 True
[SkipValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding%3a%20(Text%20String%2c%20Strict)).html>) 52.61 ns 41.21 ns 0.78 0.07 True
[ReadCoseKey - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Formats.Cbor.Tests.Perf_CborReader.ReadCoseKey(publicKey%3a%20ECDSA_P384).html>) 489.97 ns 425.65 ns 0.87 0.00 True
[SkipValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding%3a%20(Map%2c%20Canonical)).html>) 556.47 ns 468.42 ns 0.84 0.01 True
[SkipValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding%3a%20(Byte%20String%2c%20Strict)).html>) 44.85 ns 34.69 ns 0.77 0.08 True
[SkipValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding%3a%20(Array%2c%20Strict)).html>) 202.42 ns 167.98 ns 0.83 0.03 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
py .\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 403.5878471272609 < 450.79615262354537. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 113.28172559741928 (T) = (0 -400.2165874821612) / Math.Sqrt((35.334947883286745 / (299)) + (4.81809189661034 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.16139703768069458 = (477.24203880140266 - 400.2165874821612) / 477.24203880140266 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 41.214164409039405 < 50.07966277246686. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 47.16142805318595 (T) = (0 -41.4830520769311) / Math.Sqrt((1.2364550552637097 / (299)) + (0.6474996661752508 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.19824323667016563 = (51.74019599740552 - 41.4830520769311) / 51.74019599740552 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 425.6514117820419 < 472.55337100436515. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 85.53070202213785 (T) = (0 -424.0542750212746) / Math.Sqrt((28.34776848827918 / (299)) + (8.942596908743377 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1435875658664557 = (495.1519362867516 - 424.0542750212746) / 495.1519362867516 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, 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 468.4221017392519 < 528.9027470359982. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 55.43773176170322 (T) = (0 -469.4314730783148) / Math.Sqrt((27.597428430304223 / (299)) + (36.37094094866576 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15779557908486658 = (557.3842423769681 - 469.4314730783148) / 557.3842423769681 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 34.688770974489124 < 41.675360992270136. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 107.79224945767864 (T) = (0 -34.452322566082984) / Math.Sqrt((0.535062059378417 / (299)) + (0.07096026779390498 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20168493968416965 = (43.156297906308964 - 34.452322566082984) / 43.156297906308964 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 167.97960528352408 < 193.26850489024645. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 169.25241246131665 (T) = (0 -168.06076920132995) / Math.Sqrt((8.671660258512986 / (299)) + (0.20234104119411736 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.17190885892856808 = (202.9496040543113 - 168.06076920132995) / 202.9496040543113 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[IndexOfValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Memory.Span(Int32).IndexOfValue(Size%3a%20512).html>) 19.65 ns 18.10 ns 0.92 0.29 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span&lt;Int32&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Memory.Span<Int32>.IndexOfValue(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.10006402590792 < 18.634723114455852. IsChangePoint: Marked as a change because one of 2/9/2023 12:40:40 PM, 3/3/2023 11:43:56 AM, 4/3/2023 9:14:01 PM, 4/6/2023 11:23:56 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 10.570819879698869 (T) = (0 -16.541593965729792) / Math.Sqrt((1.051883252329977 / (299)) + (0.5839665994346939 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.11634514924223863 = (18.719519223534917 - 16.541593965729792) / 18.719519223534917 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Microsoft.Extensions.Logging.FormattingOverhead

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[FourArguments_DefineMessage - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.Logging.FormattingOverhead.FourArguments_DefineMessage.html>) 221.77 ns 196.01 ns 0.88 0.03 False
[FourArguments_EnumerableArgument - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.Logging.FormattingOverhead.FourArguments_EnumerableArgument.html>) 770.63 ns 711.31 ns 0.92 0.02 False
[TwoArguments - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.Logging.FormattingOverhead.TwoArguments.html>) 138.37 ns 125.34 ns 0.91 0.04 False
[TwoArguments_DefineMessage - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.Extensions.Logging.FormattingOverhead.TwoArguments_DefineMessage.html>) 127.91 ns 113.34 ns 0.89 0.09 False

graph graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Logging.FormattingOverhead*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### Microsoft.Extensions.Logging.FormattingOverhead.FourArguments_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 196.0142667484033 < 211.1578831451808. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 29.332814343412377 (T) = (0 -193.53430923378332) / Math.Sqrt((14.434154994918028 / (299)) + (12.34376548560864 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12393379521121833 = (220.9128809853408 - 193.53430923378332) / 220.9128809853408 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.FormattingOverhead.FourArguments_EnumerableArgument ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 711.3079042990444 < 727.3860905701644. IsChangePoint: Marked as a change because one of 2/10/2023 8:30:00 AM, 3/21/2023 2:16:57 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 19.75949075611122 (T) = (0 -712.6230291675512) / Math.Sqrt((256.2391896578505 / (299)) + (76.84858436212009 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.06350119915360601 = (760.943877902986 - 712.6230291675512) / 760.943877902986 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.FormattingOverhead.TwoArguments ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.34187795240558 < 135.31376908155494. IsChangePoint: Marked as a change because one of 2/9/2023 12:40:40 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 43.163512146191856 (T) = (0 -120.2380186661239) / Math.Sqrt((8.692995491360234 / (299)) + (3.454838792955478 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15457276063809613 = (142.22160473191633 - 120.2380186661239) / 142.22160473191633 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.FormattingOverhead.TwoArguments_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 113.34211710324878 < 118.36015815911875. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 24.403450430252384 (T) = (0 -110.16097885633096) / Math.Sqrt((7.357755096445482 / (299)) + (2.522570769510573 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.0911147088108419 = (121.20449073633885 - 110.16097885633096) / 121.20449073633885 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.IterateForEachNonGeneric<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Stack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.IterateForEachNonGeneric(String).Stack(Size%3a%20512).html>) 3.04 μs 1.03 μs 0.34 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForEachNonGeneric&lt;String&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Collections.IterateForEachNonGeneric<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 1.0344801098402021 < 2.8873374118500754. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 986.4339540691481 (T) = (0 -1030.8323164676358) / Math.Sqrt((1098.6531160439272 / (299)) + (6.022272818434503 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6589281994018561 = (3022.3322909130748 - 1030.8323164676358) / 3022.3322909130748 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Benchstone.BenchI.NDhrystone

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_x64_alpine 3.15/Benchstone.BenchI.NDhrystone.Test.html>) 284.22 ms 247.56 ms 0.87 0.13 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Benchstone.BenchI.NDhrystone*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### Benchstone.BenchI.NDhrystone.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 247.55741533333335 < 275.05169981333336. IsChangePoint: Marked as a change because one of 3/21/2023 12:39:01 PM, 4/8/2023 3:09:32 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 24.987320138202435 (T) = (0 -252572765.33052504) / Math.Sqrt((111581582575066.03 / (299)) + (28007046312379.555 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12897840774620667 = (289973024.29321617 - 252572765.33052504) / 289973024.29321617 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling%3a%20Skip%2c%20SegmentSize%3a%20100%2c%20TestCase%3a%20ShortMultiLine).html>) 89.76 ns 71.63 ns 0.80 0.04 True
[Utf8JsonReaderCommentParsing - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling%3a%20Skip%2c%20SegmentSize%3a%200%2c%20TestCase%3a%20ShortMultiLine).html>) 79.39 ns 60.63 ns 0.76 0.00 True
[Utf8JsonReaderCommentParsing - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling%3a%20Skip%2c%20SegmentSize%3a%200%2c%20TestCase%3a%20LongSingleLine).html>) 122.28 ns 107.79 ns 0.88 0.00 True
[Utf8JsonReaderCommentParsing - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling%3a%20Skip%2c%20SegmentSize%3a%200%2c%20TestCase%3a%20ShortSingleLine).html>) 76.07 ns 61.40 ns 0.81 0.00 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
py .\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: Skip, 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 71.63136151647309 < 85.50366608269997. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 70.39531795605585 (T) = (0 -72.36878361055265) / Math.Sqrt((2.3031539834321095 / (299)) + (0.7548669138884546 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.18983710286411176 = (89.32621311885907 - 72.36878361055265) / 89.32621311885907 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 60.631592128198555 < 75.52490981808964. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 107.7936430519041 (T) = (0 -61.80618615057695) / Math.Sqrt((0.7128613892129506 / (299)) + (0.3735134345496412 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.22365488385959598 = (79.61174079106223 - 61.80618615057695) / 79.61174079106223 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: LongSingleLine) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 107.78925952710277 < 115.79073083958117. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 38.900694393654256 (T) = (0 -109.03107886888827) / Math.Sqrt((1.5880207592560205 / (299)) + (1.3719958847771268 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.09990404040776513 = (121.13272780191345 - 109.03107886888827) / 121.13272780191345 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 61.395903072913036 < 72.65456270406882. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 69.99129071059016 (T) = (0 -62.14958442021451) / Math.Sqrt((0.5747061965181397 / (299)) + (0.5870040111243177 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.18579229024888053 = (76.33136320855019 - 62.14958442021451) / 76.33136320855019 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_ToString<MyEventsListerViewModel>

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_x64_alpine 3.15/MicroBenchmarks.Serializers.Json_ToString(MyEventsListerViewModel).SystemTextJsonReflection.html>) 301.46 μs 217.25 μs 0.72 0.00 True
[SystemTextJsonSourceGen - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.Json_ToString(MyEventsListerViewModel).SystemTextJsonSourceGen.html>) 256.34 μs 191.41 μs 0.75 0.00 True
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.JsonToString(MyEventsListerViewModel).JsonNet.html>) 521.16 μs 384.03 μs 0.74 0.07 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToString&lt;MyEventsListerViewModel&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### MicroBenchmarks.Serializers.Json_ToString<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 217.25354545454542 < 289.80155108108625. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 87.18881335538858 (T) = (0 -221529.1241934911) / Math.Sqrt((17924336.387034558 / (299)) + (11833132.434953818 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2661137363398474 = (301857.56998454547 - 221529.1241934911) / 301857.56998454547 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToString<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 191.4053027962137 < 245.69617496873235. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 164.84415040435593 (T) = (0 -189699.7472077117) / Math.Sqrt((13186728.180948729 / (299)) + (2159705.347358926 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.27371050618075327 = (261190.26754767116 - 189699.7472077117) / 261190.26754767116 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_ToString<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 384.0305607798165 < 492.35343088187886. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 53.04715198587616 (T) = (0 -381522.60795537144) / Math.Sqrt((105271255.81979874 / (299)) + (91356728.66692595 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.26085516604325665 = (516167.59047483123 - 381522.60795537144) / 516167.59047483123 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Tests.Perf_Base64

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[WriteByteArrayAsBase64_NoEscaping - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Base64.WriteByteArrayAsBase64_NoEscaping(NumberOfBytes%3a%20100).html>) 62.44 ns 55.18 ns 0.88 0.24 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Base64*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.Json.Tests.Perf_Base64.WriteByteArrayAsBase64_NoEscaping(NumberOfBytes: 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 55.18378361892121 < 61.00950363695448. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 24.150693467251482 (T) = (0 -52.6238841687372) / Math.Sqrt((4.225057706075893 / (299)) + (3.3090489838219272 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.18190284408971547 = (64.32473672418942 - 52.6238841687372) / 64.32473672418942 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_FromString<CollectionsOfPrimitives>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.JsonFromString(CollectionsOfPrimitives).JsonNet.html>) 409.36 μs 325.50 μs 0.80 0.03 True
[SystemTextJsonSourceGen - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.Json_FromString(CollectionsOfPrimitives).SystemTextJsonSourceGen.html>) 205.09 μs 162.88 μs 0.79 0.03 False

graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromString&lt;CollectionsOfPrimitives&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### MicroBenchmarks.Serializers.Json_FromString<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 325.5020776909722 < 388.5356700668943. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 15.856307726944868 (T) = (0 -330339.27134745324) / Math.Sqrt((20589539.128905594 / (299)) + (336426283.64356023 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.18544922736721464 = (405547.79695283197 - 330339.27134745324) / 405547.79695283197 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### MicroBenchmarks.Serializers.Json_FromString<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 162.88040445508102 < 195.2519235254979. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 6/2/2023 1:11:39 AM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 6.960143432097762 (T) = (0 -171806.64047665158) / Math.Sqrt((13244118.954211751 / (299)) + (311033258.40056807 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.17110455246187525 = (207271.78679401468 - 171806.64047665158) / 207271.78679401468 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/Benchstone.MDBenchI.MDPuzzle.Test.html>) 386.89 ms 337.95 ms 0.87 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
py .\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 337.9545696428571 < 367.6611760940476. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 28.774991100753407 (T) = (0 -347900207.11169726) / Math.Sqrt((6416333796524.731 / (299)) + (31194278133859.88 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1070548540951562 = (389609830.69028413 - 347900207.11169726) / 389609830.69028413 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(IndexViewModel).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 18.37 μs 14.93 μs 0.81 0.03 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(IndexViewModel).DeserializeFromReader(Mode%3a%20Reflection).html>) 24.89 μs 19.70 μs 0.79 0.02 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(IndexViewModel).DeserializeFromStream(Mode%3a%20Reflection).html>) 20.50 μs 16.16 μs 0.79 0.01 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(IndexViewModel).DeserializeFromStream(Mode%3a%20SourceGen).html>) 20.13 μs 15.86 μs 0.79 0.01 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(IndexViewModel).DeserializeFromReader(Mode%3a%20SourceGen).html>) 25.04 μs 19.17 μs 0.77 0.02 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;IndexViewModel&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.DeserializeFromUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.92907780517993 < 17.957231362791866. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 114.18762294113772 (T) = (0 -14950.144204687582) / Math.Sqrt((85950.61918516905 / (299)) + (11269.617170912026 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1975404714697666 = (18630.40274700199 - 14950.144204687582) / 18630.40274700199 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 19.701779747060915 < 23.983153907935467. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 99.37615972225161 (T) = (0 -19590.374827589832) / Math.Sqrt((114811.06176693742 / (299)) + (38333.29121913196 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2157042627583849 = (24978.300782928643 - 19590.374827589832) / 24978.300782928643 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 16.159898721478733 < 19.26242509619996. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 78.37985284723914 (T) = (0 -16178.410393746179) / Math.Sqrt((69940.46552604831 / (299)) + (35814.35115433182 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.19875277971921468 = (20191.533878990173 - 16178.410393746179) / 20191.533878990173 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: 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.863792793342446 < 19.20145563358756. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 104.02586169435315 (T) = (0 -16046.471751831292) / Math.Sqrt((63841.2252043673 / (299)) + (21276.727001949657 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20753720779475923 = (20248.864564578067 - 16046.471751831292) / 20248.864564578067 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 19.16553770746437 < 23.75040654552818. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 79.83372785339968 (T) = (0 -19340.696633445466) / Math.Sqrt((103581.77933221674 / (299)) + (71135.89304090668 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.22747569582478314 = (25035.712829895365 - 19340.696633445466) / 25035.712829895365 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ImmutableSortedDictionary(String%2c%20String)).DeserializeFromString(Mode%3a%20Reflection).html>) 59.46 μs 51.46 μs 0.87 0.11 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ImmutableSortedDictionary(String%2c%20String)).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 61.34 μs 50.61 μs 0.82 0.11 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ImmutableSortedDictionary(String%2c%20String)).DeserializeFromString(Mode%3a%20SourceGen).html>) 59.65 μs 51.64 μs 0.87 0.13 False

graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;ImmutableSortedDictionary&lt;String, String&gt;&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.Json.Serialization.Tests.ReadJson<ImmutableSortedDictionary<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 51.45772707648026 < 56.48132118741969. IsChangePoint: Marked as a change because one of 2/7/2023 8:22:47 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 20.895479211804776 (T) = (0 -52937.86724491737) / Math.Sqrt((2958743.557044453 / (299)) + (1509624.9180614802 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1160080878027398 = (59885.01310304346 - 52937.86724491737) / 59885.01310304346 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ImmutableSortedDictionary<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 50.60763164927063 < 56.310607669279136. IsChangePoint: Marked as a change because one of 3/9/2023 1:54:27 PM, 3/10/2023 12:53:36 AM, 6/1/2023 1:33:18 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 19.277485931142667 (T) = (0 -52515.93163677972) / Math.Sqrt((7772716.681237606 / (299)) + (1482639.0975304616 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.11763284089743029 = (59517.09681737494 - 52515.93163677972) / 59517.09681737494 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ImmutableSortedDictionary<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 51.636226402243594 < 56.54245498580606. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 6/3/2023 4:12:47 AM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 12.44036435776158 (T) = (0 -53050.58644617313) / Math.Sqrt((5974310.444129477 / (299)) + (1907821.5993392922 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.11255557053721969 = (59779.05171852576 - 53050.58644617313) / 59779.05171852576 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[HashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.CtorFromCollection(Int32).HashSet(Size%3a%20512).html>) 5.79 μs 2.66 μs 0.46 0.01 True
[SortedDictionaryDeepCopy - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.CtorFromCollection(Int32).SortedDictionaryDeepCopy(Size%3a%20512).html>) 9.92 μs 6.97 μs 0.70 0.09 True
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.CtorFromCollection(Int32).SortedDictionary(Size%3a%20512).html>) 48.51 μs 38.17 μs 0.79 0.04 False

graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorFromCollection&lt;Int32&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 2.6589826942350623 < 5.518757470929132. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 267.1252166528463 (T) = (0 -2545.7059881260966) / Math.Sqrt((18469.34658782855 / (299)) + (1232.9597664583 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5573338957625258 = (5750.849147375464 - 2545.7059881260966) / 5750.849147375464 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 6.967076251287775 < 9.227095607011707. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 93.84967739379994 (T) = (0 -6980.654849095865) / Math.Sqrt((74408.93281281315 / (299)) + (5516.940720427629 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.250293317363331 = (9311.181306995106 - 6980.654849095865) / 9311.181306995106 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 38.16698444664903 < 46.06037812853506. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 16.42599078396428 (T) = (0 -37679.90173182545) / Math.Sqrt((265620.3718986544 / (299)) + (6121802.601762007 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21801501824783315 = (48184.94294787783 - 37679.90173182545) / 48184.94294787783 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

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_x64_alpine 3.15/System.Numerics.Tests.Perf_VectorOf(SByte).GetHashCodeBenchmark.html>) 106.63 ns 70.01 ns 0.66 0.03 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_VectorOf&lt;SByte&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Numerics.Tests.Perf_VectorOf<SByte>.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 70.01153361063588 < 101.0707666627476. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 31.223927829533345 (T) = (0 -72.50325240570606) / Math.Sqrt((3.7700181142071147 / (299)) + (18.238118350583562 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3231011242311133 = (107.11090681506882 - 72.50325240570606) / 107.11090681506882 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[TryParseHex - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_UInt64.TryParseHex(value%3a%20%22FFFFFFFFFFFFFFFF%22).html>) 20.94 ns 17.44 ns 0.83 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_UInt64*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Tests.Perf_UInt64.TryParseHex(value: "FFFFFFFFFFFFFFFF") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.437771371416414 < 19.533025365764235. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 66.78305882843837 (T) = (0 -17.299730410563985) / Math.Sqrt((0.05333774772334139 / (299)) + (0.035294380947572104 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16263609888471633 = (20.6597518564181 - 17.299730410563985) / 20.6597518564181 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[IterateGetPositionTenSegments - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Buffers.Tests.ReadOnlySequenceTests(Char).IterateGetPositionTenSegments.html>) 48.26 ns 44.28 ns 0.92 0.05 False
[IterateGetPositionSingleSegment - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Buffers.Tests.ReadOnlySequenceTests(Char).IterateGetPositionSingleSegment.html>) 22.80 ns 17.62 ns 0.77 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
py .\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>.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 44.277864918726905 < 46.00900399513906. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 23.421044833852772 (T) = (0 -44.48418974825218) / Math.Sqrt((0.7474209532221427 / (299)) + (0.42183041001990124 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.0843606868409536 = (48.58265597484812 - 44.48418974825218) / 48.58265597484812 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionSingleSegment ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.62181188210536 < 21.665280248330152. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 66.04355313635507 (T) = (0 -17.783154545982036) / Math.Sqrt((0.05544518180544043 / (299)) + (0.08050696280633092 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21675383058828007 = (22.704425812051653 - 17.783154545982036) / 22.704425812051653 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[Divide - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Numerics.Tests.Perf_BigInteger.Divide(arguments%3a%201024%2c512%20bits).html>) 461.46 ns 402.42 ns 0.87 0.01 True
[GreatestCommonDivisor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Numerics.Tests.Perf_BigInteger.GreatestCommonDivisor(arguments%3a%2065536%2c65536%20bits).html>) 4.30 ms 3.90 ms 0.91 0.00 True
[Ctor_ByteArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString%3a%201234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123.html>) 68.10 ns 57.94 ns 0.85 0.01 False

graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_BigInteger*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Numerics.Tests.Perf_BigInteger.Divide(arguments: 1024,512 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 402.42104909059015 < 438.107140194764. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 105.59977285969258 (T) = (0 -407.83547016487057) / Math.Sqrt((11.634778561413956 / (299)) + (2.74730405388783 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.10874759204058873 = (457.59816918603366 - 407.83547016487057) / 457.59816918603366 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.GreatestCommonDivisor(arguments: 65536,65536 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 3.8982771802721095 < 4.0880001615199095. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 397.9324294569058 (T) = (0 -3896181.092560033) / Math.Sqrt((26452498.007343166 / (299)) + (14388647.880554369 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.09464748834715475 = (4303496.198897178 - 3896181.092560033) / 4303496.198897178 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(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 57.94122453881148 < 64.52538789720167. IsChangePoint: Marked as a change because one of 3/25/2023 10:49:06 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 97.935498972411 (T) = (0 -58.082241687422105) / Math.Sqrt((1.870306423983227 / (299)) + (0.01815839888715914 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12716461563430653 = (66.54432522763912 - 58.082241687422105) / 66.54432522763912 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[DataContractSerializerBinaryXml - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.Xml_ToStream(IndexViewModel).DataContractSerializerBinaryXml.html>) 26.48 μs 18.81 μs 0.71 0.02 False
[DataContractSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.XmlToStream(IndexViewModel).DataContractSerializer.html>) 47.17 μs 33.06 μs 0.70 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
py .\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_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 18.81434408214375 < 25.14464846990609. IsChangePoint: Marked as a change because one of 4/4/2023 8:16:00 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 66.72924448666727 (T) = (0 -18786.137298217585) / Math.Sqrt((3998138.773806202 / (168)) + (49107.65105447555 / (15))) is greater than 1.9731570421590714 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (168) + (15) - 2, .975) and 0.3688628646045687 = (29765.539444050235 - 18786.137298217585) / 29765.539444050235 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### 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 33.05981968455371 < 45.481880004455135. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 152.2783288322852 (T) = (0 -32997.79323101793) / Math.Sqrt((1369725.5752278771 / (299)) + (114147.83236638257 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3375426272511543 = (49811.194785401276 - 32997.79323101793) / 49811.194785401276 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Memory.ReadOnlySequence

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Slice_StartPosition - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Memory.ReadOnlySequence.Slice_StartPosition(Segment%3a%20Multiple).html>) 9.65 ns 8.05 ns 0.83 0.19 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.ReadOnlySequence*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Memory.ReadOnlySequence.Slice_StartPosition(Segment: Multiple) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.050103196249532 < 8.716960614224543. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 14.474315562404524 (T) = (0 -8.175673133259151) / Math.Sqrt((0.1219900810074672 / (299)) + (0.07446938644948897 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.11486250670191482 = (9.236613740986174 - 8.175673133259151) / 9.236613740986174 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[CosPi - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.MathBenchmarks.Double.CosPi.html>) 31.35 μs 26.10 μs 0.83 0.06 True
[SinPi - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.MathBenchmarks.Double.SinPi.html>) 31.00 μs 25.69 μs 0.83 0.03 True
[TanPi - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.MathBenchmarks.Double.TanPi.html>) 46.36 μs 41.40 μs 0.89 0.06 False
[SinCosPi - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.MathBenchmarks.Double.SinCosPi.html>) 58.89 μs 50.27 μs 0.85 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.MathBenchmarks.Double*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 26.099590033971158 < 28.89855197332441. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 47.7568628616304 (T) = (0 -26143.80529626023) / Math.Sqrt((2302808.436968542 / (299)) + (16015.22695328268 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.14607365694611504 = (30615.99575762296 - 26143.80529626023) / 30615.99575762296 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 25.686903224697463 < 29.453894216018874. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 137.4203678869034 (T) = (0 -25732.349936138296) / Math.Sqrt((401481.94707488216 / (299)) + (2741.1506725554214 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.17258402023240027 = (31099.6530951286 - 25732.349936138296) / 31099.6530951286 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.MathBenchmarks.Double.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 41.39529508178603 < 44.04648803296044. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 64.81726378365724 (T) = (0 -41455.3804200415) / Math.Sqrt((1764953.823565105 / (299)) + (5983.929742988708 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.11041520997979345 = (46600.81971399248 - 41455.3804200415) / 46600.81971399248 is greater than 0.05. IsChangeEdgeDetector: Marked not as a 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 50.27302015005359 < 55.9314861738782. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 122.96920952447324 (T) = (0 -50136.284123613) / Math.Sqrt((1426280.1593836625 / (299)) + (7686.306498449558 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15129494133218244 = (59073.860361230974 - 50136.284123613) / 59073.860361230974 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Benchmark.GetChildKeysTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[AddChainedConfigurationEmpty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Benchmark.GetChildKeysTests.AddChainedConfigurationEmpty.html>) 30.04 ms 13.67 ms 0.46 0.54 False
[AddChainedConfigurationNoDelimiter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Benchmark.GetChildKeysTests.AddChainedConfigurationNoDelimiter.html>) 570.40 μs 431.80 μs 0.76 0.11 False
[AddChainedConfigurationWithSplitting - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Benchmark.GetChildKeysTests.AddChainedConfigurationWithSplitting.html>) 310.07 μs 201.45 μs 0.65 0.20 False

graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Benchmark.GetChildKeysTests*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### Benchmark.GetChildKeysTests.AddChainedConfigurationEmpty ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.670883203703703 < 25.72894392559524. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 37.51845136664719 (T) = (0 -13771470.226411415) / Math.Sqrt((8525498148960.253 / (299)) + (1400260495612.685 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.48745494821204705 = (26868799.490642365 - 13771470.226411415) / 26868799.490642365 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Benchmark.GetChildKeysTests.AddChainedConfigurationNoDelimiter ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 431.8021429398148 < 537.2370380297764. IsChangePoint: Marked as a change because one of 6/1/2023 4:59:33 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 7.150551959076666 (T) = (0 -490378.85016313713) / Math.Sqrt((220645546.4088754 / (299)) + (1367042383.3627565 / (13))) is greater than 1.9676459287777595 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (13) - 2, .975) and 0.13047511390835154 = (563961.8347984245 - 490378.85016313713) / 563961.8347984245 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Benchmark.GetChildKeysTests.AddChainedConfigurationWithSplitting ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.44907320675105 < 282.6928362307098. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 14.56849936113533 (T) = (0 -234799.4947572503) / Math.Sqrt((84013682.29405317 / (299)) + (194644154.7514116 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.18428257585429403 = (287844.1575563423 - 234799.4947572503) / 287844.1575563423 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 215.66 ns 164.87 ns 0.76 0.08 True
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeToWriter(Mode%3a%20Reflection).html>) 41.75 ns 25.52 ns 0.61 0.19 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeToString(Mode%3a%20Reflection).html>) 123.41 ns 91.53 ns 0.74 0.18 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeToUtf8Bytes(Mode%3a%20Reflection).html>) 110.33 ns 79.60 ns 0.72 0.30 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeObjectProperty(Mode%3a%20Reflection).html>) 225.79 ns 177.18 ns 0.78 0.07 True
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeToWriter(Mode%3a%20SourceGen).html>) 41.27 ns 25.40 ns 0.62 0.16 False
[SerializeToUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeToUtf8Bytes(Mode%3a%20SourceGen).html>) 112.87 ns 80.00 ns 0.71 0.31 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeToStream(Mode%3a%20SourceGen).html>) 165.81 ns 134.18 ns 0.81 0.19 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeToStream(Mode%3a%20Reflection).html>) 174.61 ns 134.12 ns 0.77 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
py .\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>.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 164.86522603847445 < 206.79909064037975. IsChangePoint: Marked as a change because one of 2/10/2023 2:43:15 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 52.34506337912745 (T) = (0 -164.85620990150176) / Math.Sqrt((27.575791834469495 / (299)) + (14.975247198468509 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.24901682953304186 = (219.5205117566015 - 164.85620990150176) / 219.5205117566015 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 25.524795336207948 < 39.69470616983492. IsChangePoint: Marked as a change because one of 3/20/2023 10:25:17 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 90.9748721655233 (T) = (0 -25.612751734963158) / Math.Sqrt((14.183234480851663 / (299)) + (0.043214033409918105 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4434386140919358 = (46.019634821007884 - 25.612751734963158) / 46.019634821007884 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 91.53253816645939 < 119.51333275631116. IsChangePoint: Marked as a change because one of 3/20/2023 4:51:16 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 44.09891482101357 (T) = (0 -92.09132151476555) / Math.Sqrt((27.39577161718208 / (299)) + (8.062725094697068 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.27527003930363725 = (127.06984188466397 - 92.09132151476555) / 127.06984188466397 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 79.60231031147829 < 106.32526491888909. IsChangePoint: Marked as a change because one of 3/20/2023 4:51:16 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 21.52759012806308 (T) = (0 -83.79857020426611) / Math.Sqrt((32.42320781684169 / (299)) + (26.84001589926027 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.26139319117155413 = (113.45491160199929 - 83.79857020426611) / 113.45491160199929 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 177.18257667265297 < 211.13649660416115. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 49.142095022453134 (T) = (0 -168.89836665842213) / Math.Sqrt((29.99223423718697 / (299)) + (16.85372274079497 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.24350397694905995 = (223.26405098239235 - 168.89836665842213) / 223.26405098239235 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 25.3975750437291 < 39.50447592127734. IsChangePoint: Marked as a change because one of 3/20/2023 10:25:17 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 49.00340010413089 (T) = (0 -26.1731775257839) / Math.Sqrt((12.621000096430087 / (299)) + (1.7362465325714032 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4266455172171509 = (45.64920709915626 - 26.1731775257839) / 45.64920709915626 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 79.99825252938327 < 105.01015078501679. IsChangePoint: Marked as a change because one of 3/20/2023 10:25:17 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 27.34883131241428 (T) = (0 -84.49328721275079) / Math.Sqrt((45.397290853347144 / (299)) + (14.552246790792541 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2553173796747427 = (113.4621446863449 - 84.49328721275079) / 113.4621446863449 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 134.1829912185978 < 159.6691970051118. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 44.15633357438555 (T) = (0 -135.19213811837383) / Math.Sqrt((25.39441232256306 / (299)) + (5.920641472321135 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.18447475296657873 = (165.7730874796982 - 135.19213811837383) / 165.7730874796982 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: 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 134.1191245513062 < 160.27758115393277. IsChangePoint: Marked as a change because one of 2/2/2023 5:46:53 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 34.23281450234938 (T) = (0 -135.54895717355444) / Math.Sqrt((33.25883420173699 / (299)) + (9.58447430491865 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.18387257934308585 = (166.0879830069291 - 135.54895717355444) / 166.0879830069291 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[Order00LinqQueryX - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/LinqBenchmarks.Order00LinqQueryX.html>) 84.79 ms 32.89 ms 0.39 0.01 True
[Order00ManualX - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/LinqBenchmarks.Order00ManualX.html>) 79.68 ms 48.61 ms 0.61 0.08 False

graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'LinqBenchmarks*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### 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 32.8883458625 < 80.96333217282364. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 22.97494101989428 (T) = (0 -52672389.75753068) / Math.Sqrt((242003761480.07877 / (299)) + (30245809992107.03 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.38252775355046637 = (85303250.5677737 - 52672389.75753068) / 85303250.5677737 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 48.612848875 < 76.60436619592635. IsChangePoint: Marked as a change because one of 2/11/2023 5:46:38 PM, 2/12/2023 9:02:44 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 6.073993883404507 (T) = (0 -70517864.26291361) / Math.Sqrt((10139659953363.984 / (299)) + (40157272359658.55 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12420710864426208 = (80518881.75725098 - 70517864.26291361) / 80518881.75725098 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20False%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20OneEscaped).html>) 10.15 ms 8.84 ms 0.87 0.02 True
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20False%2c%20SkipValidation%3a%20True%2c%20Escaped%3a%20OneEscaped).html>) 9.90 ms 8.49 ms 0.86 0.01 True
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20False%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20NoneEscaped).html>) 5.40 ms 4.71 ms 0.87 0.00 True
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20False%2c%20SkipValidation%3a%20True%2c%20Escaped%3a%20NoneEscaped).html>) 5.44 ms 4.71 ms 0.87 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
py .\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.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 8.836447037037038 < 9.66192509366131. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 45.030105538714835 (T) = (0 -8834065.795543006) / Math.Sqrt((21843287843.179527 / (299)) + (12790783743.41962 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.13426950766896867 = (10204175.403082723 - 8834065.795543006) / 10204175.403082723 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 8.490861445238092 < 9.672901978322223. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 42.44198784055161 (T) = (0 -8757315.547173383) / Math.Sqrt((20690464165.377277 / (299)) + (12944154495.479763 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.128895080329482 = (10053112.259411532 - 8757315.547173383) / 10053112.259411532 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(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.711597411051213 < 5.150662089783902. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 57.051854413459374 (T) = (0 -4749857.916938178) / Math.Sqrt((2745234391.3297033 / (299)) + (2284265565.8616014 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.1362060493079578 = (5498832.115150557 - 4749857.916938178) / 5498832.115150557 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: True, 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.713515838274933 < 5.170808115178572. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 76.34225906916313 (T) = (0 -4748285.514201134) / Math.Sqrt((5247524256.65044 / (299)) + (1083220222.9517417 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1321920016061938 = (5471585.331075031 - 4748285.514201134) / 5471585.331075031 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[HeapSort - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.Tests.Perf_PriorityQueue(Int32%2c%20Int32).HeapSort(Size%3a%20100).html>) 1.81 μs 1.29 μs 0.71 0.00 True
[HeapSort - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.Tests.Perf_PriorityQueue(Int32%2c%20Int32).HeapSort(Size%3a%2010).html>) 129.85 ns 71.81 ns 0.55 0.01 True
[HeapSort - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.Tests.Perf_PriorityQueue(Int32%2c%20Int32).HeapSort(Size%3a%201000).html>) 53.16 μs 45.10 μs 0.85 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
py .\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>.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 1.2922208194169558 < 1.7192784154579615. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 101.48870630702591 (T) = (0 -1347.7307471396068) / Math.Sqrt((473.6781048225607 / (299)) + (246.83900721270285 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.24233315365930497 = (1778.7907094638554 - 1347.7307471396068) / 1778.7907094638554 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 71.80684992308515 < 123.35407863321079. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 153.97524924215725 (T) = (0 -72.64905825483649) / Math.Sqrt((1.470559437026332 / (299)) + (1.9321157279513899 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4366350731049151 = (128.95559305623206 - 72.64905825483649) / 128.95559305623206 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.HeapSort(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 45.10363240273776 < 50.46810345303071. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 42.74802083305154 (T) = (0 -45551.599882745) / Math.Sqrt((582803.4380863872 / (299)) + (334148.0315737186 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12745028800037655 = (52205.162933759195 - 45551.599882745) / 52205.162933759195 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Net.Http.Tests.SocketsHttpHandlerPerfTest

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Get_EnumerateHeaders_Unvalidated - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Net.Http.Tests.SocketsHttpHandlerPerfTest.Get_EnumerateHeaders_Unvalidated(ssl%3a%20False%2c%20chunkedResponse%3a%20False%2c%20responseLength%3a%201).html>) 15.84 μs 14.96 μs 0.94 0.60 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Net.Http.Tests.SocketsHttpHandlerPerfTest*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Net.Http.Tests.SocketsHttpHandlerPerfTest.Get_EnumerateHeaders_Unvalidated(ssl: False, chunkedResponse: False, responseLength: 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 14.957659287257021 < 15.90147556859845. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 3.8747638165001517 (T) = (0 -15046.949131112566) / Math.Sqrt((1196862.848091898 / (299)) + (1743105.4989761352 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.08196460684279301 = (16390.380200228166 - 15046.949131112566) / 16390.380200228166 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[FrozenDictionaryOptimized - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.TryGetValueFalse(String%2c%20String).FrozenDictionaryOptimized(Size%3a%20512).html>) 5.93 μs 4.64 μs 0.78 0.04 True
[FrozenDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.TryGetValueFalse(String%2c%20String).FrozenDictionary(Size%3a%20512).html>) 9.08 μs 7.77 μs 0.86 0.03 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
py .\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>.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 4.636135818974054 < 5.631571674077635. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 29.216284991793014 (T) = (0 -4663.395446098791) / Math.Sqrt((5967.963954903594 / (116)) + (28161.103503324026 / (15))) is greater than 1.9785244914791056 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (116) + (15) - 2, .975) and 0.2157797072041498 = (5946.537585087428 - 4663.395446098791) / 5946.537585087428 is greater than 0.05. IsChangeEdgeDetector: Marked as 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 7.7674661882344616 < 8.708558932875825. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 15.02551004924505 (T) = (0 -7171.2795913124555) / Math.Sqrt((6210.15597260797 / (116)) + (238807.3875198443 / (15))) is greater than 1.9785244914791056 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (116) + (15) - 2, .975) and 0.209369477743465 = (9070.329805690955 - 7171.2795913124555) / 9070.329805690955 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(ArrayList).SerializeToString(Mode%3a%20Reflection).html>) 5.62 μs 4.00 μs 0.71 0.01 True
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Serialization.Tests.WriteJson(ArrayList).SerializeToString(Mode%3a%20SourceGen).html>) 5.59 μs 3.97 μs 0.71 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
py .\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>.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 3.998110358178777 < 5.393820359715667. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 205.58246049587507 (T) = (0 -3941.4188220830056) / Math.Sqrt((7676.360862806326 / (299)) + (743.2881617163468 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.311481890622742 = (5724.495504770222 - 3941.4188220830056) / 5724.495504770222 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 3.9654569358930374 < 5.431924695923341. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 118.90401849448199 (T) = (0 -3965.0145798671706) / Math.Sqrt((7741.932861833733 / (299)) + (2967.901430096009 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3096668704302921 = (5743.624939945454 - 3965.0145798671706) / 5743.624939945454 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in XmlDocumentTests.XmlNodeListTests.Perf_XmlNodeList

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetCount - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/XmlDocumentTests.XmlNodeListTests.Perf_XmlNodeList.GetCount.html>) 8.33 ns 4.12 ns 0.49 0.26 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'XmlDocumentTests.XmlNodeListTests.Perf_XmlNodeList*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### XmlDocumentTests.XmlNodeListTests.Perf_XmlNodeList.GetCount ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.118310359201168 < 7.901121131019662. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 128.2478342044248 (T) = (0 -3.808817626266681) / Math.Sqrt((0.18034947339047677 / (299)) + (0.012721300371956156 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5619266532639028 = (8.694474691611806 - 3.808817626266681) / 8.694474691611806 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Perf_Convert.ToDateTime_String(value%3a%20%2212%2f12%2f1999%2011%3a59%3a59%20PM%22).html>) 267.40 ns 249.27 ns 0.93 0.04 False
[ToDateTime_String - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Perf_Convert.ToDateTime_String(value%3a%20%2212%2f12%2f1999%22).html>) 141.91 ns 114.81 ns 0.81 0.09 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
py .\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 249.2672595592582 < 252.05574613443923. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 19.35427886380427 (T) = (0 -228.8146895538166) / Math.Sqrt((27.900077810713555 / (299)) + (35.828519156046475 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.11758604498755035 = (259.3053841159939 - 228.8146895538166) / 259.3053841159939 is greater than 0.05. IsChangeEdgeDetector: Marked not as a 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 114.80674671874164 < 134.6394084737528. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 40.05563891229952 (T) = (0 -110.12156881785974) / Math.Sqrt((9.671150201673715 / (299)) + (7.11142611445442 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20562686221371387 = (138.6270048415034 - 110.12156881785974) / 138.6270048415034 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Sort<Int32>

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_x64_alpine 3.15/System.Collections.Sort(Int32).Array_ComparerClass(Size%3a%20512).html>) 18.58 μs 9.95 μs 0.54 0.03 False
[LinqQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.Sort(Int32).LinqQuery(Size%3a%20512).html>) 25.10 μs 13.88 μs 0.55 0.10 False
[LinqOrderByExtension - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.Sort(Int32).LinqOrderByExtension(Size%3a%20512).html>) 25.11 μs 13.85 μs 0.55 0.13 False

graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Sort&lt;Int32&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Collections.Sort<Int32>.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 9.945961013333335 < 17.470734292619046. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 34.50906130312936 (T) = (0 -10073.672676761906) / Math.Sqrt((129364.82096293398 / (299)) + (813870.8281281289 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.44479248508332997 = (18143.977532929905 - 10073.672676761906) / 18143.977532929905 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Sort<Int32>.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 13.884130314285716 < 23.95681682848901. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 8.128627617012192 (T) = (0 -20931.426740349205) / Math.Sqrt((372207.60962792824 / (299)) + (5079975.834597926 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1846136255673169 = (25670.562320731136 - 20931.426740349205) / 25670.562320731136 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Sort<Int32>.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 13.846105213333333 < 23.836913091071427. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 8.51978898361782 (T) = (0 -20713.976350765894) / Math.Sqrt((434201.5786635131 / (299)) + (5060335.809481135 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.19316443201902195 = (25673.107598119976 - 20713.976350765894) / 25673.107598119976 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Sort<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Array - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.Sort(String).Array(Size%3a%20512).html>) 234.97 μs 200.86 μs 0.85 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Sort&lt;String&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Collections.Sort<String>.Array(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 200.86335078571432 < 226.68418302865385. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 8.054676276032069 (T) = (0 -219064.51644292555) / Math.Sqrt((72920774.07900378 / (299)) + (81931476.72063117 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.08073843077620256 = (238304.8783687307 - 219064.51644292555) / 238304.8783687307 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

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_x64_alpine 3.15/System.Numerics.Tests.Perf_VectorOf(Byte).GetHashCodeBenchmark.html>) 106.54 ns 70.05 ns 0.66 0.02 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_VectorOf&lt;Byte&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Numerics.Tests.Perf_VectorOf<Byte>.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 70.0531135103327 < 100.87715796336765. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 48.535043877829786 (T) = (0 -70.9850093514872) / Math.Sqrt((3.7473958976899144 / (299)) + (8.092857804131906 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3368787767402992 = (107.04680661937893 - 70.9850093514872) / 107.04680661937893 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Boolean

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_x64_alpine 3.15/System.Tests.Perf_Boolean.Parse(value%3a%20%22False%22).html>) 2.17 ns 0.84 ns 0.39 0.05 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Boolean*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Tests.Perf_Boolean.Parse(value: "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 0.8427339912834392 < 2.065497567417693. IsChangePoint: Marked as a change because one of 2/6/2023 2:52:08 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 52.961496247163296 (T) = (0 -0.7996653338727264) / Math.Sqrt((0.01854227269751937 / (299)) + (0.010520286435872534 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6466260089804502 = (2.2629433806532933 - 0.7996653338727264) / 2.2629433806532933 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

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_x64_alpine 3.15/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).GetHashCodeBenchmark.html>) 24.49 ns 20.39 ns 0.83 0.02 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Runtime.Intrinsics.Tests.Perf_Vector128Of&lt;Int16&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.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 20.389611880037016 < 23.173115865672642. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 30.099661246269022 (T) = (0 -17.715719725102385) / Math.Sqrt((0.17244419797108826 / (299)) + (0.6669043227593728 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.26501305912822837 = (24.103448292686238 - 17.715719725102385) / 24.103448292686238 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

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_x64_alpine 3.15/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Byte).GetHashCodeBenchmark.html>) 55.77 ns 36.50 ns 0.65 0.05 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Runtime.Intrinsics.Tests.Perf_Vector128Of&lt;Byte&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.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 36.504481615201044 < 53.056157158043696. IsChangePoint: Marked as a change because one of 2/13/2023 6:54:14 PM, 2/20/2023 10:31:48 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 61.087309759173706 (T) = (0 -34.90503022944581) / Math.Sqrt((7.730914544915519 / (299)) + (1.0092549396873312 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.34815593205897405 = (53.54812898689102 - 34.90503022944581) / 53.54812898689102 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Text.Json.Serialization.Tests.ReadJson(ArrayList).DeserializeFromStream(Mode%3a%20Reflection).html>) 18.10 μs 14.74 μs 0.81 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;ArrayList&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.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 14.74039886983304 < 17.1415765180764. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 65.23726164415082 (T) = (0 -14659.790397981798) / Math.Sqrt((35259.07275899612 / (299)) + (37749.65970854686 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.18594216083664986 = (18008.290925677262 - 14659.790397981798) / 18008.290925677262 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_FromString<MyEventsListerViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SystemTextJsonSourceGen - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.Json_FromString(MyEventsListerViewModel).SystemTextJsonSourceGen.html>) 223.32 μs 169.79 μs 0.76 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromString&lt;MyEventsListerViewModel&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### MicroBenchmarks.Serializers.Json_FromString<MyEventsListerViewModel>.SystemTextJson_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 169.79249297136286 < 211.89038624504235. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 78.74372529922918 (T) = (0 -174625.659849888) / Math.Sqrt((7452158.678326152 / (299)) + (5405289.026877237 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.21868545645419005 = (223502.37979366293 - 174625.659849888) / 223502.37979366293 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Document.Tests.Perf_EnumerateArray.Parse(TestCase%3a%20Json400KB).html>) 549.41 μs 366.93 μs 0.67 0.02 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Document.Tests.Perf_EnumerateArray*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.Json.Document.Tests.Perf_EnumerateArray.Parse(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 366.9295853405316 < 515.0942295474138. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 58.41713676950423 (T) = (0 -383587.8111347824) / Math.Sqrt((62797072.74787981 / (299)) + (117407147.72516094 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3015514301178854 = (549199.7946241411 - 383587.8111347824) / 549199.7946241411 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Numerics.Tests.Perf_Matrix3x2

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[CreateRotationBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Numerics.Tests.Perf_Matrix3x2.CreateRotationBenchmark.html>) 11.19 ns 8.77 ns 0.78 0.04 False
[CreateRotationWithCenterBenchmark - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Numerics.Tests.Perf_Matrix3x2.CreateRotationWithCenterBenchmark.html>) 11.19 ns 9.17 ns 0.82 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Matrix3x2*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Numerics.Tests.Perf_Matrix3x2.CreateRotationBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.770376379714628 < 10.549090849488595. IsChangePoint: Marked as a change because one of 4/9/2023 11:04:55 PM, 4/10/2023 8:15:35 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 44.01038241716468 (T) = (0 -8.902905389174713) / Math.Sqrt((0.3086354994521506 / (299)) + (0.010002099743298788 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16927133227020325 = (10.716983456830066 - 8.902905389174713) / 10.716983456830066 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.CreateRotationWithCenterBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.166920073468901 < 10.63041246912763. IsChangePoint: Marked as a change because one of 3/2/2023 7:59:08 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 116.09430322432517 (T) = (0 -9.201006492871722) / Math.Sqrt((0.03092141248632716 / (299)) + (0.0015389350345879345 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15333257638210387 = (10.86732078760617 - 9.201006492871722) / 10.86732078760617 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/PerfLabTests.DelegatePerf.DelegateInvoke.html>) 304.45 μs 43.52 μs 0.14 0.03 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
py .\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 43.517922980324066 < 289.2371970467033. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 242.34040478402392 (T) = (0 -43507.016213399096) / Math.Sqrt((427037165.12310475 / (299)) + (195.36590650177845 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8693972007381456 = (333124.6838451675 - 43507.016213399096) / 333124.6838451675 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.ConsoleTests.Perf_Console

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[BackgroundColor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.ConsoleTests.Perf_Console.BackgroundColor.html>) 20.61 ns 17.05 ns 0.83 0.03 True
[ResetColor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.ConsoleTests.Perf_Console.ResetColor.html>) 59.85 ns 49.82 ns 0.83 0.05 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.ConsoleTests.Perf_Console*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.ConsoleTests.Perf_Console.BackgroundColor ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.045325319772775 < 19.55438618201727. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 86.37401898553148 (T) = (0 -17.18850073519305) / Math.Sqrt((0.24242600482322474 / (299)) + (0.012231346215643207 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16849874586972563 = (20.671647396577544 - 17.18850073519305) / 20.671647396577544 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.ConsoleTests.Perf_Console.ResetColor ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.820397508703564 < 56.799449793382266. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 149.16349043168861 (T) = (0 -50.00279551188502) / Math.Sqrt((0.7352813488643527 / (299)) + (0.02940099874002813 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.165489982506674 = (59.918748084153364 - 50.00279551188502) / 59.918748084153364 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Int32

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_x64_alpine 3.15/System.Tests.Perf_Int32.ToString(value%3a%20-2147483648).html>) 20.34 ns 16.34 ns 0.80 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Int32*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Tests.Perf_Int32.ToString(value: -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 16.338736130799315 < 19.772995785384655. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 39.75396479944802 (T) = (0 -16.454661904961636) / Math.Sqrt((0.6357884827128072 / (299)) + (0.12945994546618247 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20036792589302713 = (20.577791258983904 - 16.454661904961636) / 20.577791258983904 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Microsoft.AspNetCore.Server.Kestrel.Performance.PipeThroughputBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Parse_SequentialAsync - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/Microsoft.AspNetCore.Server.Kestrel.Performance.PipeThroughputBenchmark.Parse_SequentialAsync(Length%3a%20128%2c%20Chunks%3a%201).html>) 181.12 ns 168.91 ns 0.93 0.10 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.AspNetCore.Server.Kestrel.Performance.PipeThroughputBenchmark*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### Microsoft.AspNetCore.Server.Kestrel.Performance.PipeThroughputBenchmark.Parse_SequentialAsync(Length: 128, Chunks: 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 168.90621580093625 < 173.2377142147898. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 20.56141168426591 (T) = (0 -166.53738969597833) / Math.Sqrt((18.935162350537826 / (299)) + (6.579135637918688 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.08043556147539803 = (181.104643371355 - 166.53738969597833) / 181.104643371355 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Decimal

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Decimal.TryParse(value%3a%20%22123456.789%22).html>) 59.01 ns 49.29 ns 0.84 0.05 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Decimal*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Tests.Perf_Decimal.TryParse(value: "123456.789") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.29116440152794 < 56.585658577227356. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 23.877083684751906 (T) = (0 -50.62745354319209) / Math.Sqrt((1.1126210442176456 / (299)) + (1.9918708876921936 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.14839511493466123 = (59.449463514183265 - 50.62745354319209) / 59.449463514183265 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

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_x64_alpine 3.15/System.Numerics.Tests.Perf_VectorOf(Int16).GetHashCodeBenchmark.html>) 51.39 ns 37.64 ns 0.73 0.09 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_VectorOf&lt;Int16&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Numerics.Tests.Perf_VectorOf<Int16>.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 37.63984264937251 < 48.70999019345579. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 49.684354496476374 (T) = (0 -36.8775939297629) / Math.Sqrt((4.482322666456017 / (299)) + (1.2532644524676069 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.29722439808649614 = (52.47420916342756 - 36.8775939297629) / 52.47420916342756 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Array

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Reverse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Tests.Perf_Array.Reverse.html>) 11.21 ns 9.70 ns 0.87 0.24 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Array*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Tests.Perf_Array.Reverse ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.703152633684692 < 10.680623887069684. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 3/3/2023 8:38:01 AM, 4/6/2023 11:23:56 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 5.029723343114068 (T) = (0 -9.30866651704182) / Math.Sqrt((0.8969929596359146 / (299)) + (0.1556243655462059 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.058813642254746806 = (9.890354275153397 - 9.30866651704182) / 9.890354275153397 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Threading.Tests.Perf_SemaphoreSlim

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ReleaseWait - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Threading.Tests.Perf_SemaphoreSlim.ReleaseWait.html>) 35.26 ns 31.93 ns 0.91 0.10 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Threading.Tests.Perf_SemaphoreSlim*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Threading.Tests.Perf_SemaphoreSlim.ReleaseWait ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.928690775970612 < 33.486168380974526. IsChangePoint: Marked as a change because one of 2/16/2023 4:50:02 PM, 2/17/2023 5:12:50 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 38.16027282465639 (T) = (0 -31.86867733969841) / Math.Sqrt((1.3760687728881187 / (299)) + (0.06824280877714382 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.10277787904422117 = (35.51927287052379 - 31.86867733969841) / 35.51927287052379 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Tests.Perf_BitArray

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[BitArrayLengthValueCtor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Collections.Tests.Perf_BitArray.BitArrayLengthValueCtor(Size%3a%20512).html>) 16.53 ns 15.24 ns 0.92 0.10 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Perf_BitArray*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Collections.Tests.Perf_BitArray.BitArrayLengthValueCtor(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.23760996135303 < 15.585677065667415. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 21.27113738931952 (T) = (0 -15.072999248370884) / Math.Sqrt((0.23176578767104455 / (299)) + (0.07027828750502743 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.09443266502557257 = (16.644813329973452 - 15.072999248370884) / 16.644813329973452 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_FromStream<MyEventsListerViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[JsonNet_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/MicroBenchmarks.Serializers.JsonFromStream(MyEventsListerViewModel).JsonNet.html>) 545.02 μs 389.99 μs 0.72 0.02 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromStream&lt;MyEventsListerViewModel&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### MicroBenchmarks.Serializers.Json_FromStream<MyEventsListerViewModel>.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 389.99074699599464 < 514.5326688553446. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 114.0640868967466 (T) = (0 -391630.6344913211) / Math.Sqrt((43012082.38032035 / (299)) + (23170127.408263914 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2745557226790525 = (539849.3678075536 - 391630.6344913211) / 539849.3678075536 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Buffers.Binary.Tests.BinaryReadAndWriteTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ReadStructAndReverseLE - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Buffers.Binary.Tests.BinaryReadAndWriteTests.ReadStructAndReverseLE.html>) 4.69 ns 0.32 ns 0.07 0.64 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Binary.Tests.BinaryReadAndWriteTests*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Buffers.Binary.Tests.BinaryReadAndWriteTests.ReadStructAndReverseLE ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not 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.3197072735735511 < 4.5546443280947315. IsChangePoint: Marked as a change because one of 3/17/2023 10:06:19 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 20.763938374364326 (T) = (0 -0.43671122547749375) / Math.Sqrt((4.565399374317144 / (299)) + (0.03779367472573523 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8637860786495887 = (3.2060689623203116 - 0.43671122547749375) / 3.2060689623203116 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/ByteMark.BenchEmFloat.html>) 2.72 secs 1.92 secs 0.71 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
py .\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 1.9224868854166668 < 2.582635541800961. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 175.06717735910433 (T) = (0 -1931759471.3808305) / Math.Sqrt((130406357253742.88 / (299)) + (304680553818444.56 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2921866730727209 = (2729193415.6804876 - 1931759471.3808305) / 2729193415.6804876 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ReadBase64EncodedByteArray_HeavyEscaping - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_alpine 3.15/System.Text.Json.Reader.Tests.Perf_Base64.ReadBase64EncodedByteArray_HeavyEscaping(NumberOfBytes%3a%20100).html>) 70.25 ns 63.26 ns 0.90 0.13 False

graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Reader.Tests.Perf_Base64*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Text.Json.Reader.Tests.Perf_Base64.ReadBase64EncodedByteArray_HeavyEscaping(NumberOfBytes: 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 63.2612263821101 < 66.94344147331543. IsChangePoint: Marked as a change because one of 2/8/2023 6:12:15 AM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 7.8074205394351734 (T) = (0 -64.40120587804549) / Math.Sqrt((2.8401466374067574 / (299)) + (9.561261155361128 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.0888444161135978 = (70.6808003122271 - 64.40120587804549) / 70.6808003122271 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

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_x64_alpine 3.15/System.Collections.Tests.Perf_PriorityQueue(String%2c%20String).K_Max_Elements(Size%3a%2010).html>) 1.05 μs 826.85 ns 0.79 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Perf_PriorityQueue&lt;String, String&gt;*'
### Payloads [Baseline](<>) [Compare](<>) ### Histogram #### System.Collections.Tests.Perf_PriorityQueue<String, String>.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 826.8549899941688 < 0.9823338453313659. IsChangePoint: Marked as a change because one of 2/12/2023 2:35:10 PM, 2/13/2023 12:37:33 PM, 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 9.77546370794398 (T) = (0 -909.5169491961932) / Math.Sqrt((1009.0725975329216 / (299)) + (1440.1043879586978 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.09677756314899949 = (1006.9689503807477 - 909.5169491961932) / 1006.9689503807477 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 x64
OS alpine 3.15
Queue TigerAlpine
Baseline e7ed417c2bf4a24a0694a387f33ba843a2318fdc
Compare 125b216c3918c76c6dbdf45d47212ea91623e5a2
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_x64_alpine 3.15/System.Reflection.Attributes.GetCustomAttributesMethodBaseMissInherit.html>) 122.50 ns 113.94 ns 0.93 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
py .\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 113.94221623168583 < 114.29791206925823. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 6/5/2023 10:09:45 PM falls between 4/12/2023 4:44:56 PM and 6/5/2023 10:09:45 PM. IsImprovementStdDev: Marked as improvement because 17.326366317218707 (T) = (0 -112.7303623860336) / Math.Sqrt((5.26518621618085 / (299)) + (2.854144444195589 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.06548827665040799 = (120.63022813878841 - 112.7303623860336) / 120.63022813878841 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)