Skip to content

[Perf] ubuntu 18.04/x64 : Improvement on 8/24/2022 9:42:22 AM #8260

@performanceautofiler

Description

@performanceautofiler

Run Information

Architecture x64
OS ubuntu 18.04
Baseline affc0fc7a79812b92445eb474c87533e32b35127
Compare 86412566424353b2d9b32d629fe7efb66346ac38
Diff Diff

Improvements in System.Text.Json.Tests.Perf_Get

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
GetUInt16 - Duration of single invocation 686.86 ns 450.18 ns 0.66 0.01 False
GetUInt32 - Duration of single invocation 510.29 ns 451.56 ns 0.88 0.01 False
GetSByte - Duration of single invocation 769.60 ns 581.81 ns 0.76 0.02 False
GetInt16 - Duration of single invocation 726.06 ns 494.54 ns 0.68 0.01 False
GetBoolean - Duration of single invocation 100.95 ns 85.90 ns 0.85 0.03 False
GetInt64 - Duration of single invocation 535.37 ns 494.52 ns 0.92 0.03 False
GetByte - Duration of single invocation 683.32 ns 472.09 ns 0.69 0.01 False

graph
graph
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.Text.Json.Tests.Perf_Get*'
Details

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Get.GetUInt16


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 450.17787551217157 < 650.2892146236751.
IsChangePoint: Marked as a change because one of 8/24/2022 2:39:26 AM, 9/1/2022 1:45:20 PM falls between 8/23/2022 11:46:46 PM and 9/1/2022 1:45:20 PM.
IsImprovementStdDev: Marked as improvement because 154.4914177504113 (T) = (0 -450.93762249155014) / Math.Sqrt((673.2581136998244 / (299)) + (8.185773415764576 / (47))) is greater than 1.9668840363001725 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (47) - 2, .975) and 0.34794228920216247 = (691.5609079138055 - 450.93762249155014) / 691.5609079138055 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Get.GetUInt32

```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 451.56025388603723 < 480.5079704183125.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/30/2022 6:17:03 PM, 9/1/2022 1:45:20 PM falls between 8/23/2022 11:46:46 PM and 9/1/2022 1:45:20 PM.
IsImprovementStdDev: Marked as improvement because 59.723237856859875 (T) = (0 -451.48462297511884) / Math.Sqrt((168.91540865012558 / (299)) + (0.34809068869505644 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.09270107870280003 = (497.6139752592387 - 451.48462297511884) / 497.6139752592387 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Get.GetSByte

```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 581.8099462465938 < 731.4970180670887.
IsChangePoint: Marked as a change because one of 8/24/2022 2:39:26 AM, 9/1/2022 1:45:20 PM falls between 8/23/2022 11:46:46 PM and 9/1/2022 1:45:20 PM.
IsImprovementStdDev: Marked as improvement because 88.21812734611512 (T) = (0 -582.0696671461775) / Math.Sqrt((1376.1107953614812 / (299)) + (15.746905260304413 / (45))) is greater than 1.9669246454804268 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (45) - 2, .975) and 0.25221176390494576 = (778.3883712663653 - 582.0696671461775) / 778.3883712663653 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Get.GetInt16

```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 494.54347248205806 < 690.3486641523372.
IsChangePoint: Marked as a change because one of 8/24/2022 2:39:26 AM, 9/1/2022 1:45:20 PM falls between 8/23/2022 11:46:46 PM and 9/1/2022 1:45:20 PM.
IsImprovementStdDev: Marked as improvement because 50.820090987363685 (T) = (0 -497.224805797635) / Math.Sqrt((6664.4532445972045 / (299)) + (5.598562331677958 / (45))) is greater than 1.9669246454804268 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (45) - 2, .975) and 0.3260912307580398 = (737.8221333385134 - 497.224805797635) / 737.8221333385134 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Get.GetBoolean

```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 85.89698359598734 < 95.8798743787374.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/13/2022 7:22:00 AM, 7/28/2022 6:38:38 AM, 8/30/2022 6:17:03 PM, 9/1/2022 1:45:20 PM falls between 8/23/2022 11:46:46 PM and 9/1/2022 1:45:20 PM.
IsImprovementStdDev: Marked as improvement because 49.72727782564439 (T) = (0 -86.04107513983608) / Math.Sqrt((12.055500853003977 / (299)) + (0.7585512427821023 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.16040759550408812 = (102.47957780358294 - 86.04107513983608) / 102.47957780358294 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Get.GetInt64

```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 494.52271688499565 < 507.38425343428867.
IsChangePoint: Marked as a change because one of 6/23/2022 8:35:19 AM, 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 7/13/2022 11:09:36 AM, 7/28/2022 6:38:38 AM, 8/15/2022 9:13:40 PM, 8/23/2022 11:46:46 PM, 9/1/2022 1:45:20 PM falls between 8/23/2022 11:46:46 PM and 9/1/2022 1:45:20 PM.
IsImprovementStdDev: Marked as improvement because 17.42915842553885 (T) = (0 -495.05769863416975) / Math.Sqrt((692.644864725327 / (299)) + (13.925158175513882 / (47))) is greater than 1.9668840363001725 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (47) - 2, .975) and 0.05384407135490674 = (523.2305623694589 - 495.05769863416975) / 523.2305623694589 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Text.Json.Tests.Perf_Get.GetByte

```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 472.08776794918435 < 650.1616910734514.
IsChangePoint: Marked as a change because one of 8/24/2022 2:39:26 AM, 9/1/2022 1:45:20 PM falls between 8/23/2022 11:46:46 PM and 9/1/2022 1:45:20 PM.
IsImprovementStdDev: Marked as improvement because 99.68845186159234 (T) = (0 -487.9104630737753) / Math.Sqrt((669.996234291426 / (299)) + (89.48422251538916 / (46))) is greater than 1.9669042814877102 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (46) - 2, .975) and 0.29479727426117325 = (691.8726279207178 - 487.9104630737753) / 691.8726279207178 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 ubuntu 18.04
Baseline affc0fc7a79812b92445eb474c87533e32b35127
Compare 86412566424353b2d9b32d629fe7efb66346ac38
Diff Diff

Improvements in System.Linq.Tests.Perf_Enumerable

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Average - Duration of single invocation 369.48 ns 347.24 ns 0.94 0.01 False
WhereAny_LastElementMatches - Duration of single invocation 210.74 ns 188.94 ns 0.90 0.04 False
WhereFirst_LastElementMatches - Duration of single invocation 212.25 ns 190.55 ns 0.90 0.04 False
ToDictionary - Duration of single invocation 749.03 ns 688.65 ns 0.92 0.03 False
EmptyTakeSelectToArray - Duration of single invocation 16.71 ns 15.38 ns 0.92 0.05 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.Linq.Tests.Perf_Enumerable*'
Details

Payloads

Baseline
Compare

Histogram

System.Linq.Tests.Perf_Enumerable.Average(input: IEnumerable)


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 347.2366481178997 < 350.42985276875976.
IsChangePoint: Marked as a change because one of 7/2/2022 7:35:06 PM, 7/6/2022 3:55:24 AM, 8/24/2022 2:39:26 AM, 9/1/2022 1:45:20 PM falls between 8/23/2022 11:46:46 PM and 9/1/2022 1:45:20 PM.
IsImprovementStdDev: Marked as improvement because 50.43318485282161 (T) = (0 -347.722849010073) / Math.Sqrt((27.07406943646742 / (299)) + (3.4034881963107124 / (47))) is greater than 1.9668840363001725 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (47) - 2, .975) and 0.05531166312220946 = (368.0820810800971 - 347.722849010073) / 368.0820810800971 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Linq.Tests.Perf_Enumerable.WhereAny_LastElementMatches(input: Array)

```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 188.94144659213936 < 200.17775325523922.
IsChangePoint: Marked as a change because one of 6/23/2022 8:35:19 AM, 7/6/2022 7:05:00 PM, 7/13/2022 7:22:00 AM, 7/28/2022 3:42:13 AM, 8/4/2022 6:25:19 PM, 8/23/2022 11:46:46 PM, 9/1/2022 1:45:20 PM falls between 8/23/2022 11:46:46 PM and 9/1/2022 1:45:20 PM.
IsImprovementStdDev: Marked as improvement because 23.720407958734537 (T) = (0 -188.7273293502234) / Math.Sqrt((101.32612007189998 / (299)) + (0.5803158041671 / (48))) is greater than 1.9668639088811137 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (48) - 2, .975) and 0.06930012655638727 = (202.78000968446207 - 188.7273293502234) / 202.78000968446207 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Linq.Tests.Perf_Enumerable.WhereFirst_LastElementMatches(input: Array)

```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 190.55326919729129 < 202.60955468501848.
IsChangePoint: Marked as a change because one of 6/23/2022 8:35:19 AM, 7/6/2022 7:05:00 PM, 7/13/2022 7:22:00 AM, 7/28/2022 3:42:13 AM, 8/17/2022 6:09:21 PM, 8/23/2022 11:46:46 PM, 9/1/2022 1:45:20 PM falls between 8/23/2022 11:46:46 PM and 9/1/2022 1:45:20 PM.
IsImprovementStdDev: Marked as improvement because 22.19983400883721 (T) = (0 -190.87869477587338) / Math.Sqrt((108.42280847964088 / (299)) + (0.9281788286027685 / (46))) is greater than 1.9669042814877102 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (46) - 2, .975) and 0.0671271713458104 = (204.6138432944229 - 190.87869477587338) / 204.6138432944229 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Linq.Tests.Perf_Enumerable.ToDictionary(input: Array)

```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 688.6523870870349 < 700.739516306961.
IsChangePoint: Marked as a change because one of 6/23/2022 8:35:19 AM, 7/6/2022 7:05:00 PM, 7/13/2022 7:22:00 AM, 8/23/2022 11:46:46 PM, 9/1/2022 1:45:20 PM falls between 8/23/2022 11:46:46 PM and 9/1/2022 1:45:20 PM.
IsImprovementStdDev: Marked as improvement because 24.417639480809864 (T) = (0 -689.1731718773701) / Math.Sqrt((388.25944297423445 / (299)) + (53.09989035134722 / (46))) is greater than 1.9669042814877102 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (46) - 2, .975) and 0.05257251313749096 = (727.4152179810919 - 689.1731718773701) / 727.4152179810919 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Linq.Tests.Perf_Enumerable.EmptyTakeSelectToArray

```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 15.378355368525044 < 15.45179639690331.
IsChangePoint: Marked as a change because one of 6/23/2022 8:35:19 AM, 7/6/2022 7:05:00 PM, 7/13/2022 7:22:00 AM, 7/28/2022 6:38:38 AM, 8/4/2022 6:25:19 PM, 8/23/2022 11:46:46 PM, 9/1/2022 1:45:20 PM falls between 8/23/2022 11:46:46 PM and 9/1/2022 1:45:20 PM.
IsImprovementStdDev: Marked as improvement because 18.57892161825405 (T) = (0 -15.176045751134046) / Math.Sqrt((0.41774562453888764 / (299)) + (0.02526544746112717 / (48))) is greater than 1.9668639088811137 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (48) - 2, .975) and 0.05095596348828911 = (15.990876257876131 - 15.176045751134046) / 15.990876257876131 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 ubuntu 18.04
Baseline affc0fc7a79812b92445eb474c87533e32b35127
Compare 86412566424353b2d9b32d629fe7efb66346ac38
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
ConcurrentBag - Duration of single invocation 1.82 μs 1.61 μs 0.89 0.03 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.IterateForEach&lt;Int32&gt;*'
Details

Payloads

Baseline
Compare

Histogram

System.Collections.IterateForEach<Int32>.ConcurrentBag(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 1.6137615614381744 < 1.732788859686397.
IsChangePoint: Marked as a change because one of 7/28/2022 1:17:22 PM, 8/5/2022 10:47:59 PM, 8/24/2022 2:39:26 AM, 9/1/2022 1:45:20 PM falls between 8/23/2022 11:46:46 PM and 9/1/2022 1:45:20 PM.
IsImprovementStdDev: Marked as improvement because 15.699944861294323 (T) = (0 -1619.4756722516502) / Math.Sqrt((5875.928911054625 / (299)) + (686.7533624345461 / (46))) is greater than 1.9669042814877102 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (46) - 2, .975) and 0.053934413453041744 = (1711.800635474512 - 1619.4756722516502) / 1711.800635474512 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

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions