Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[Perf] Changes at 7/6/2022 11:58:32 AM #6751

Closed
performanceautofiler bot opened this issue Jul 14, 2022 · 3 comments
Closed

[Perf] Changes at 7/6/2022 11:58:32 AM #6751

performanceautofiler bot opened this issue Jul 14, 2022 · 3 comments
Assignees
Labels
arch-arm64 branch-refs/heads/main kind-micro os-linux perf-improvement PGO Applied if there were any profile guided optimization updates in the observed interval. runtime-coreclr

Comments

@performanceautofiler
Copy link

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

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
GetComponents - Duration of single invocation 132.86 ns 98.94 ns 0.74 0.61 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Uri*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Uri.GetComponents


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 98.9437943634028 < 127.92352027317787.
IsChangePoint: Marked as a change because one of 5/24/2022 10:45:34 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 5.860935294906318 (T) = (0 -94.14032730139655) / Math.Sqrt((152.4179498455589 / (299)) + (61.103307380653725 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.08550661883282963 = (102.9426010511361 - 94.14032730139655) / 102.9426010511361 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

### Run Information
Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in Microsoft.Extensions.Primitives.StringSegmentBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TrimEnd - Duration of single invocation 132.57 ns 13.90 ns 0.10 0.57 False
TrimStart - Duration of single invocation 117.21 ns 16.22 ns 0.14 0.65 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'Microsoft.Extensions.Primitives.StringSegmentBenchmark*'

Payloads

Baseline
Compare

Histogram

Microsoft.Extensions.Primitives.StringSegmentBenchmark.TrimEnd


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 13.898649108698866 < 131.9366407613424.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 2.816475792607095 (T) = (0 -18.51591727852764) / Math.Sqrt((610.396395742456 / (299)) + (61.768396475041556 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.2288494235336881 = (24.01076760309796 - 18.51591727852764) / 24.01076760309796 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### Microsoft.Extensions.Primitives.StringSegmentBenchmark.TrimStart

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 16.218568756467214 < 108.89405833217326.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 2.2738606620268915 (T) = (0 -21.755577197192405) / Math.Sqrt((433.14024506764014 / (299)) + (69.42725181423084 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.16222289701359546 = (25.96821650966684 - 21.755577197192405) / 25.96821650966684 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Tests.Perf_DateTime

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ParseO - Duration of single invocation 157.01 ns 100.14 ns 0.64 0.37 False
ParseR - Duration of single invocation 144.25 ns 89.64 ns 0.62 0.32 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_DateTime*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_DateTime.ParseO


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 100.1440349993068 < 147.40574895164485.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 8.31693112237964 (T) = (0 -96.56618445613316) / Math.Sqrt((116.56927745045432 / (299)) + (4.772235730929086 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.05880300433344853 = (102.5993335090763 - 96.56618445613316) / 102.5993335090763 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_DateTime.ParseR

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 89.64448670187673 < 138.31105997907017.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 10.50791020110144 (T) = (0 -90.77104130060164) / Math.Sqrt((102.26961866652417 / (299)) + (2.9345516342691185 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.07024009623304164 = (97.62847476304285 - 90.77104130060164) / 97.62847476304285 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Memory.Span<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SequenceEqual - Duration of single invocation 61.18 ns 35.06 ns 0.57 0.52 False
StartsWith - Duration of single invocation 54.73 ns 16.99 ns 0.31 0.52 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.Span&lt;Byte&gt;*'

Payloads

Baseline
Compare

Histogram

System.Memory.Span<Byte>.SequenceEqual(Size: 512)


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 35.06432955285231 < 58.13309840200602.
IsChangePoint: Marked as a change because one of 5/30/2022 4:33:23 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 4.526886675962463 (T) = (0 -39.68846366008964) / Math.Sqrt((39.51199378333488 / (299)) + (17.285107452150676 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.08277530504481193 = (43.27016474630424 - 39.68846366008964) / 43.27016474630424 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Byte&gt;.StartsWith(Size: 512)

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 16.99332401159054 < 49.820555020507946.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 4.015180659652687 (T) = (0 -18.26493643159453) / Math.Sqrt((47.42501362270938 / (299)) + (3.0745018890680966 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.09839480002836137 = (20.25824211325432 - 18.26493643159453) / 20.25824211325432 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
EnumerateProperties - Duration of single invocation 10.16 μs 2.63 μs 0.26 0.30 False
EnumerateProperties - Duration of single invocation 13.87 μs 2.92 μs 0.21 0.34 False
EnumerateProperties - Duration of single invocation 12.76 μs 3.89 μs 0.31 0.02 False

graph
graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Text.Json.Document.Tests.Perf_EnumerateObject.EnumerateProperties(TestCase: StringProperties)


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 2.6279869570409082 < 11.814715292544863.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 12.403824530944739 (T) = (0 -2702.9407793361775) / Math.Sqrt((2837328.837895373 / (299)) + (16728.013218159966 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.31419998114446057 = (3941.2958661722337 - 2702.9407793361775) / 3941.2958661722337 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

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

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 2.919675332833302 < 13.150184876493467.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 12.632829080580626 (T) = (0 -2695.1999888116325) / Math.Sqrt((2781907.4906268567 / (299)) + (15427.012572099102 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.316331224337987 = (3942.259884842342 - 2695.1999888116325) / 3942.259884842342 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Document.Tests.Perf_EnumerateObject.EnumerateProperties(TestCase: ObjectProperties)

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 3.893708687214613 < 12.179594427742238.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 13.383571620882908 (T) = (0 -3883.66296921526) / Math.Sqrt((2748518.5791214537 / (299)) + (163.515083057948 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.24839559401431494 = (5167.163654558496 - 3883.66296921526) / 5167.163654558496 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Buffers.Text.Tests.Utf8ParserTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryParseUInt32Hex - Duration of single invocation 45.49 ns 6.16 ns 0.14 0.72 False
TryParseUInt32Hex - Duration of single invocation 33.12 ns 8.09 ns 0.24 0.72 False
TryParseUInt32Hex - Duration of single invocation 46.49 ns 8.86 ns 0.19 0.65 False
TryParseInt16 - Duration of single invocation 29.30 ns 8.86 ns 0.30 0.68 False
TryParseInt16 - Duration of single invocation 25.03 ns 8.47 ns 0.34 0.73 False

graph
graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Buffers.Text.Tests.Utf8ParserTests*'

Payloads

Baseline
Compare

Histogram

System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt32Hex(value: 3039)


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 6.161825880168055 < 42.97196119664326.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 4.244168772159367 (T) = (0 -8.413378354436787) / Math.Sqrt((72.309611265029 / (299)) + (7.712396703125528 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.25537186436920667 = (11.298765050436351 - 8.413378354436787) / 11.298765050436351 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt32Hex(value: 0)

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 8.087134491442644 < 36.38787657879134.
IsChangePoint: Marked as a change because one of 5/30/2022 4:33:23 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 6.518475175082219 (T) = (0 -7.3464738621167305) / Math.Sqrt((42.4337190191414 / (299)) + (3.0544020679241406 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.2981364894421229 = (10.467097593202098 - 7.3464738621167305) / 10.467097593202098 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt32Hex(value: FFFFFFFFFFFFFFFF)

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 8.856522635833162 < 48.94407613466813.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 2.33189897173081 (T) = (0 -15.433108670998136) / Math.Sqrt((149.92646359773374 / (299)) + (103.59699814816132 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.21942776516921558 = (19.77153168193817 - 15.433108670998136) / 19.77153168193817 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseInt16(value: -32768)

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 8.857596191656013 < 32.73094763197783.
IsChangePoint: Marked as a change because one of 5/12/2022 5:35:05 PM, 5/31/2022 10:47:41 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 6.358685904320376 (T) = (0 -10.324645979613418) / Math.Sqrt((28.582382334458185 / (299)) + (4.099668005464472 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.22121743304585806 = (13.257417946569646 - 10.324645979613418) / 13.257417946569646 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Text.Tests.Utf8ParserTests.TryParseInt16(value: 0)

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 8.472202865630212 < 24.33170576964764.
IsChangePoint: Marked as a change because one of 5/30/2022 4:33:23 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 8.656021272711088 (T) = (0 -6.737116448726258) / Math.Sqrt((20.368992968783147 / (299)) + (2.710808010605611 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.32895671784597624 = (10.039764390607365 - 6.737116448726258) / 10.039764390607365 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

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 35.94 μs 19.39 μs 0.54 0.28 False
Utf8JsonReaderCommentParsing - Duration of single invocation 2.06 μs 1.37 μs 0.67 0.42 False
Utf8JsonReaderCommentParsing - Duration of single invocation 223.73 ns 159.79 ns 0.71 0.27 False

graph
graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Allow, SegmentSize: 100, TestCase: LongMultiLine)


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 19.38698995385331 < 36.84487658690067.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 6.9150977221420495 (T) = (0 -19760.220905002847) / Math.Sqrt((12426292.925056001 / (299)) + (291757.439014929 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.07250198879885436 = (21304.866065871774 - 19760.220905002847) / 21304.866065871774 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Allow, SegmentSize: 100, TestCase: LongSingleLine)

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 1.3741621182913555 < 1.9626596193097514.
IsChangePoint: Marked as a change because one of 5/14/2022 4:08:59 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 8.06941457324536 (T) = (0 -1326.4448479769217) / Math.Sqrt((19913.78473345168 / (299)) + (2614.0269184720946 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.06743483588510153 = (1422.3615668035982 - 1326.4448479769217) / 1422.3615668035982 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Allow, SegmentSize: 100, TestCase: ShortSingleLine)

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 159.78603558237717 < 221.13711240256447.
IsChangePoint: Marked as a change because one of 5/24/2022 10:45:34 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 8.336961690188984 (T) = (0 -165.05284027788943) / Math.Sqrt((190.73359730405903 / (299)) + (24.018725356489657 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.0549310136616511 = (174.64634081093212 - 165.05284027788943) / 174.64634081093212 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Tests.Perf_Guid

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ctor_bytes - Duration of single invocation 20.62 ns 2.10 ns 0.10 0.64 False
ctor_str - Duration of single invocation 410.23 ns 50.14 ns 0.12 0.50 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Guid*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Guid.ctor_bytes


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 2.095786704822434 < 21.72839448993818.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 9.49815857247187 (T) = (0 -2.7827595599802923) / Math.Sqrt((21.958787260201888 / (299)) + (2.209925439146112 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.5577999312609123 = (6.292987624165682 - 2.7827595599802923) / 6.292987624165682 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Guid.ctor_str

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 50.14113284317547 < 391.4627543684661.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 3.591359706281812 (T) = (0 -61.87812063314721) / Math.Sqrt((5657.4640181179175 / (299)) + (373.3065610203107 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.2399479136089366 = (81.41300016287248 - 61.87812063314721) / 81.41300016287248 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
DeserializeFromUtf8Bytes - Duration of single invocation 1.42 μs 1.09 μs 0.77 0.45 False
DeserializeFromString - Duration of single invocation 1.58 μs 1.22 μs 0.77 0.34 False

graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>.DeserializeFromUtf8Bytes


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 1.0939133238930256 < 1.290607983809107.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 8.470745308417246 (T) = (0 -1029.318902984412) / Math.Sqrt((5181.3661652249375 / (299)) + (2641.67104029464 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.07345550413246561 = (1110.9222574579635 - 1029.318902984412) / 1110.9222574579635 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Serialization.Tests.ReadJson&lt;LoginViewModel&gt;.DeserializeFromString

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 1.2231938078388374 < 1.5946947856641112.
IsChangePoint: Marked as a change because one of 6/22/2022 11:10:17 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 7.524678765154224 (T) = (0 -1251.6742894759113) / Math.Sqrt((8436.903123546786 / (299)) + (3041.684254763879 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.0605940168477177 = (1332.4103869083074 - 1251.6742894759113) / 1332.4103869083074 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

@performanceautofiler performanceautofiler bot added arm64 PGO Applied if there were any profile guided optimization updates in the observed interval. untriaged labels Jul 14, 2022
@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 14, 2022

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Memory.MemoryMarshal<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
CastToByte - Duration of single invocation 10.99 ns 3.27 ns 0.30 0.67 False
AsBytes - Duration of single invocation 13.09 ns 0.77 ns 0.06 0.62 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.MemoryMarshal&lt;Byte&gt;*'

Payloads

Baseline
Compare

Histogram

System.Memory.MemoryMarshal<Byte>.CastToByte


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 3.270549917008115 < 11.791114810895857.
IsChangePoint: Marked as a change because one of 6/23/2022 2:53:57 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 4.174675503089812 (T) = (0 -1.0393302747586362) / Math.Sqrt((6.957574786999119 / (299)) + (1.4434950333979863 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.5050022329674803 = (2.0996665924158715 - 1.0393302747586362) / 2.0996665924158715 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.MemoryMarshal&lt;Byte&gt;.AsBytes

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 0.7705011492842456 < 15.511624552862672.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 3.2832880919249208 (T) = (0 -1.1891104587648065) / Math.Sqrt((11.301082344857344 / (299)) + (1.5733766901713637 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.44267159847657034 = (2.133590277320215 - 1.1891104587648065) / 2.133590277320215 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

### Run Information
Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Text.Json.Tests.Perf_Deep

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
WriteDeepUtf16 - Duration of single invocation 18.90 ms 7.79 ms 0.41 0.52 False

graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Deep.WriteDeepUtf16(Formatted: False, SkipValidation: True)


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 7.792975839583334 < 18.018658236943683.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 2.5566118720189266 (T) = (0 -7856947.723130318) / Math.Sqrt((5288313875080.007 / (299)) + (435489129818.42554 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.05346173185871699 = (8300718.510366205 - 7856947.723130318) / 8300718.510366205 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

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
ReadOnlySpan - Duration of single invocation 816.59 ns 223.08 ns 0.27 0.01 False
Span - Duration of single invocation 800.98 ns 229.84 ns 0.29 0.02 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.IterateForEach&lt;Int32&gt;*'

Payloads

Baseline
Compare

Histogram

System.Collections.IterateForEach<Int32>.ReadOnlySpan(Size: 512)


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 223.07694776654344 < 775.7433975724101.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 3.4877700402057523 (T) = (0 -222.3708012549061) / Math.Sqrt((13295.28672006623 / (299)) + (0.40448439677422676 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.09469650839511373 = (245.6312201565642 - 222.3708012549061) / 245.6312201565642 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.IterateForEach&lt;Int32&gt;.Span(Size: 512)

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 229.84179169496255 < 783.4199644227317.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 3.456160614978453 (T) = (0 -228.0853499504144) / Math.Sqrt((14705.0076438758 / (299)) + (9.733419059273592 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.09630320224224444 = (252.39145531591763 - 228.0853499504144) / 252.39145531591763 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Tests.Perf_Boolean

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryParse - Duration of single invocation 49.18 ns 7.32 ns 0.15 0.59 False
TryParse - Duration of single invocation 121.58 ns 16.02 ns 0.13 0.66 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Boolean*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Boolean.TryParse(value: "0")


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 7.316733858473548 < 38.13136527532723.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 3.9792653796873294 (T) = (0 -7.451361012720312) / Math.Sqrt((44.64006875388371 / (299)) + (0.2755823283089179 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.17472435978482995 = (9.028936090707289 - 7.451361012720312) / 9.028936090707289 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Boolean.TryParse(value: "Bogus")

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 16.019275564135008 < 114.54476220640453.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 3.322165189987001 (T) = (0 -15.942137856474503) / Math.Sqrt((491.22051217664676 / (299)) + (3.2290351649872653 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.21537822529498607 = (20.31824551704304 - 15.942137856474503) / 20.31824551704304 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Tests.Perf_UInt64

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryParseHex - Duration of single invocation 383.18 ns 48.68 ns 0.13 0.70 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_UInt64*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_UInt64.TryParseHex(value: "FFFFFFFFFFFFFFFF")


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 48.67704401462398 < 354.76311116157154.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 2.0206558111091812 (T) = (0 -63.23140845167552) / Math.Sqrt((4290.465916452041 / (299)) + (562.6749938325271 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.149855689181198 = (74.37726471494618 - 63.23140845167552) / 74.37726471494618 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Common

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Date_IsMatch - Duration of single invocation 559.94 ns 243.74 ns 0.44 0.14 False
Date_IsNotMatch - Duration of single invocation 901.29 ns 310.56 ns 0.34 0.16 False
Date_IsNotMatch - Duration of single invocation 977.99 ns 317.92 ns 0.33 0.19 False

graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Common*'

Payloads

Baseline
Compare

Histogram

System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsMatch(Options: Compiled)


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 243.74041903800256 < 527.7960207840374.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 4.270754784152798 (T) = (0 -241.17963195573793) / Math.Sqrt((3812.8438875137067 / (299)) + (33.884557832909316 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.061553456574869346 = (256.99879619725965 - 241.17963195573793) / 256.99879619725965 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsNotMatch(Options: Compiled)

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 310.5578278519196 < 911.2532787964892.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 3.9489608319779217 (T) = (0 -311.5999006177573) / Math.Sqrt((15713.947858851121 / (299)) + (20.554990160890068 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.08457258105090965 = (340.3873361969796 - 311.5999006177573) / 340.3873361969796 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsNotMatch(Options: IgnoreCase, Compiled)

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 317.9196774417908 < 927.7098192222866.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 3.8258501545459476 (T) = (0 -311.3898530954692) / Math.Sqrt((15530.216579780936 / (299)) + (20.897106349473606 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.08177277101435608 = (339.1206917697903 - 311.3898530954692) / 339.1206917697903 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
FirstSpanArray - Duration of single invocation 39.13 ns 10.16 ns 0.26 0.64 False
FirstSpanSingleSegment - Duration of single invocation 34.43 ns 10.31 ns 0.30 0.49 False
FirstSpanMemory - Duration of single invocation 42.26 ns 11.69 ns 0.28 0.57 False
FirstSpanTenSegments - Duration of single invocation 34.68 ns 9.14 ns 0.26 0.45 False

graph
graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Buffers.Tests.ReadOnlySequenceTests&lt;Byte&gt;*'

Payloads

Baseline
Compare

Histogram

System.Buffers.Tests.ReadOnlySequenceTests<Byte>.FirstSpanArray


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 10.157850571547653 < 37.94157102882443.
IsChangePoint: Marked as a change because one of 5/11/2022 7:18:06 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 6.731464326494993 (T) = (0 -10.869751973746991) / Math.Sqrt((36.419827532992606 / (299)) + (1.3551990220100993 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.19879500333308456 = (13.566755098840039 - 10.869751973746991) / 13.566755098840039 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Tests.ReadOnlySequenceTests&lt;Byte&gt;.FirstSpanSingleSegment

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 10.313109184857835 < 32.8833230657099.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 3.9776582497046173 (T) = (0 -11.847766985794797) / Math.Sqrt((21.78899191257263 / (299)) + (7.029243295475103 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.14940287079841838 = (13.928764369232915 - 11.847766985794797) / 13.928764369232915 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Tests.ReadOnlySequenceTests&lt;Byte&gt;.FirstSpanMemory

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 11.69017505480132 < 40.04402996899945.
IsChangePoint: Marked as a change because one of 5/12/2022 12:48:56 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 4.7214342572787364 (T) = (0 -13.078550654435078) / Math.Sqrt((38.02180933729337 / (299)) + (2.958700482239893 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.142441346068478 = (15.250910937083763 - 13.078550654435078) / 15.250910937083763 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Buffers.Tests.ReadOnlySequenceTests&lt;Byte&gt;.FirstSpanTenSegments

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 9.142383304120228 < 33.03367678435897.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 3.0300814205707622 (T) = (0 -11.626833864182252) / Math.Sqrt((30.540174987244093 / (299)) + (11.508904254891675 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.14609183681323432 = (13.616023789714312 - 11.626833864182252) / 13.616023789714312 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.IO.Tests.Perf_Path

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
GetPathRoot - Duration of single invocation 25.22 ns 2.31 ns 0.09 0.77 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.IO.Tests.Perf_Path*'

Payloads

Baseline
Compare

Histogram

System.IO.Tests.Perf_Path.GetPathRoot


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 2.310405927239521 < 23.317897377059456.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 2.595729901688741 (T) = (0 -3.7499691463467757) / Math.Sqrt((18.285304784043433 / (299)) + (1.0319502641476161 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.17245682945359114 = (4.531448364042147 - 3.7499691463467757) / 4.531448364042147 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Net.Tests.Perf_WebUtility

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
HtmlDecode_Entities - Duration of single invocation 1.35 μs 397.69 ns 0.29 0.49 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Net.Tests.Perf_WebUtility*'

Payloads

Baseline
Compare

Histogram

System.Net.Tests.Perf_WebUtility.HtmlDecode_Entities


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 397.6908742962183 < 1.2939470939727848.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 2.8346593497140082 (T) = (0 -328.4522881112925) / Math.Sqrt((36183.528777660336 / (299)) + (1241.4410727161267 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.09744072851266405 = (363.91215345894443 - 328.4522881112925) / 363.91215345894443 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Globalization.Tests.StringSearch

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IsPrefix_FirstHalf - Duration of single invocation 2.63 μs 277.30 ns 0.11 0.37 False
IsSuffix_SecondHalf - Duration of single invocation 2.84 μs 599.50 ns 0.21 0.47 False
IsSuffix_SecondHalf - Duration of single invocation 2.55 μs 313.67 ns 0.12 0.52 False

graph
graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Globalization.Tests.StringSearch*'

Payloads

Baseline
Compare

Histogram

System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, None, False))


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 277.3048400900064 < 2.595816465134674.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 2.5649525710273933 (T) = (0 -358.5833741223709) / Math.Sqrt((232289.36415067635 / (299)) + (20654.44668153267 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.2091545736617006 = (453.4177756867749 - 358.5833741223709) / 453.4177756867749 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, IgnoreNonSpace, False))

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 599.4994042715933 < 2.702279285658178.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 3.7712846639134474 (T) = (0 -348.4027982363375) / Math.Sqrt((232600.6882594911 / (299)) + (19210.41122964772 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.28278640877298483 = (485.7727216801441 - 348.4027982363375) / 485.7727216801441 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, IgnoreCase, False))

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 313.6660726119724 < 2.523469359758478.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 2.1502525283490566 (T) = (0 -426.46269977423447) / Math.Sqrt((224161.14135944366 / (299)) + (20477.271969624726 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.1555545938540654 = (505.0210430069347 - 426.46269977423447) / 505.0210430069347 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

@performanceautofiler
Copy link
Author

performanceautofiler bot commented Jul 14, 2022

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

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
NextBytes_unseeded - Duration of single invocation 1.82 μs 327.25 ns 0.18 0.01 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Random*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Random.NextBytes_unseeded


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 327.2514291998813 < 1.7253338407580137.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 3.0031165059975526 (T) = (0 -329.2947640587821) / Math.Sqrt((89856.69448500272 / (299)) + (16.357042156280638 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.13660699259882536 = (381.3961443236193 - 329.2947640587821) / 381.3961443236193 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

### Run Information
Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Numerics.Tests.Perf_BigInteger

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ModPow - Duration of single invocation 7.55 ms 3.53 ms 0.47 0.11 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Numerics.Tests.Perf_BigInteger*'

Payloads

Baseline
Compare

Histogram

System.Numerics.Tests.Perf_BigInteger.ModPow(arguments: 16384,16384,64 bits)


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 3.5312774009523804 < 7.209028122704951.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 4.137041541746436 (T) = (0 -3581508.191350426) / Math.Sqrt((622343205910.6854 / (299)) + (4730269852.602883 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.05157815607063453 = (3776281.845757616 - 3581508.191350426) / 3776281.845757616 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Memory.ReadOnlySpan

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
StringAsSpan - Duration of single invocation 12.20 ns 3.19 ns 0.26 0.64 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.ReadOnlySpan*'

Payloads

Baseline
Compare

Histogram

System.Memory.ReadOnlySpan.StringAsSpan


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 3.1909646357648644 < 11.255066070787223.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 2.6747277049589395 (T) = (0 -1.1879119447030886) / Math.Sqrt((6.365151544002096 / (299)) + (2.1185471713502655 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.39174616235013726 = (1.9529871760330795 - 1.1879119447030886) / 1.9529871760330795 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SerializeToStream - Duration of single invocation 50.87 μs 36.72 μs 0.72 0.61 False

graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToStream


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 36.715433196721314 < 49.41523093673592.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 3.8238785240577755 (T) = (0 -33779.829541178246) / Math.Sqrt((16133772.777414566 / (299)) + (6962344.621259571 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.053859496643270444 = (35702.762350130586 - 33779.829541178246) / 35702.762350130586 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

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 59.86 μs 41.24 μs 0.69 0.31 False

graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeObjectProperty


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 41.23702001312336 < 58.14085851749287.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 7.034707447670372 (T) = (0 -41628.38685853416) / Math.Sqrt((14722009.678601693 / (299)) + (2458677.316440031 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.05518975898160955 = (44060.050422044354 - 41628.38685853416) / 44060.050422044354 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Collections.Tests.Perf_BitArray

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
BitArraySetAll - Duration of single invocation 13.84 ns 7.31 ns 0.53 0.71 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.Tests.Perf_BitArray*'

Payloads

Baseline
Compare

Histogram

System.Collections.Tests.Perf_BitArray.BitArraySetAll(Size: 4)


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 7.313586657498685 < 13.415456275590536.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 3.3948730503089135 (T) = (0 -6.478484755502307) / Math.Sqrt((2.338749838663039 / (299)) + (0.9850484401254043 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.09039603839495151 = (7.12231369800836 - 6.478484755502307) / 7.12231369800836 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SerializeToString - Duration of single invocation 1.47 ms 1.17 ms 0.80 0.49 False

graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToString


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 1.1675275086805552 < 1.360251237575272.
IsChangePoint: Marked as a change because one of 6/1/2022 3:16:04 PM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 9.051540048210029 (T) = (0 -1060120.5399586179) / Math.Sqrt((8206111128.553896 / (299)) + (2596129976.8954916 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.07924999749456851 = (1151366.317756121 - 1060120.5399586179) / 1151366.317756121 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Buffers.Text.Tests.Utf8FormatterTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
FormatterUInt64 - Duration of single invocation 51.61 ns 4.62 ns 0.09 0.71 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Buffers.Text.Tests.Utf8FormatterTests*'

Payloads

Baseline
Compare

Histogram

System.Buffers.Text.Tests.Utf8FormatterTests.FormatterUInt64(value: 12345)


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 4.620096407563074 < 48.83432975799821.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 2.7594902900204574 (T) = (0 -6.71157816019748) / Math.Sqrt((83.83358943753598 / (299)) + (5.0474908606024735 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.21130132331307772 = (8.509686092527417 - 6.71157816019748) / 8.509686092527417 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Tests.Perf_Byte

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Parse - Duration of single invocation 70.43 ns 38.52 ns 0.55 0.76 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Byte*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Byte.Parse(value: "0")


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 38.517477001038664 < 66.19243130090744.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 1.9858447273058661 (T) = (0 -34.158112877151254) / Math.Sqrt((71.56719369429759 / (299)) + (27.26388562776224 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.05541596077314241 = (36.16206865522488 - 34.158112877151254) / 36.16206865522488 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Tests.Perf_Double

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ToStringWithCultureInfo - Duration of single invocation 275.31 ns 217.36 ns 0.79 0.39 False
ToStringWithFormat - Duration of single invocation 523.22 ns 439.06 ns 0.84 0.45 False

graph
graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_Double*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Double.ToStringWithCultureInfo(value: 12345, culture: zh)


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 217.35585147061002 < 273.22638160025195.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 6.641177386731614 (T) = (0 -225.94694724637446) / Math.Sqrt((248.14597600843126 / (299)) + (143.02705712317203 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.06118467888751851 = (240.6724114585506 - 225.94694724637446) / 240.6724114585506 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_Double.ToStringWithFormat(value: -1.7976931348623157E+308, format: "R")

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 439.06460340873036 < 513.1271532587763.
IsChangePoint: Marked as a change because one of 7/3/2022 4:26:07 AM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 8.398345249122922 (T) = (0 -401.17716251199505) / Math.Sqrt((705.3932396944601 / (299)) + (474.0863968789723 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.07705377730834023 = (434.6701385721163 - 401.17716251199505) / 434.6701385721163 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.IO.Tests.BinaryWriterTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
WriteUInt32 - Duration of single invocation 29.67 ns 15.77 ns 0.53 0.61 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.IO.Tests.BinaryWriterTests*'

Payloads

Baseline
Compare

Histogram

System.IO.Tests.BinaryWriterTests.WriteUInt32


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 15.771847999022178 < 28.227614141954362.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 2.0948019660689403 (T) = (0 -7.5152188042236014) / Math.Sqrt((43.478325254122865 / (299)) + (20.793043173886527 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.1933540294283529 = (9.316625977686071 - 7.5152188042236014) / 9.316625977686071 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Text.Json.Tests.Perf_Strings

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
WriteStringsUtf8 - Duration of single invocation 36.86 ms 16.24 ms 0.44 0.42 False
WriteStringsUtf8 - Duration of single invocation 13.41 ms 7.69 ms 0.57 0.43 False

graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: True, Escaped: OneEscaped)


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 16.239298116666667 < 34.90840830250001.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 4.090637295678493 (T) = (0 -16453685.687160553) / Math.Sqrt((17698940808977.332 / (299)) + (427449126293.013 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.06229635028153702 = (17546786.441644568 - 16453685.687160553) / 17546786.441644568 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: True, Escaped: NoneEscaped)

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 7.687364853365385 < 12.959184414583333.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 3.2603054848792308 (T) = (0 -8075973.201218409) / Math.Sqrt((1726267774591.3118 / (299)) + (494494192135.9915 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.05388341264159041 = (8535917.569912612 - 8075973.201218409) / 8535917.569912612 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Count - Duration of single invocation 13.94 ms 5.96 ms 0.43 0.26 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock*'

Payloads

Baseline
Compare

Histogram

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-zA-Z]+ing", Options: Compiled)


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 5.961857576530611 < 14.68472460177871.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 5.098618624102833 (T) = (0 -6039091.226988559) / Math.Sqrt((3257632385574.299 / (299)) + (28610578666.18449 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.0837209551742992 = (6590886.543888325 - 6039091.226988559) / 6590886.543888325 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Run Information

Architecture arm64
OS ubuntu 18.04
Baseline a33b9d82d45edd2ca47db710ff06a87aa0eb9cbd
Compare 3cf8f49b111ebb809607555bba70465f67157533
Diff Diff

Improvements in System.Tests.Perf_UInt32

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryFormat - Duration of single invocation 50.30 ns 11.17 ns 0.22 0.68 False

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Tests.Perf_UInt32*'

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_UInt32.TryFormat(value: 4294967295)


Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 11.168305789484887 < 42.65832221537279.
IsChangePoint: Marked as a change because one of 5/5/2022 12:13:02 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/14/2022 8:56:55 AM falls between 7/5/2022 7:51:46 PM and 7/14/2022 8:56:55 AM.
IsImprovementStdDev: Marked as improvement because 7.8585525940633705 (T) = (0 -12.761538869190508) / Math.Sqrt((90.76163109138339 / (299)) + (7.700810478701535 / (35))) is greater than 1.9671350567190904 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (35) - 2, .975) and 0.308237497879842 = (18.447861556644263 - 12.761538869190508) / 18.447861556644263 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

@AndyAyersMS
Copy link
Member

dotnet/runtime#71673

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-arm64 branch-refs/heads/main kind-micro os-linux perf-improvement PGO Applied if there were any profile guided optimization updates in the observed interval. runtime-coreclr
Projects
None yet
Development

No branches or pull requests

2 participants