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] Windows/arm64: 129 Improvements on 5/19/2023 1:23:34 PM #18129

Open performanceautofiler[bot] opened 1 year ago

performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.ContainsKeyFalse(Int32%2c%20Int32).ImmutableDictionary(Size%3a%20512).html>) 24.92 μs 13.86 μs 0.56 0.66 False
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.ContainsKeyFalse(Int32%2c%20Int32).SortedDictionary(Size%3a%20512).html>) 60.67 μs 39.27 μs 0.65 0.68 False
[IDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.ContainsKeyFalse(Int32%2c%20Int32).IDictionary(Size%3a%20512).html>) 9.73 μs 5.66 μs 0.58 0.68 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.ContainsKeyFalse&lt;Int32, Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### 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 13.858799468493853 < 25.159668456446582. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 10.265820660310856 (T) = (0 -18529.839470983352) / Math.Sqrt((5867042.54862655 / (299)) + (3275984.7234212966 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.237887343881677 = (24313.78001955983 - 18529.839470983352) / 24313.78001955983 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### 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 39.26947465277778 < 60.62063823728393. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 27.890870480993453 (T) = (0 -38367.397266705026) / Math.Sqrt((39025305.28039706 / (299)) + (6131914.641013059 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.3679847292215756 = (60706.44024067591 - 38367.397266705026) / 60706.44024067591 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyFalse<Int32, Int32>.IDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.6631335751978895 < 9.195147997550817. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 25.95097284510874 (T) = (0 -5606.193031135779) / Math.Sqrt((1096347.090666545 / (299)) + (356164.79232816887 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.4580848923171501 = (10345.149916759185 - 5606.193031135779) / 10345.149916759185 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromReader(Mode%3a%20SourceGen).html>) 2.41 μs 1.96 μs 0.81 0.63 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromString(Mode%3a%20Reflection).html>) 1.94 μs 1.35 μs 0.69 0.64 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromStream(Mode%3a%20SourceGen).html>) 2.27 μs 1.94 μs 0.85 0.60 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 1.66 μs 1.32 μs 0.80 0.58 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 1.53 μs 1.37 μs 0.89 0.58 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromStream(Mode%3a%20Reflection).html>) 2.33 μs 1.78 μs 0.77 0.65 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadJson(ClassRecord).DeserializeFromReader(Mode%3a%20Reflection).html>) 2.29 μs 2.05 μs 0.89 0.57 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;ClassRecord&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromReader(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.9608140928420612 < 2.149595193895142. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 10.845650663074956 (T) = (0 -1928.420458551009) / Math.Sqrt((34967.39899916037 / (299)) + (14560.997231580359 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.17021724942460037 = (2324.0064429078293 - 1928.420458551009) / 2324.0064429078293 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3457383129860536 < 1.7123551956778615. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 13.701476603805855 (T) = (0 -1489.1676336628059) / Math.Sqrt((19952.335735981553 / (299)) + (3594.686551722865 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.14972496549540928 = (1751.395222994479 - 1489.1676336628059) / 1751.395222994479 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromStream(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.9396280930554899 < 2.0183457947700276. IsChangePoint: Marked as a change because one of 5/18/2023 7:10:13 PM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 10.293290106311042 (T) = (0 -1863.2552341867724) / Math.Sqrt((25207.132309714554 / (299)) + (12090.416214355386 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.15436360884371617 = (2203.376360895543 - 1863.2552341867724) / 2203.376360895543 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromUtf8Bytes(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3210113490095123 < 1.5866818339945146. IsChangePoint: Marked as a change because one of 3/29/2023 4:47:17 AM, 4/18/2023 7:36:21 AM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 14.06055024672543 (T) = (0 -1336.0843311007027) / Math.Sqrt((17420.45676686632 / (299)) + (3506.5854899768865 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.1645884046659541 = (1599.312648475341 - 1336.0843311007027) / 1599.312648475341 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3675259042842614 < 1.5357191497805023. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 9.670557764665226 (T) = (0 -1350.9739947164514) / Math.Sqrt((13837.815873596364 / (299)) + (7845.7296678219855 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.1592405219961202 = (1606.84955693145 - 1350.9739947164514) / 1606.84955693145 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromStream(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.7832707079079229 < 2.015583757467357. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 8.747210795075835 (T) = (0 -1804.3605359464107) / Math.Sqrt((34315.85429871364 / (299)) + (19865.63119116954 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.17523146982790083 = (2187.717486710976 - 1804.3605359464107) / 2187.717486710976 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromReader(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.0460384810270447 < 2.229294166880892. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 11.76832754804613 (T) = (0 -1920.8400508748584) / Math.Sqrt((32977.80847278538 / (299)) + (13554.322899346473 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.17744639346331026 = (2335.215645047664 - 1920.8400508748584) / 2335.215645047664 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToStream(Mode%3a%20Reflection).html>) 11.49 μs 7.74 μs 0.67 0.68 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToWriter(Mode%3a%20Reflection).html>) 11.14 μs 7.90 μs 0.71 0.69 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.WriteJson(HashSet(String)).SerializeToString(Mode%3a%20Reflection).html>) 12.14 μs 8.64 μs 0.71 0.64 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.WriteJson&lt;HashSet&lt;String&gt;&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### 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 7.740916682618682 < 10.563176920239629. IsChangePoint: Marked as a change because one of 4/2/2023 3:55:31 PM, 4/22/2023 11:48:08 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 12.118602202749068 (T) = (0 -8423.55959442774) / Math.Sqrt((1037851.1421767017 / (299)) + (303663.748456407 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.19617240512273101 = (10479.311295245936 - 8423.55959442774) / 10479.311295245936 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<HashSet<String>>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.903291018907563 < 10.175978679021114. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 31.609113849462425 (T) = (0 -7908.259032432551) / Math.Sqrt((778732.7760814677 / (299)) + (40707.82061630815 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.23636209029879746 = (10356.032527938414 - 7908.259032432551) / 10356.032527938414 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<HashSet<String>>.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 we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 11.408276246116417 (T) = (0 -9013.099153069918) / Math.Sqrt((1034986.0465046786 / (299)) + (244617.20478671617 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.21023586039931966 = (11412.393525017622 - 9013.099153069918) / 11412.393525017622 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.IterateForEach<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.IterateForEach(Int32).Queue(Size%3a%20512).html>) 3.91 μs 2.77 μs 0.71 0.68 False
[ConcurrentQueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.IterateForEach(Int32).ConcurrentQueue(Size%3a%20512).html>) 11.73 μs 7.81 μs 0.67 0.65 False
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.IterateForEach(Int32).SortedList(Size%3a%20512).html>) 4.61 μs 2.56 μs 0.56 0.60 False
[ImmutableQueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.IterateForEach(Int32).ImmutableQueue(Size%3a%20512).html>) 5.64 μs 997.63 ns 0.18 0.67 False
[ConcurrentBag - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.IterateForEach(Int32).ConcurrentBag(Size%3a%20512).html>) 3.92 μs 2.58 μs 0.66 0.65 False
[Stack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.IterateForEach(Int32).Stack(Size%3a%20512).html>) 2.96 μs 2.59 μs 0.88 0.62 False
[ConcurrentStack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.IterateForEach(Int32).ConcurrentStack(Size%3a%20512).html>) 4.47 μs 2.64 μs 0.59 0.62 False
[ImmutableStack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.IterateForEach(Int32).ImmutableStack(Size%3a%20512).html>) 2.97 μs 1.16 μs 0.39 0.62 False
[ImmutableSortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.IterateForEach(Int32).ImmutableSortedDictionary(Size%3a%20512).html>) 15.71 μs 9.68 μs 0.62 0.62 False
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.IterateForEach(Int32).ImmutableDictionary(Size%3a%20512).html>) 26.93 μs 20.89 μs 0.78 0.66 False
[SortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.IterateForEach(Int32).SortedSet(Size%3a%20512).html>) 14.33 μs 8.35 μs 0.58 0.63 False
[ImmutableList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.IterateForEach(Int32).ImmutableList(Size%3a%20512).html>) 15.71 μs 9.89 μs 0.63 0.63 False
[HashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.IterateForEach(Int32).HashSet(Size%3a%20512).html>) 3.11 μs 1.26 μs 0.40 0.68 False
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.IterateForEach(Int32).SortedDictionary(Size%3a%20512).html>) 16.98 μs 12.84 μs 0.76 0.65 False
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.IterateForEach(Int32).Dictionary(Size%3a%20512).html>) 3.15 μs 2.01 μs 0.64 0.69 False

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.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 2.7681169524813187 < 3.143963992292652. IsChangePoint: Marked as a change because one of 4/1/2023 8:54:51 PM, 4/18/2023 2:18:01 AM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 14.810716845862084 (T) = (0 -2699.007462612098) / Math.Sqrt((97394.50309959521 / (299)) + (27336.106966639472 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.21875512479867087 = (3454.752214427718 - 2699.007462612098) / 3454.752214427718 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ConcurrentQueue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.813500156128024 < 11.847533342919185. IsChangePoint: Marked as a change because one of 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 33.48590665717505 (T) = (0 -7032.153343929501) / Math.Sqrt((858067.5844678755 / (299)) + (142185.16850397157 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.4062331853275578 = (11843.2912890372 - 7032.153343929501) / 11843.2912890372 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.5604656055770203 < 4.80267533296767. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 43.44624840614457 (T) = (0 -2838.3230947924358) / Math.Sqrt((157565.90762280987 / (299)) + (26014.238237649406 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.45150085001498036 = (5174.708283267084 - 2838.3230947924358) / 5174.708283267084 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ImmutableQueue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 102.767862159755 (T) = (0 -1035.1886468733444) / Math.Sqrt((245397.30722918242 / (299)) + (9508.173819524964 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.8225109611170565 = (5832.408882196189 - 1035.1886468733444) / 5832.408882196189 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ConcurrentBag(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 18.37482551117909 (T) = (0 -2393.259553531265) / Math.Sqrt((78341.08809704099 / (299)) + (32931.27175228946 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.3368846269955404 = (3609.1148704452817 - 2393.259553531265) / 3609.1148704452817 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 2.5884571038014235 < 2.937176923775363. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 13.037750816248185 (T) = (0 -2469.392935178278) / Math.Sqrt((68120.00577263834 / (299)) + (24508.75643578521 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.20099904091582907 = (3090.6007146834218 - 2469.392935178278) / 3090.6007146834218 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ConcurrentStack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 45.4135103631609 (T) = (0 -2882.721388277626) / Math.Sqrt((221238.48585612891 / (299)) + (14834.785677220685 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.4451839675074152 = (5195.814863760545 - 2882.721388277626) / 5195.814863760545 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ImmutableStack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 83.41264038733691 (T) = (0 -1118.3411387595647) / Math.Sqrt((61980.604375217976 / (299)) + (2563.531756155302 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.6314621869416097 = (3034.5356680737054 - 1118.3411387595647) / 3034.5356680737054 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ImmutableSortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 13.68560947367367 (T) = (0 -10160.24326188368) / Math.Sqrt((1748426.2932268057 / (299)) + (686165.8383895906 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.2896263245007757 = (14302.674229508064 - 10160.24326188368) / 14302.674229508064 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ImmutableDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 4/17/2023 8:43:19 PM, 5/16/2023 5:40:18 PM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 6.01209019546183 (T) = (0 -22562.787555150502) / Math.Sqrt((7042653.6060742885 / (299)) + (4097844.17450349 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.1556847889444933 = (26723.18022903319 - 22562.787555150502) / 26723.18022903319 is greater than 0.05. IsChangeEdgeDetector: Marked not as a 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 8.34865137067938 < 14.515280429973101. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 35.568268476504535 (T) = (0 -8777.412298997197) / Math.Sqrt((1416549.426843652 / (299)) + (262974.05810259277 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.40681997811890414 = (14797.21496884237 - 8777.412298997197) / 14797.21496884237 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ImmutableList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 3/30/2023 2:02:58 PM, 4/18/2023 4:36:42 PM, 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 27.782463228285373 (T) = (0 -9580.96671138581) / Math.Sqrt((1788297.5556142405 / (299)) + (207942.69217335994 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.34146032531408393 = (14548.807125334335 - 9580.96671138581) / 14548.807125334335 is greater than 0.05. IsChangeEdgeDetector: Marked not as a 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 1.2590346272298216 < 2.7232620170428388. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 54.263918021740615 (T) = (0 -1166.4421389000092) / Math.Sqrt((61462.30348078506 / (299)) + (10625.572734305364 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.6057738467131414 = (2958.814703628371 - 1166.4421389000092) / 2958.814703628371 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.SortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.841958147321428 < 15.80420379927889. IsChangePoint: Marked as a change because one of 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 9.291897510952392 (T) = (0 -13579.767427906265) / Math.Sqrt((1887212.5436790825 / (299)) + (424303.77706697 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.13659297685124336 = (15728.11786772622 - 13579.767427906265) / 15728.11786772622 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.Dictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.007268569078947 < 2.896061896708843. IsChangePoint: Marked as a change because one of 3/30/2023 5:15:39 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 42.25085804132676 (T) = (0 -1912.3355788979177) / Math.Sqrt((72913.3338091841 / (299)) + (6094.688200804656 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.37724570091160464 = (3070.7705778944382 - 1912.3355788979177) / 3070.7705778944382 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
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
[DataContractSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/MicroBenchmarks.Serializers.XmlToStream(Location).DataContractSerializer.html>) 3.56 μs 2.64 μs 0.74 0.63 False
[DataContractSerializerBinaryXml - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/MicroBenchmarks.Serializers.Xml_ToStream(Location).DataContractSerializerBinaryXml.html>) 2.05 μs 1.49 μs 0.73 0.61 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_ToStream&lt;Location&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### 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 2.635429626645179 < 3.2232719109402983. IsChangePoint: Marked as a change because one of 4/1/2023 8:54:51 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 20.581805471787572 (T) = (0 -2602.9878814735016) / Math.Sqrt((89870.79938521271 / (299)) + (17622.542297766984 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.24957316489370823 = (3468.6764381297876 - 2602.9878814735016) / 3468.6764381297876 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### 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 1.490514503134772 < 2.0872569648004378. IsChangePoint: Marked as a change because one of 4/2/2023 6:09:37 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 19.271691560773476 (T) = (0 -1593.3745373591457) / Math.Sqrt((35989.857797304816 / (223)) + (13329.170245863708 / (12))) is greater than 1.970197598972363 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (223) + (12) - 2, .975) and 0.3013791949090421 = (2280.7430379226885 - 1593.3745373591457) / 2280.7430379226885 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.Concurrent.Count(String).Queue(Size%3a%20512).html>) 16.42 ns 7.03 ns 0.43 0.77 False
[Bag - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.Concurrent.Count(String).Bag(Size%3a%20512).html>) 84.29 ns 63.55 ns 0.75 0.74 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.Collections.Concurrent.Count&lt;String&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.Concurrent.Count<String>.Queue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.032160623973182 < 16.657517695402337. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 34.00007430402293 (T) = (0 -7.587691420533847) / Math.Sqrt((5.2327858019254325 / (299)) + (0.6273044810362811 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.5502174696646592 = (16.869689035891973 - 7.587691420533847) / 16.869689035891973 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Concurrent.Count<String>.Bag(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 63.5484214155219 < 79.72381579971008. IsChangePoint: Marked as a change because one of 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 14.307212118556514 (T) = (0 -57.99057127413476) / Math.Sqrt((83.90374506456574 / (299)) + (25.774362316036353 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.31587565493842623 = (84.7661272292764 - 57.99057127413476) / 84.7661272292764 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Tests.Perf_Segment

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ReadMultiSegmentSequenceUsingSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize%3a%204096%2c%20TestCase%3a%20Json40KB).html>) 147.08 μs 107.63 μs 0.73 0.66 False
[ReadSingleSegmentSequenceByN - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes%3a%208192%2c%20TestCase%3a%20Json4KB).html>) 12.72 μs 10.11 μs 0.79 0.63 False
[ReadSingleSegmentSequenceByN - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes%3a%204096%2c%20TestCase%3a%20Json40KB).html>) 130.94 μs 104.11 μs 0.80 0.63 False
[ReadSingleSegmentSequenceByN - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes%3a%204096%2c%20TestCase%3a%20Json4KB).html>) 14.43 μs 11.94 μs 0.83 0.65 False
[ReadSingleSegmentSequence - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequence(TestCase%3a%20Json4KB).html>) 13.88 μs 10.90 μs 0.79 0.65 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.Tests.Perf_Segment*'
### Payloads [Baseline]() [Compare]() ### Histogram #### 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 107.62671740614334 < 139.55227109252. IsChangePoint: Marked as a change because one of 2/8/2023 4:01:29 AM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 9.322957279084969 (T) = (0 -113159.63593377905) / Math.Sqrt((128815329.79556791 / (299)) + (66613038.481631614 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.16770926082786747 = (135961.6665281381 - 113159.63593377905) / 135961.6665281381 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: 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 we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 10.24435586618028 (T) = (0 -10786.006873435352) / Math.Sqrt((1263384.1842590596 / (299)) + (489150.681522539 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.19538769877459464 = (13405.222436953201 - 10786.006873435352) / 13405.222436953201 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes: 4096, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 7.265330245934059 (T) = (0 -110073.84313174868) / Math.Sqrt((126024870.21997626 / (299)) + (81592199.17684726 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.1770236622733087 = (133750.92099950992 - 110073.84313174868) / 133750.92099950992 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes: 4096, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 2/8/2023 4:01:29 AM, 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 8.843694323606682 (T) = (0 -11000.317178970772) / Math.Sqrt((1145718.0011445286 / (299)) + (604569.3305698216 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.18469913852877617 = (13492.340924453973 - 11000.317178970772) / 13492.340924453973 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequence(TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 2/12/2023 2:35:10 PM, 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 6.940692333945782 (T) = (0 -11499.86901796298) / Math.Sqrt((1122087.7496787005 / (299)) + (595354.4120771206 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.14438275591047556 = (13440.43624342818 - 11499.86901796298) / 13440.43624342818 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.CtorFromCollection<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.CtorFromCollection(Int32).SortedDictionary(Size%3a%20512).html>) 94.51 μs 70.01 μs 0.74 0.67 False
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.CtorFromCollection(Int32).ImmutableDictionary(Size%3a%20512).html>) 192.52 μs 135.05 μs 0.70 0.65 False
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.CtorFromCollection(Int32).SortedList(Size%3a%20512).html>) 16.22 μs 13.25 μs 0.82 0.60 False
[SortedDictionaryDeepCopy - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.CtorFromCollection(Int32).SortedDictionaryDeepCopy(Size%3a%20512).html>) 24.00 μs 17.37 μs 0.72 0.65 False
[ConcurrentQueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.CtorFromCollection(Int32).ConcurrentQueue(Size%3a%20512).html>) 15.07 μs 10.68 μs 0.71 0.62 False
[ImmutableHashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.CtorFromCollection(Int32).ImmutableHashSet(Size%3a%20512).html>) 176.98 μs 124.59 μs 0.70 0.61 False
[ImmutableSortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.CtorFromCollection(Int32).ImmutableSortedDictionary(Size%3a%20512).html>) 124.68 μs 98.59 μs 0.79 0.59 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.Collections.CtorFromCollection&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### 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 70.0063326923077 < 91.54921002451604. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 12.398503078646987 (T) = (0 -72103.43470556413) / Math.Sqrt((62497263.24283172 / (299)) + (34951619.73604767 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.23301862498930914 = (94009.36848637176 - 72103.43470556413) / 94009.36848637176 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<Int32>.ImmutableDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 4/1/2023 3:05:46 AM, 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 17.025803472063284 (T) = (0 -138987.46479730966) / Math.Sqrt((329221216.2910256 / (299)) + (67520441.88716806 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.2745123569231436 = (191577.99050560212 - 138987.46479730966) / 191577.99050560212 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<Int32>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.247937910509034 < 15.156860871640893. IsChangePoint: Marked as a change because one of 3/19/2023 10:05:03 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 7.629552397373811 (T) = (0 -13458.70925675571) / Math.Sqrt((1669315.0244690254 / (299)) + (780556.3754694338 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.13093101360058876 = (15486.353174925387 - 13458.70925675571) / 15486.353174925387 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<Int32>.SortedDictionaryDeepCopy(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 17.368717937352244 < 23.385063182334495. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 14.367340279518245 (T) = (0 -17597.080270978306) / Math.Sqrt((5624993.275581412 / (299)) + (2994555.128121095 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3057818854021865 = (25348.056901645316 - 17597.080270978306) / 25348.056901645316 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<Int32>.ConcurrentQueue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.675922116873062 < 14.45328403854544. IsChangePoint: Marked as a change because one of 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 12.654170156304179 (T) = (0 -11344.734511255145) / Math.Sqrt((1099532.190683939 / (299)) + (422452.34800703794 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.20060689315337224 = (14191.684184026564 - 11344.734511255145) / 14191.684184026564 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<Int32>.ImmutableHashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 21.056667605205856 (T) = (0 -119249.80171348601) / Math.Sqrt((245277178.00930303 / (299)) + (68226223.11398086 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.35060299076243884 = (183631.5844039594 - 119249.80171348601) / 183631.5844039594 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollection<Int32>.ImmutableSortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 9.354975463259056 (T) = (0 -106416.55644792688) / Math.Sqrt((98756366.82811143 / (299)) + (37353506.16647506 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.17304957157609116 = (128685.5327601039 - 106416.55644792688) / 128685.5327601039 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeToWriter(Mode%3a%20Reflection).html>) 108.19 ns 72.95 ns 0.67 0.68 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeObjectProperty(Mode%3a%20SourceGen).html>) 640.60 ns 505.86 ns 0.79 0.59 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.WriteJson(Int32).SerializeToStream(Mode%3a%20Reflection).html>) 438.83 ns 357.72 ns 0.82 0.63 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.WriteJson&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### 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 72.94887358290481 < 100.56442120443371. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 14.240673922339717 (T) = (0 -76.79790880395193) / Math.Sqrt((105.65650307480114 / (299)) + (35.82953139734866 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.25308698973862903 = (102.8204191771645 - 76.79790880395193) / 102.8204191771645 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeObjectProperty(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 505.85938756090775 < 566.068105170509. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 10.814929539911816 (T) = (0 -474.3641131069933) / Math.Sqrt((1783.473590403253 / (299)) + (998.3399149016158 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.17714191030274387 = (576.483501889761 - 474.3641131069933) / 576.483501889761 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 357.71537065663017 < 424.42673936469396. IsChangePoint: Marked as a change because one of 3/29/2023 12:02:44 PM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 9.48539706488459 (T) = (0 -379.8134833452472) / Math.Sqrt((1472.6385650021305 / (299)) + (358.16108779944585 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.12836186223666957 = (435.7467472911049 - 379.8134833452472) / 435.7467472911049 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[NewCachedCustomConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ColdStartSerialization(SimpleStructWithProperties).NewCachedCustomConverter.html>) 2.47 μs 1.63 μs 0.66 0.51 False
[NewCustomizedOptions - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ColdStartSerialization(SimpleStructWithProperties).NewCustomizedOptions.html>) 2.34 μs 1.84 μs 0.78 0.53 False
[NewDefaultOptions - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ColdStartSerialization(SimpleStructWithProperties).NewDefaultOptions.html>) 2.09 μs 1.57 μs 0.75 0.54 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.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 1.6331999907045918 < 2.2621711618343117. IsChangePoint: Marked as a change because one of 2/28/2023 12:47:31 AM, 4/17/2023 8:43:19 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 6.5528389123478625 (T) = (0 -2047.8225539811697) / Math.Sqrt((28039.838394709503 / (299)) + (22756.26337747208 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.1295304354064015 = (2352.5492875069667 - 2047.8225539811697) / 2352.5492875069667 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 1.8379150105576945 < 2.1708138836265185. IsChangePoint: Marked as a change because one of 3/18/2023 3:40:27 PM, 4/18/2023 2:18:01 AM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 11.704971855863764 (T) = (0 -1895.5252499706867) / Math.Sqrt((23528.271870964418 / (299)) + (7233.144471451905 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.13882008316594688 = (2201.0792552376124 - 1895.5252499706867) / 2201.0792552376124 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ColdStartSerialization<SimpleStructWithProperties>.NewDefaultOptions ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.5709563939596674 < 1.9361384852001806. IsChangePoint: Marked as a change because one of 3/15/2023 10:57:55 AM, 4/22/2023 1:14:29 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 10.647079734294786 (T) = (0 -1705.639957470702) / Math.Sqrt((22476.104678648113 / (299)) + (8010.705047624797 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.14538770148024252 = (1995.8055371131193 - 1705.639957470702) / 1995.8055371131193 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Baseline - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive(Location).Baseline.html>) 2.32 μs 1.70 μs 0.73 0.59 False
[CaseInsensitiveMatching - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive(Location).CaseInsensitiveMatching.html>) 2.16 μs 1.87 μs 0.87 0.58 False
[CaseInsensitiveNotMatching - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive(Location).CaseInsensitiveNotMatching.html>) 2.19 μs 1.83 μs 0.84 0.67 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.ReadMissingAndCaseInsensitive&lt;Location&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive<Location>.Baseline ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.6963861725978295 < 2.2312715530860525. IsChangePoint: Marked as a change because one of 3/29/2023 4:47:17 AM, 4/21/2023 4:57:10 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 17.158374856146203 (T) = (0 -1773.7516558984837) / Math.Sqrt((35176.86370071229 / (299)) + (4058.375040617217 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.17117991897201462 = (2140.0925200780607 - 1773.7516558984837) / 2140.0925200780607 is greater than 0.05. IsChangeEdgeDetector: Marked not as a 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 1.8701903979602568 < 2.0312908555312443. IsChangePoint: Marked as a change because one of 3/20/2023 11:25:43 AM, 4/25/2023 1:14:10 AM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 10.235141307936498 (T) = (0 -1778.0713544772527) / Math.Sqrt((24737.37060097956 / (299)) + (14144.676320976589 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.16974348844292117 = (2141.592784551155 - 1778.0713544772527) / 2141.592784551155 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive<Location>.CaseInsensitiveNotMatching ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.8278390639612012 < 2.1011578213407107. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 14.293107393313745 (T) = (0 -1779.0594634955821) / Math.Sqrt((27273.977643263515 / (299)) + (6336.483878677917 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.16661610660747436 = (2134.7418369863326 - 1779.0594634955821) / 2134.7418369863326 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Uri

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[UnescapeDataString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Tests.Perf_Uri.UnescapeDataString(input%3a%20%22%25E4%25BD%25A0%25E5%25A5%25BD%22).html>) 128.13 ns 90.50 ns 0.71 0.57 False
[BuilderToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Tests.Perf_Uri.BuilderToString.html>) 311.06 ns 250.53 ns 0.81 0.64 False
[CombineAbsoluteRelative - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Tests.Perf_Uri.CombineAbsoluteRelative(input%3a%20%22%2fnew%2fpath%22).html>) 457.78 ns 352.48 ns 0.77 0.59 False
[Ctor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Tests.Perf_Uri.Ctor(input%3a%20%22http%3a%2f%2fdot.net%22).html>) 209.87 ns 178.52 ns 0.85 0.56 False
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22http%3a%2f%2fxn--hst-sna.with.xn--nicode-2ya%2fpath%2fwith%3fkey%3dvalue%23fragment%22).html>) 975.29 ns 908.38 ns 0.93 0.64 False
[UriBuilderReplacePort - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Tests.Perf_Uri.UriBuilderReplacePort.html>) 311.70 ns 238.13 ns 0.76 0.60 False
[Ctor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Tests.Perf_Uri.Ctor(input%3a%20%22https%3a%2f%2fcontoso.com%22).html>) 244.59 ns 156.27 ns 0.64 0.63 False
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22http%3a%2f%2fdot.net%2fpath%2fwith%3fkey%3dvalue%23fragment%22).html>) 807.61 ns 661.44 ns 0.82 0.59 False
[CtorIdnHostPathAndQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input%3a%20%22http%3a%2f%2fhost%2f%22).html>) 472.08 ns 336.81 ns 0.71 0.60 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.Tests.Perf_Uri*'
### Payloads [Baseline]() [Compare]() ### Histogram #### 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 90.49511348725433 < 114.31320723758296. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 9.0071008938381 (T) = (0 -101.03116575015537) / Math.Sqrt((71.7618812831291 / (299)) + (47.39925317318641 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.15432529511410545 = (119.46811837512313 - 101.03116575015537) / 119.46811837512313 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.BuilderToString ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 250.52505153210578 < 272.8809006880256. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 7.557267650065217 (T) = (0 -243.4705626425355) / Math.Sqrt((545.9976973543401 / (299)) + (223.70305979446857 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.12749619246737562 = (279.0481377165013 - 243.4705626425355) / 279.0481377165013 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.CombineAbsoluteRelative(input: "/new/path") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 3/27/2023 9:31:31 PM, 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 20.44228039213286 (T) = (0 -334.0124271750761) / Math.Sqrt((1205.531664022302 / (299)) + (205.7958293273205 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.25029276621205404 = (445.5238153264921 - 334.0124271750761) / 445.5238153264921 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.Ctor(input: "http://dot.net") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 178.51696188976183 < 206.75663683148966. IsChangePoint: Marked as a change because one of 5/20/2023 6:43:26 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 11.907849398184167 (T) = (0 -178.8198111993532) / Math.Sqrt((269.6158795401712 / (299)) + (88.65156261669935 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.18733366971208804 = (220.04087598412107 - 178.8198111993532) / 220.04087598412107 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://xn--hst-sna.with.xn--nicode-2ya/path/with?key=value#fragment") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 3/21/2023 8:47:40 PM, 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 10.857343738823674 (T) = (0 -832.8572335783454) / Math.Sqrt((7447.79309636812 / (299)) + (2421.5422043667704 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.1909079761108941 = (1029.3726906057063 - 832.8572335783454) / 1029.3726906057063 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.UriBuilderReplacePort ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 238.1311620414796 < 332.1455927691547. IsChangePoint: Marked as a change because one of 3/31/2023 12:57:13 AM, 4/9/2023 1:58:52 PM, 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 16.400113903122328 (T) = (0 -227.84407540017705) / Math.Sqrt((694.194189139737 / (299)) + (252.1453591077987 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.2839046594122769 = (318.17561501402577 - 227.84407540017705) / 318.17561501402577 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.Ctor(input: "https://contoso.com") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 156.2654265257066 < 218.767203014822. IsChangePoint: Marked as a change because one of 3/27/2023 4:20:55 AM, 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 6.0912063084527945 (T) = (0 -192.71834129748595) / Math.Sqrt((300.1686406238033 / (299)) + (304.0726399020619 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.16486914936652677 = (230.7642462870375 - 192.71834129748595) / 230.7642462870375 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://dot.net/path/with?key=value#fragment") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 3/21/2023 2:53:21 PM, 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 14.814834543243288 (T) = (0 -662.8188785256297) / Math.Sqrt((5032.172782655785 / (299)) + (1032.3219326361134 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.21256818282191653 = (841.7476460387024 - 662.8188785256297) / 841.7476460387024 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://host/") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 3/20/2023 11:25:43 AM, 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 9.441072597550818 (T) = (0 -370.83115993255126) / Math.Sqrt((1354.7322979172066 / (299)) + (965.9596519962951 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.2330947639090114 = (483.54234979894494 - 370.83115993255126) / 483.54234979894494 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
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
[GetElement - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Xml.Linq.Perf_XDocument.GetElement.html>) 70.28 ns 46.44 ns 0.66 0.70 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.Xml.Linq.Perf_XDocument*'
### Payloads [Baseline]() [Compare]() ### Histogram #### 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 46.44084089495102 < 58.58188959246566. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 12.382715981456215 (T) = (0 -42.28116652959451) / Math.Sqrt((27.432168334080533 / (299)) + (10.487201862998832 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2234798095903978 = (54.44953917720009 - 42.28116652959451) / 54.44953917720009 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.IO.Tests.BinaryWriterExtendedTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[WriteAsciiString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.IO.Tests.BinaryWriterExtendedTests.WriteAsciiString(StringLengthInChars%3a%2032).html>) 31.16 ns 23.44 ns 0.75 0.71 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.IO.Tests.BinaryWriterExtendedTests*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.IO.Tests.BinaryWriterExtendedTests.WriteAsciiString(StringLengthInChars: 32) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 23.435968430959562 < 26.83174340853347. IsChangePoint: Marked as a change because one of 3/30/2023 4:24:24 AM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 9.502946696977107 (T) = (0 -23.031395075106232) / Math.Sqrt((9.424526642494234 / (299)) + (6.182050115534321 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2337614975118468 = (30.057736592872818 - 23.031395075106232) / 30.057736592872818 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromString(Mode%3a%20SourceGen).html>) 718.19 ns 589.78 ns 0.82 0.63 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromReader(Mode%3a%20Reflection).html>) 864.98 ns 693.99 ns 0.80 0.63 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromStream(Mode%3a%20SourceGen).html>) 1.07 μs 702.44 ns 0.66 0.60 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromUtf8Bytes(Mode%3a%20SourceGen).html>) 486.33 ns 389.48 ns 0.80 0.60 False
[DeserializeFromReader - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromReader(Mode%3a%20SourceGen).html>) 852.11 ns 663.19 ns 0.78 0.66 False
[DeserializeFromUtf8Bytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromUtf8Bytes(Mode%3a%20Reflection).html>) 570.77 ns 403.65 ns 0.71 0.62 False
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromStream(Mode%3a%20Reflection).html>) 991.12 ns 883.60 ns 0.89 0.64 False
[DeserializeFromString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadJson(SimpleStructWithProperties).DeserializeFromString(Mode%3a%20Reflection).html>) 655.37 ns 477.28 ns 0.73 0.57 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;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 589.7811225588672 < 618.1386786337263. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 13.275155889197245 (T) = (0 -530.0384228390631) / Math.Sqrt((2991.5186518105443 / (299)) + (1268.9932231965345 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21901288512373163 = (678.6775514510722 - 530.0384228390631) / 678.6775514510722 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.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 693.9851605858825 < 764.3854779786675. IsChangePoint: Marked as a change because one of 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 6.790479518096413 (T) = (0 -708.3383676951737) / Math.Sqrt((4760.566459180776 / (299)) + (3306.352877129811 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.16569911846315016 = (849.0202795787019 - 708.3383676951737) / 849.0202795787019 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.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 we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 3/30/2023 2:02:58 PM, 4/17/2023 2:42:45 PM, 5/16/2023 5:40:18 PM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 10.80339440655457 (T) = (0 -813.7580167042674) / Math.Sqrt((6677.47654059379 / (299)) + (3214.8630604902346 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.2054908399865816 = (1024.2273565361083 - 813.7580167042674) / 1024.2273565361083 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromUtf8Bytes(Mode: SourceGen) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 389.48473924408637 < 488.6291771027107. IsChangePoint: Marked as a change because one of 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 12.757359122781528 (T) = (0 -403.85245409060855) / Math.Sqrt((1519.0498559539994 / (299)) + (880.9344355418016 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.2531998682714475 = (540.7771596877559 - 403.85245409060855) / 540.7771596877559 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.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 we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 5/16/2023 5:40:18 PM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 14.692461554473965 (T) = (0 -694.8052401123282) / Math.Sqrt((4963.12550176562 / (299)) + (1145.9410482580151 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.20235373986709795 = (871.0693885740294 - 694.8052401123282) / 871.0693885740294 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromUtf8Bytes(Mode: 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 403.65349469288265 < 502.59223161750384. IsChangePoint: Marked as a change because one of 3/31/2023 12:57:13 AM, 4/18/2023 7:42:00 PM, 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 11.042990162303479 (T) = (0 -411.5144280158587) / Math.Sqrt((1388.3208767417636 / (299)) + (745.9792276765305 / (9))) is greater than 1.9677467375895035 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (9) - 2, .975) and 0.2006785818751931 = (514.8297276723347 - 411.5144280158587) / 514.8297276723347 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.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 we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 3/8/2023 4:26:04 PM, 4/22/2023 11:48:08 PM, 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 14.334559990468332 (T) = (0 -826.8063123719432) / Math.Sqrt((6403.334593071441 / (299)) + (1051.4757245559754 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.1765109189998334 = (1004.0282639421857 - 826.8063123719432) / 1004.0282639421857 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromString(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 477.27538009827106 < 567.5671183416204. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 15.439115630714348 (T) = (0 -522.7361052936811) / Math.Sqrt((2856.8642678975643 / (299)) + (744.0897235328155 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.2060375687204539 = (658.3889674115211 - 522.7361052936811) / 658.3889674115211 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
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_arm64_Windows 10.0.25094/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>) 125.90 ms 112.18 ms 0.89 0.56 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern%3a%20%22Huck%5ba-zA-Z%5d%2b%7cSaw%5ba-zA-Z%5d%2b%22%2c%20Options%3a%20None).html>) 14.55 ms 11.93 ms 0.82 0.58 False
[Count - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern%3a%20%22(%3fi)Tom%7cSawyer%7cHuckleberry%7cFinn%22%2c%20Options%3a%20None).html>) 800.22 ms 584.60 ms 0.73 0.59 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.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig*'
### Payloads [Baseline]() [Compare]() ### Histogram #### 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 112.184098 < 120.47698315. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 12.78039869210489 (T) = (0 -109644832.33333333) / Math.Sqrt((67010826429550.63 / (299)) + (17657572595964.06 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.13177888553168424 = (126286760.94853787 - 109644832.33333333) / 126286760.94853787 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: "Huck[a-zA-Z]+|Saw[a-zA-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 we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 5/6/2023 4:44:37 AM, 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 3.3453091774822705 (T) = (0 -11574130.834134616) / Math.Sqrt((963651289799.597 / (299)) + (658995742773.0773 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.07796927710332498 = (12552868.951885935 - 11574130.834134616) / 12552868.951885935 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: "(?i)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 we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 7.80045661337561 (T) = (0 -654576698.5714285) / Math.Sqrt((3653963303254590.5 / (299)) + (3413712524871620 / (7))) is greater than 1.9677981407170237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (7) - 2, .975) and 0.2103846138215841 = (828981691.6302148 - 654576698.5714285) / 828981691.6302148 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeObjectProperty(Mode%3a%20Reflection).html>) 29.26 μs 26.24 μs 0.90 0.61 False
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeToStream(Mode%3a%20SourceGen).html>) 23.83 μs 22.29 μs 0.94 0.60 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeToWriter(Mode%3a%20Reflection).html>) 25.95 μs 19.62 μs 0.76 0.67 False
[SerializeToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.WriteJson(IndexViewModel).SerializeToString(Mode%3a%20Reflection).html>) 28.70 μs 21.12 μs 0.74 0.67 False

graph graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;IndexViewModel&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### 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 26.242050238035574 < 27.13067976573211. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 9.629122565496836 (T) = (0 -25086.75651982799) / Math.Sqrt((5874084.920480972 / (299)) + (1225537.4626016915 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.11812128235677334 = (28446.94629537154 - 25086.75651982799) / 28446.94629537154 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.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 22.294254587155965 < 23.656321224284568. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 6.035463807012937 (T) = (0 -21455.22612855586) / Math.Sqrt((4865874.566542534 / (299)) + (3883764.950888893 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.14089978211719456 = (24974.066682733264 - 21455.22612855586) / 24974.066682733264 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 19.622118703358215 < 23.936014628174622. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 10.775784014962564 (T) = (0 -20322.628386083972) / Math.Sqrt((4082321.433351578 / (299)) + (1509370.8696396286 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.16527177297950144 = (24346.40129353731 - 20322.628386083972) / 24346.40129353731 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.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 we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 5/16/2023 7:34:13 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 6.8057890755746895 (T) = (0 -23288.7355384021) / Math.Sqrt((5807071.935954495 / (299)) + (3411618.182867657 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.1632755232087774 = (27833.218920178722 - 23288.7355384021) / 27833.218920178722 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Sort<BigStruct>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[LinqQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.Sort(BigStruct).LinqQuery(Size%3a%20512).html>) 85.79 μs 60.98 μs 0.71 0.63 False
[LinqOrderByExtension - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.Sort(BigStruct).LinqOrderByExtension(Size%3a%20512).html>) 80.87 μs 69.13 μs 0.85 0.58 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.Collections.Sort&lt;BigStruct&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.Sort<BigStruct>.LinqQuery(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 60.980844000000005 < 76.57650864. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 10.489012539220656 (T) = (0 -64326.62456666667) / Math.Sqrt((40165157.62385817 / (299)) + (17917919.15548077 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.17219851937716235 = (77707.79114609379 - 64326.62456666667) / 77707.79114609379 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Sort<BigStruct>.LinqOrderByExtension(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 69.127428 < 73.22530631. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 9.441765761529796 (T) = (0 -64086.98906666667) / Math.Sqrt((35636118.39655697 / (299)) + (23126077.113107085 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.17406781930285872 = (77593.52470389642 - 64086.98906666667) / 77593.52470389642 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Reflection.Invoke

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Property_Set_class - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Reflection.Invoke.Property_Set_class.html>) 65.00 ns 55.36 ns 0.85 0.65 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.Invoke*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Reflection.Invoke.Property_Set_class ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 55.36225472292192 < 63.045952395833325. IsChangePoint: Marked as a change because one of 4/25/2023 1:02:54 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 8.494923524986037 (T) = (0 -54.78635581569312) / Math.Sqrt((41.287892832515226 / (299)) + (5.905527940158029 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.10960127069431187 = (61.530137018967025 - 54.78635581569312) / 61.530137018967025 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Microsoft.Extensions.DependencyInjection.GetService

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ServiceScopeProvider - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/Microsoft.Extensions.DependencyInjection.GetService.ServiceScopeProvider.html>) 47.30 ns 30.44 ns 0.64 0.76 False
[EmptyEnumerable - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/Microsoft.Extensions.DependencyInjection.GetService.EmptyEnumerable.html>) 51.39 ns 47.95 ns 0.93 0.71 False
[Singleton - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/Microsoft.Extensions.DependencyInjection.GetService.Singleton.html>) 46.52 ns 31.87 ns 0.69 0.70 False
[ServiceScope - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/Microsoft.Extensions.DependencyInjection.GetService.ServiceScope.html>) 113.31 ns 98.75 ns 0.87 0.68 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.DependencyInjection.GetService*'
### Payloads [Baseline]() [Compare]() ### Histogram #### 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 30.444305833595017 < 44.54138092156942. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 7.722458551755073 (T) = (0 -39.2418398831367) / Math.Sqrt((38.987606325040076 / (299)) + (28.603568473142158 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.23782004644696342 = (51.48631855273013 - 39.2418398831367) / 51.48631855273013 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 47.9488131020647 < 50.795083137850305. IsChangePoint: Marked as a change because one of 5/18/2023 11:09:10 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 12.248826499095864 (T) = (0 -38.28033050599477) / Math.Sqrt((34.37328630612839 / (299)) + (25.718976724926595 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.30894183239521744 = (55.39378926476615 - 38.28033050599477) / 55.39378926476615 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.DependencyInjection.GetService.Singleton ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 31.87369384112991 < 40.03088378363789. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 14.073293188443124 (T) = (0 -31.643378083153806) / Math.Sqrt((25.95937677194893 / (299)) + (13.420645982452692 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.32807070005926414 = (47.09331485610875 - 31.643378083153806) / 47.09331485610875 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 98.74691059544399 < 105.63621329636173. IsChangePoint: Marked as a change because one of 5/18/2023 3:09:06 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 8.468617861551177 (T) = (0 -89.4204967804268) / Math.Sqrt((106.79539137526956 / (299)) + (65.96065442608665 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1711595725141474 = (107.88626352562069 - 89.4204967804268) / 107.88626352562069 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SerializeToStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeToStream(Mode%3a%20Reflection).html>) 17.26 μs 13.18 μs 0.76 0.64 False
[SerializeObjectProperty - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeObjectProperty(Mode%3a%20Reflection).html>) 18.01 μs 15.47 μs 0.86 0.56 False
[SerializeToWriter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.WriteJson(Dictionary(String%2c%20String)).SerializeToWriter(Mode%3a%20Reflection).html>) 15.65 μs 13.87 μs 0.89 0.65 False

graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
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>>.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 13.177890886287626 < 16.373687577538384. IsChangePoint: Marked as a change because one of 4/2/2023 3:55:31 PM, 4/23/2023 10:00:36 AM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 10.430914717927449 (T) = (0 -14098.553172997277) / Math.Sqrt((2148302.3994809603 / (299)) + (554160.5852761429 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.145965881092126 = (16508.18493179909 - 14098.553172997277) / 16508.18493179909 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeObjectProperty(Mode: 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.465899125827814 < 16.899567559496532. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 10.44642780604146 (T) = (0 -15680.935193347317) / Math.Sqrt((1793233.8410440327 / (299)) + (445391.9505110949 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.12151662517290139 = (17850.00791441683 - 15680.935193347317) / 17850.00791441683 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeToWriter(Mode: Reflection) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.872069481382976 < 14.585961851744232. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 6.004852106953143 (T) = (0 -13312.693511377749) / Math.Sqrt((1736292.3667091688 / (299)) + (910893.5520902051 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.1142131141047374 = (15029.228501077483 - 13312.693511377749) / 15029.228501077483 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
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_Comparison - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.Sort(Int32).Array_Comparison(Size%3a%20512).html>) 30.79 μs 20.10 μs 0.65 0.68 False
[LinqQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.Sort(Int32).LinqQuery(Size%3a%20512).html>) 44.68 μs 39.54 μs 0.88 0.63 False
[LinqOrderByExtension - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.Sort(Int32).LinqOrderByExtension(Size%3a%20512).html>) 49.66 μs 34.72 μs 0.70 0.69 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_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 20.097403999999997 < 28.59004423. IsChangePoint: Marked as a change because one of 4/26/2023 12:55:36 AM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 34.990313704349184 (T) = (0 -18883.565333333336) / Math.Sqrt((13295013.317010302 / (299)) + (1112598.421168677 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.4069843504447734 = (31843.283305417623 - 18883.565333333336) / 31843.283305417623 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 39.53835536842106 < 48.92980643. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 15.793534442586747 (T) = (0 -35866.707523436795) / Math.Sqrt((21661001.052204344 / (299)) + (9842119.729669001 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.293798760290409 = (50788.22509315638 - 35866.707523436795) / 50788.22509315638 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 34.72212240000001 < 47.70091151000001. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 20.523787671180077 (T) = (0 -34574.00873301435) / Math.Sqrt((18713306.018906705 / (299)) + (6126010.949965909 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3184418221040617 = (50727.890669214714 - 34574.00873301435) / 50727.890669214714 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
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_arm64_Windows 10.0.25094/System.Numerics.Tests.Perf_VectorOf(Byte).GetHashCodeBenchmark.html>) 107.00 ns 82.70 ns 0.77 0.67 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;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 82.70282948322674 < 101.0523679208568. IsChangePoint: Marked as a change because one of 3/11/2023 9:11:51 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 17.332097972894346 (T) = (0 -78.80340614758263) / Math.Sqrt((84.02975235071376 / (299)) + (24.35753526663942 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2505666267784428 = (105.15064976201127 - 78.80340614758263) / 105.15064976201127 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.MathBenchmarks.Single

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ILogB - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.MathBenchmarks.Single.ILogB.html>) 14.16 μs 7.58 μs 0.54 0.68 False
[ScaleB - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.MathBenchmarks.Single.ScaleB.html>) 19.26 μs 12.94 μs 0.67 0.63 False
[Hypot - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.MathBenchmarks.Single.Hypot.html>) 28.52 μs 23.79 μs 0.83 0.65 False
[SinPi - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.MathBenchmarks.Single.SinPi.html>) 64.20 μs 53.99 μs 0.84 0.65 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.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 7.58270005353319 < 14.881598563338972. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 31.5066953389882 (T) = (0 -9049.843035086295) / Math.Sqrt((1689116.902881416 / (299)) + (433844.477086921 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.41582361445258736 = (15491.627629908357 - 9049.843035086295) / 15491.627629908357 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.MathBenchmarks.Single.ScaleB ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 18.15025161273478 (T) = (0 -13844.466646185645) / Math.Sqrt((3281792.8558569537 / (299)) + (1125495.8506542733 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.3379934851526226 = (20912.885803514222 - 13844.466646185645) / 20912.885803514222 is greater than 0.05. IsChangeEdgeDetector: Marked not as a 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 23.785794400000004 < 27.882690926062782. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 12.250501859262608 (T) = (0 -22659.152520781146) / Math.Sqrt((5484935.423535582 / (299)) + (3228025.906491566 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.22469190851052995 = (29225.997728528666 - 22659.152520781146) / 29225.997728528666 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.MathBenchmarks.Single.SinPi ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 5/16/2023 7:34:13 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 6.7804707980950525 (T) = (0 -58421.28932743518) / Math.Sqrt((27234232.515345853 / (299)) + (11770148.879170468 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.11558969889662536 = (66056.77167548797 - 58421.28932743518) / 66056.77167548797 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20False%2c%20TestRandomAccess%3a%20False%2c%20TestCase%3a%20BasicJson).html>) 1.69 μs 1.39 μs 0.82 0.61 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20False%2c%20TestRandomAccess%3a%20False%2c%20TestCase%3a%20Json400KB).html>) 1.38 ms 1.21 ms 0.87 0.63 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented%3a%20True%2c%20TestRandomAccess%3a%20False%2c%20TestCase%3a%20Json400B).html>) 2.33 μs 1.96 μs 0.84 0.63 False

graph graph graph Test Report

Repro

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

Payloads

Baseline Compare

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Document.Tests.Perf_DocumentParse*'
### Payloads [Baseline]() [Compare]() ### Histogram #### 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 1.3858749067042613 < 1.5474497191328878. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 7.584058091863264 (T) = (0 -1374.9474893549984) / Math.Sqrt((13317.927912940455 / (299)) + (5954.846336365019 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.11368738612855474 = (1551.3121079809284 - 1374.9474893549984) / 1551.3121079809284 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: False, TestCase: Json400KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2061175000000002 < 1.2811480615934627. IsChangePoint: Marked as a change because one of 2/8/2023 10:48:55 AM, 3/31/2023 12:57:13 AM, 4/18/2023 7:42:00 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 11.410232484803238 (T) = (0 -1070470.988742629) / Math.Sqrt((23802312357.74516 / (299)) + (3598994996.9359264 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.17194764612904917 = (1292757.6182090756 - 1070470.988742629) / 1292757.6182090756 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: False, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because we could not find enough baseline builds for window checking. IsChangePoint: Marked as a change because one of 3/28/2023 11:38:05 PM, 4/21/2023 12:49:36 AM, 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 11.044608969070357 (T) = (0 -1989.806872155316) / Math.Sqrt((33002.4910174129 / (299)) + (7821.008154003702 / (8))) is greater than 1.967772354556772 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (8) - 2, .975) and 0.15475266102029392 = (2354.111962727031 - 1989.806872155316) / 2354.111962727031 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Tests.Utf8JsonReaderCommentsTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Utf8JsonReaderCommentParsing - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling%3a%20Skip%2c%20SegmentSize%3a%200%2c%20TestCase%3a%20ShortSingleLine).html>) 144.94 ns 110.63 ns 0.76 0.65 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.Utf8JsonReaderCommentsTests*'
### Payloads [Baseline]() [Compare]() ### Histogram #### 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 110.63302450997337 < 133.97215936942632. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 7.5315768942533 (T) = (0 -112.60980426636833) / Math.Sqrt((139.7444192316793 / (299)) + (80.50361289591369 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.151941660500758 = (132.7854453183748 - 112.60980426636833) / 132.7854453183748 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
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_arm64_Windows 10.0.25094/System.Collections.IndexerSetReverse(Int32).IList(Size%3a%20512).html>) 1.97 μs 1.59 μs 0.81 0.67 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.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 1.5885586480034721 < 1.8640497342563698. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 12.586857892319973 (T) = (0 -1593.5242304927986) / Math.Sqrt((41630.18071129067 / (299)) + (12803.637256093229 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.21527205014852915 = (2030.6709233364409 - 1593.5242304927986) / 2030.6709233364409 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Xml.Linq.Perf_XElement

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetAttribute - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Xml.Linq.Perf_XElement.GetAttribute.html>) 40.40 ns 27.95 ns 0.69 0.67 False
[CreateElementWithNamespace - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Xml.Linq.Perf_XElement.CreateElementWithNamespace.html>) 136.55 ns 102.81 ns 0.75 0.66 False
[GetElement - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Xml.Linq.Perf_XElement.GetElement.html>) 56.39 ns 46.98 ns 0.83 0.71 False
[CreateElementsWithNamespace - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Xml.Linq.Perf_XElement.CreateElementsWithNamespace.html>) 202.37 ns 177.83 ns 0.88 0.56 False
[GetValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Xml.Linq.Perf_XElement.GetValue.html>) 133.47 ns 86.77 ns 0.65 0.54 False
[GetElementWithNamespace - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Xml.Linq.Perf_XElement.GetElementWithNamespace.html>) 120.47 ns 99.64 ns 0.83 0.64 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.Xml.Linq.Perf_XElement*'
### Payloads [Baseline]() [Compare]() ### Histogram #### 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 27.952652698746835 < 37.261988407573234. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 10.506061309502025 (T) = (0 -26.456427371214343) / Math.Sqrt((14.979757519427002 / (299)) + (15.194897981611541 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.3220860850773346 = (39.02623443602337 - 26.456427371214343) / 39.02623443602337 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 102.80891109483824 < 133.19893562127584. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 13.628833539894504 (T) = (0 -109.04120653874774) / Math.Sqrt((149.77462404806343 / (299)) + (49.856921669018035 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2124038338371586 = (138.4481174787774 - 109.04120653874774) / 138.4481174787774 is greater than 0.05. IsChangeEdgeDetector: Marked not as a 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 46.97908643401208 < 55.081647282240844. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 11.14761957409028 (T) = (0 -48.18799169364985) / Math.Sqrt((29.63087243289154 / (299)) + (12.352951045791885 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.19727180417315318 = (60.0302716961549 - 48.18799169364985) / 60.0302716961549 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XElement.CreateElementsWithNamespace ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 177.82669198091247 < 190.8364312632749. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 6.8168930381558415 (T) = (0 -170.7008851607607) / Math.Sqrt((192.14252976007296 / (299)) + (292.3114177469886 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.16644523574825631 = (204.78664687855704 - 170.7008851607607) / 204.78664687855704 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XElement.GetValue ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 86.7671018631851 < 121.46315449975184. IsChangePoint: Marked as a change because one of 5/16/2023 5:40:18 PM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 29.303275786010445 (T) = (0 -94.86384790848243) / Math.Sqrt((136.800037583578 / (299)) + (25.388101431896104 / (10))) is greater than 1.9677212881555053 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (10) - 2, .975) and 0.34840709564289146 = (145.58760120643035 - 94.86384790848243) / 145.58760120643035 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 99.64352404019645 < 112.76660599103073. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 9.010903740796094 (T) = (0 -94.54532694825694) / Math.Sqrt((120.18472206375688 / (299)) + (87.8721624796 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21634342027729758 = (120.64637673521722 - 94.54532694825694) / 120.64637673521722 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
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_arm64_Windows 10.0.25094/SciMark2.kernel.benchMonteCarlo.html>) 991.94 ms 886.37 ms 0.89 0.58 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 886.36522 < 1.01776039635. IsChangePoint: Marked as a change because one of 3/31/2023 7:02:21 PM, 4/12/2023 8:39:35 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 9.597502103415488 (T) = (0 -863292126.1666666) / Math.Sqrt((5382718557027920 / (299)) + (3608400866672558.5 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.16560226452532645 = (1034629037.7640533 - 863292126.1666666) / 1034629037.7640533 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Tests.Perf_StringBuilder

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Append_ValueTypes_Interpolated - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Tests.Perf_StringBuilder.Append_ValueTypes_Interpolated.html>) 5.13 μs 4.26 μs 0.83 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.Text.Tests.Perf_StringBuilder*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Tests.Perf_StringBuilder.Append_ValueTypes_Interpolated ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.257882106613348 < 4.809198869786753. IsChangePoint: Marked as a change because one of 2/9/2023 4:27:10 AM, 3/28/2023 11:38:05 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 14.800833776956255 (T) = (0 -4288.17573453959) / Math.Sqrt((303008.0927781909 / (299)) + (73721.45453607211 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2260029703653566 = (5540.2999887012165 - 4288.17573453959) / 5540.2999887012165 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Int16

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Tests.Perf_Int16.ToString(value%3a%200).html>) 3.89 ns 1.93 ns 0.50 0.85 False
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Tests.Perf_Int16.TryParse(value%3a%20%220%22).html>) 12.47 ns 7.70 ns 0.62 0.79 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_Int16*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_Int16.ToString(value: 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 1.9321439090983912 < 5.237616049678192. IsChangePoint: Marked as a change because one of 4/25/2023 1:02:54 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 7.4503219093304125 (T) = (0 -1.9603748821072522) / Math.Sqrt((1.062942898654349 / (299)) + (0.5074383400068402 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.4486415283155188 = (3.555535976654206 - 1.9603748821072522) / 3.555535976654206 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int16.TryParse(value: "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 7.7023485146290795 < 11.875577562159204. IsChangePoint: Marked as a change because one of 5/17/2023 10:06:24 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 11.084810666283296 (T) = (0 -9.018470208716797) / Math.Sqrt((4.869402517926746 / (299)) + (3.2684285210542847 / (17))) is greater than 1.9675476980854363 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (17) - 2, .975) and 0.35950885944964206 = (14.080554183727589 - 9.018470208716797) / 14.080554183727589 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Formats.Cbor.Tests.Perf_CborReader

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SkipValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding%3a%20(Map%2c%20Canonical)).html>) 1.14 μs 1.00 μs 0.88 0.65 False
[SkipValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding%3a%20(Map%2c%20Lax)).html>) 1.04 μs 861.06 ns 0.83 0.63 False
[SkipValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding%3a%20(Byte%20String%2c%20Strict)).html>) 100.11 ns 82.86 ns 0.83 0.61 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.Formats.Cbor.Tests.Perf_CborReader*'
### Payloads [Baseline]() [Compare]() ### Histogram #### 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 1.0014660655737706 < 1.001880587577039. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 7.231404019065807 (T) = (0 -951.7566797057642) / Math.Sqrt((6426.730175868012 / (299)) + (3214.934388739895 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.11446101743278969 = (1074.7767161492839 - 951.7566797057642) / 1074.7767161492839 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding: (Map, 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 861.0565317085953 < 937.8297327172362. IsChangePoint: Marked as a change because one of 5/18/2023 7:10:13 PM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 5.38974108332168 (T) = (0 -839.3809632579778) / Math.Sqrt((5056.080347111788 / (299)) + (5450.695450938488 / (13))) is greater than 1.9676459287777595 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (13) - 2, .975) and 0.11824833527435022 = (951.9471262003738 - 839.3809632579778) / 951.9471262003738 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Formats.Cbor.Tests.Perf_CborReader.SkipValue(encoding: (Byte String, Strict)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 82.85956267389294 < 89.43748362600205. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 7.101261470758078 (T) = (0 -80.43887584921787) / Math.Sqrt((44.74873570692264 / (299)) + (36.584447613882816 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.13635438676622394 = (93.13875346165193 - 80.43887584921787) / 93.13875346165193 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
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_arm64_Windows 10.0.25094/Benchstone.BenchI.NDhrystone.Test.html>) 878.25 ms 664.35 ms 0.76 0.53 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 664.350264 < 895.5372353. IsChangePoint: Marked as a change because one of 4/2/2023 6:09:37 PM, 4/18/2023 7:36:21 AM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 15.171862914311099 (T) = (0 -694256720.1818181) / Math.Sqrt((5380300869859931 / (299)) + (1580572518932986.8 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.21745129917184625 = (887173819.9131911 - 694256720.1818181) / 887173819.9131911 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
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_arm64_Windows 10.0.25094/Benchstone.BenchI.Midpoint.Test.html>) 734.44 ms 649.32 ms 0.88 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 '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 649.32013 < 765.98617895. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 9.359007419922367 (T) = (0 -621328883.5) / Math.Sqrt((3398693642179322 / (299)) + (3689039090152237 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.21194183176898623 = (788430230.8479617 - 621328883.5) / 788430230.8479617 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DeserializeFromStream - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Json.Serialization.Tests.ReadJson(Int32).DeserializeFromStream(Mode%3a%20Reflection).html>) 583.63 ns 486.09 ns 0.83 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.Text.Json.Serialization.Tests.ReadJson&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### 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 486.0927254628194 < 539.9236738980173. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 8.216474445867512 (T) = (0 -462.57731477260813) / Math.Sqrt((1934.3548607273647 / (299)) + (1135.4500994726493 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.15152813319469088 = (545.1887479950486 - 462.57731477260813) / 545.1887479950486 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[HeapSort - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).HeapSort(Size%3a%20100).html>) 11.26 μs 7.95 μs 0.71 0.66 False
[K_Max_Elements - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).K_Max_Elements(Size%3a%201000).html>) 15.71 μs 12.33 μs 0.78 0.67 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.Collections.Tests.Perf_PriorityQueue&lt;Guid, Guid&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### 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 7.945126504740599 < 10.00476774292438. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 12.202709059361892 (T) = (0 -7559.303493436163) / Math.Sqrt((703908.8298120637 / (299)) + (474807.54122489435 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.24841207523111766 = (10057.77666766093 - 7559.303493436163) / 10057.77666766093 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>.K_Max_Elements(Size: 1000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.327025422297297 < 13.643342534842015. IsChangePoint: Marked as a change because one of 5/20/2023 3:57:43 PM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 5.812324120820716 (T) = (0 -11324.954401830562) / Math.Sqrt((1349613.6391377703 / (299)) + (939510.1969764542 / (6))) is greater than 1.967824097752068 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (6) - 2, .975) and 0.17081008673115114 = (13657.853551528508 - 11324.954401830562) / 13657.853551528508 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Random

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Next_unseeded - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Tests.Perf_Random.Next_unseeded.html>) 8.78 ns 5.67 ns 0.65 0.84 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_Random*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_Random.Next_unseeded ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.667228283112219 < 7.234272410448154. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 9.131071799176913 (T) = (0 -5.08972150132894) / Math.Sqrt((4.9746657019747635 / (299)) + (1.097285985053999 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.3709857495736489 = (8.091583772353463 - 5.08972150132894) / 8.091583772353463 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[FrozenDictionaryOptimized - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.TryGetValueFalse(String%2c%20String).FrozenDictionaryOptimized(Size%3a%20512).html>) 17.59 μs 13.21 μs 0.75 0.69 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.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 13.206926393728223 < 16.66130173954552. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 11.788031201824246 (T) = (0 -12518.981323953587) / Math.Sqrt((3322200.036685321 / (180)) + (973081.8335434218 / (12))) is greater than 1.9725281820011344 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (180) + (12) - 2, .975) and 0.2290426391918138 = (16238.227897363968 - 12518.981323953587) / 16238.227897363968 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
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_arm64_Windows 10.0.25094/MicroBenchmarks.Serializers.Xml_ToStream(LoginViewModel).DataContractSerializerBinaryXml.html>) 1.13 μs 764.76 ns 0.68 0.62 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.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 764.7628874410489 < 1.0192060720900118. IsChangePoint: Marked as a change because one of 3/29/2023 6:23:42 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 23.682411137728323 (T) = (0 -829.0274238628011) / Math.Sqrt((13429.983413741202 / (223)) + (1629.9823655921296 / (12))) is greater than 1.970197598972363 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (223) + (12) - 2, .975) and 0.28570822481757957 = (1160.6285451783044 - 829.0274238628011) / 1160.6285451783044 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
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_arm64_Windows 10.0.25094/MicroBenchmarks.Serializers.JsonFromStream(MyEventsListerViewModel).JsonNet.html>) 1.29 ms 889.16 μs 0.69 0.78 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_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 889.161413407821 < 1.0907408613853649. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 6.860464027162625 (T) = (0 -937399.5577845704) / Math.Sqrt((58740800324.42107 / (299)) + (29421792131.242836 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.27358623036551677 = (1290448.497770425 - 937399.5577845704) / 1290448.497770425 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in PerfLabTests.DelegatePerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DelegateInvoke - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/PerfLabTests.DelegatePerf.DelegateInvoke.html>) 544.67 μs 198.99 μs 0.37 0.69 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.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 198.9938987341772 < 506.0309969162088. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 38.73204059134469 (T) = (0 -182383.35753460196) / Math.Sqrt((19748547032.479885 / (299)) + (171756238.562086 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.6556175994714706 = (529595.4649677079 - 182383.35753460196) / 529595.4649677079 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
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_arm64_Windows 10.0.25094/MicroBenchmarks.Serializers.JsonToString(CollectionsOfPrimitives).JsonNet.html>) 833.39 μs 640.61 μs 0.77 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 '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 640.6050312500003 < 746.7390740994529. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 12.475438534430593 (T) = (0 -622596.9435095103) / Math.Sqrt((3633905226.592758 / (299)) + (1319814282.0076518 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.1813004506544 = (760470.6073273916 - 622596.9435095103) / 760470.6073273916 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[EncodeUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments%3a%20Url%2c%c2%a92020%2c16).html>) 80.55 ns 59.05 ns 0.73 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.Text.Encodings.Web.Tests.Perf_Encoders*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,©2020,16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 59.04962074924619 < 73.08391537043289. IsChangePoint: Marked as a change because one of 3/29/2023 4:47:17 AM, 4/18/2023 7:42:00 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 4.491547825852044 (T) = (0 -63.32612347323652) / Math.Sqrt((40.06480680685438 / (299)) + (46.84379372052608 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.12474215166603914 = (72.35139175704253 - 63.32612347323652) / 72.35139175704253 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Bag - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/System.Collections.Concurrent.Count(Int32).Bag(Size%3a%20512).html>) 82.79 ns 63.29 ns 0.76 0.68 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.Concurrent.Count&lt;Int32&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.Concurrent.Count<Int32>.Bag(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 63.28597754085679 < 80.80323544798809. IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 19.592915349455645 (T) = (0 -62.30729501302567) / Math.Sqrt((61.421576447430915 / (299)) + (14.97477113280646 / (12))) is greater than 1.9676708853560316 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (12) - 2, .975) and 0.2748835202176695 = (85.92729133908172 - 62.30729501302567) / 85.92729133908172 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS Windows 10.0.25094
Queue AmpereWindows
Baseline f73356c1f4b9b292dc4fb02f1dd47e4a61e423f5
Compare 1ec5ff876baf614275dcdc1d6ba435e94d78e4b1
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Xml_ToStream<IndexViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DataContractSerializer_ - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_arm64_Windows 10.0.25094/MicroBenchmarks.Serializers.XmlToStream(IndexViewModel).DataContractSerializer.html>) 104.24 μs 76.14 μs 0.73 0.62 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.Xml_ToStream&lt;IndexViewModel&gt;*'
### Payloads [Baseline]() [Compare]() ### Histogram #### MicroBenchmarks.Serializers.Xml_ToStream<IndexViewModel>.DataContractSerializer_ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 76.14408520823359 < 102.72000879612635. IsChangePoint: Marked as a change because one of 3/30/2023 2:02:58 PM, 5/19/2023 4:22:12 AM, 5/25/2023 4:37:39 AM falls between 5/16/2023 7:34:13 AM and 5/25/2023 4:37:39 AM. IsImprovementStdDev: Marked as improvement because 18.01550522785774 (T) = (0 -82939.59375182488) / Math.Sqrt((124458532.24113731 / (299)) + (19085369.777647726 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.24161463940551722 = (109363.38972420331 - 82939.59375182488) / 109363.38972420331 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)