Skip to content

[Perf] Changes at 4/8/2022 2:40:20 PM #4514

@performanceautofiler

Description

@performanceautofiler

Run Information

Architecture x64
OS alpine 3.12
Baseline 7c21927c257f8eff7ceb3f3c0fd4ee2c8fe6c414
Compare aff3c1867b50d8a021c0a7b1df94f54a40cb44a5
Diff Diff

Improvements in System.Tests.Perf_GC<Char>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
AllocateArray - Duration of single invocation 1.06 μs 954.29 ns 0.90 0.03 False
AllocateUninitializedArray - Duration of single invocation 740.65 ns 626.50 ns 0.85 0.11 False

graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_GC<Char>.AllocateArray(length: 10000, pinned: 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 954.2923977758791 < 1.0229930914610967.
IsChangePoint: Marked as a change because one of 3/11/2022 8:42:43 PM, 3/31/2022 1:23:38 AM, 4/8/2022 10:19:59 AM, 4/12/2022 4:54:37 AM falls between 4/3/2022 1:52:36 PM and 4/12/2022 4:54:37 AM.
IsImprovementStdDev: Marked as improvement because 16.671776766382386 (T) = (0 -956.1633732728978) / Math.Sqrt((1353.265685049209 / (299)) + (116.65300802707043 / (17))) is greater than 1.9675476980854363 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (17) - 2, .975) and 0.05557015062918181 = (1012.4239231848682 - 956.1633732728978) / 1012.4239231848682 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_GC&lt;Char&gt;.AllocateUninitializedArray(length: 10000, pinned: True)

```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 626.5048937493385 < 698.4767556796102.
IsChangePoint: Marked as a change because one of 3/11/2022 8:42:43 PM, 4/8/2022 10:19:59 AM, 4/12/2022 4:54:37 AM falls between 4/3/2022 1:52:36 PM and 4/12/2022 4:54:37 AM.
IsImprovementStdDev: Marked as improvement because 23.053223107326218 (T) = (0 -610.6182313839513) / Math.Sqrt((1881.587440210484 / (299)) + (41.2670524969892 / (17))) is greater than 1.9675476980854363 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (17) - 2, .975) and 0.10030562750078052 = (678.6951769940976 - 610.6182313839513) / 678.6951769940976 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

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

### Run Information
Architecture x64
OS alpine 3.12
Baseline 7c21927c257f8eff7ceb3f3c0fd4ee2c8fe6c414
Compare aff3c1867b50d8a021c0a7b1df94f54a40cb44a5
Diff Diff

Improvements in System.Tests.Perf_GC<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
AllocateUninitializedArray - Duration of single invocation 401.82 ns 369.82 ns 0.92 0.12 False

graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_GC<Byte>.AllocateUninitializedArray(length: 10000, pinned: 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 369.8205578566667 < 397.97711004506334.
IsChangePoint: Marked as a change because one of 3/11/2022 8:42:43 PM, 3/30/2022 12:01:24 PM, 4/8/2022 10:19:59 AM, 4/12/2022 4:54:37 AM falls between 4/3/2022 1:52:36 PM and 4/12/2022 4:54:37 AM.
IsImprovementStdDev: Marked as improvement because 14.070403120289654 (T) = (0 -358.2470792670732) / Math.Sqrt((397.12243002648665 / (299)) + (27.84901986307877 / (17))) is greater than 1.9675476980854363 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (17) - 2, .975) and 0.0633589532021885 = (382.48065306538547 - 358.2470792670732) / 382.48065306538547 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

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

Run Information

Architecture x64
OS alpine 3.12
Baseline 7c21927c257f8eff7ceb3f3c0fd4ee2c8fe6c414
Compare aff3c1867b50d8a021c0a7b1df94f54a40cb44a5
Diff Diff

Improvements in System.Text.Tests.Perf_StringBuilder

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ctor_capacity - Duration of single invocation 7.24 μs 5.78 μs 0.80 0.08 False

graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Text.Tests.Perf_StringBuilder.ctor_capacity(length: 100000)


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.7824502400531195 < 6.590361320229195.
IsChangePoint: Marked as a change because one of 3/11/2022 8:42:43 PM, 3/30/2022 6:37:35 PM, 4/8/2022 10:19:59 AM, 4/12/2022 4:54:37 AM falls between 4/3/2022 1:52:36 PM and 4/12/2022 4:54:37 AM.
IsImprovementStdDev: Marked as improvement because 18.03710849250364 (T) = (0 -5718.568998732569) / Math.Sqrt((137270.33820719706 / (299)) + (4373.065918254506 / (17))) is greater than 1.9675476980854363 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (17) - 2, .975) and 0.0778469066621133 = (6201.322795581866 - 5718.568998732569) / 6201.322795581866 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

Docs

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

Run Information

Architecture x64
OS alpine 3.12
Baseline 7c21927c257f8eff7ceb3f3c0fd4ee2c8fe6c414
Compare aff3c1867b50d8a021c0a7b1df94f54a40cb44a5
Diff Diff

Improvements in System.Tests.Perf_String

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Replace_Char - Duration of single invocation 7.88 ns 6.45 ns 0.82 0.31 False
IndexerCheckBoundCheckHoist - Duration of single invocation 22.49 ns 19.40 ns 0.86 0.31 False

graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_String.Replace_Char(text: "This is a very nice sentence", oldChar: 'z', newChar: 'y')


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.448455506691434 < 7.53736226856374.
IsChangePoint: Marked as a change because one of 2/3/2022 4:53:52 PM, 3/11/2022 8:42:43 PM, 3/24/2022 8:39:13 PM, 4/8/2022 10:19:59 AM, 4/12/2022 4:54:37 AM falls between 4/3/2022 1:52:36 PM and 4/12/2022 4:54:37 AM.
IsImprovementStdDev: Marked as improvement because 41.60668290822864 (T) = (0 -6.503551761062246) / Math.Sqrt((0.14824388568888955 / (299)) + (0.0033589678579386164 / (17))) is greater than 1.9675476980854363 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (17) - 2, .975) and 0.14417352650646653 = (7.59914768062078 - 6.503551761062246) / 7.59914768062078 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Tests.Perf_String.IndexerCheckBoundCheckHoist

```log

Description of detection logic

IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small.
IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small.
IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline.
IsImprovementWindowed:Marked as improvement because 19.397489720735432 < 21.39337646082046.
IsChangePoint: Marked as a change because one of 3/29/2022 3:04:55 PM, 3/30/2022 7:10:16 AM, 4/8/2022 2:39:06 AM, 4/12/2022 4:54:37 AM falls between 4/3/2022 1:52:36 PM and 4/12/2022 4:54:37 AM.
IsImprovementStdDev: Marked as improvement because 10.060002184884636 (T) = (0 -19.84169117382651) / Math.Sqrt((1.866607254092388 / (299)) + (0.15933362970479056 / (19))) is greater than 1.9674995188240387 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (19) - 2, .975) and 0.05777984096749393 = (21.05844476327107 - 19.84169117382651) / 21.05844476327107 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions