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] ubuntu 18.04/x64 : Improvement on 8/24/2022 9:42:22 AM #8260

Closed
performanceautofiler bot opened this issue Sep 1, 2022 · 0 comments
Closed

Comments

@performanceautofiler
Copy link

performanceautofiler bot commented Sep 1, 2022

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*'

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*'

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;*'

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant