Skip to content

[Perf] Changes at 6/22/2022 11:10:17 PM #6501

Closed

Description

Run Information

Architecture arm64
OS Windows 10.0.25094
Baseline 4dc676fbf39702e5a3bd9b6e60deca1cf7d150d4
Compare 70df1f53ef459154c1bcc109848980fd79be5c63
Diff Diff

Improvements in System.Collections.CtorFromCollection<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SortedDictionaryDeepCopy - Duration of single invocation 36.65 μs 27.80 μs 0.76 0.62 False
Queue - Duration of single invocation 1.16 μs 581.18 ns 0.50 0.69 False
ImmutableStack - Duration of single invocation 17.10 μs 14.48 μs 0.85 0.64 False
ImmutableArray - Duration of single invocation 755.00 ns 561.52 ns 0.74 0.55 False
ImmutableDictionary - Duration of single invocation 299.69 μs 271.64 μs 0.91 0.59 False
Stack - Duration of single invocation 1.07 μs 772.46 ns 0.72 0.59 False
ImmutableQueue - Duration of single invocation 14.16 μs 11.45 μs 0.81 0.61 False
Dictionary - Duration of single invocation 10.60 μs 9.28 μs 0.87 0.60 False
LinkedList - Duration of single invocation 30.40 μs 20.41 μs 0.67 0.65 False
ImmutableList - Duration of single invocation 34.05 μs 24.98 μs 0.73 0.69 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Collections.CtorFromCollection<String>.SortedDictionaryDeepCopy(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 27.79657682555781 < 34.32863580520277.
IsChangePoint: Marked as a change because one of 5/26/2022 4:20:35 PM, 6/22/2022 5:33:38 PM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 11.728002557393154 (T) = (0 -28952.374487619232) / Math.Sqrt((11065461.316423858 / (180)) + (7746959.276538456 / (27))) is greater than 1.9716034992643237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (180) + (27) - 2, .975) and 0.19296222703365132 = (35874.86912936164 - 28952.374487619232) / 35874.86912936164 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.CtorFromCollection&lt;String&gt;.Queue(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 581.1834661558984 < 1.1667082361881047.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 31.418743785440416 (T) = (0 -679.5398573232488) / Math.Sqrt((7929.732940107265 / (181)) + (5507.977910579253 / (27))) is greater than 1.9715466694451473 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (181) + (27) - 2, .975) and 0.42124116652075166 = (1174.133020550457 - 679.5398573232488) / 1174.133020550457 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.CtorFromCollection&lt;String&gt;.ImmutableStack(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 14.483374383629188 < 16.262012133275775.
IsChangePoint: Marked as a change because one of 5/24/2022 3:42:52 PM, 6/24/2022 3:13:27 AM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 13.471288885602167 (T) = (0 -14849.837596310143) / Math.Sqrt((5200026.44666229 / (188)) + (1607031.3810422954 / (20))) is greater than 1.9715466694451473 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (188) + (20) - 2, .975) and 0.22966778034651114 = (19277.18615091798 - 14849.837596310143) / 19277.18615091798 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.CtorFromCollection&lt;String&gt;.ImmutableArray(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 561.5228889212922 < 852.3806306323065.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 23.50159251585404 (T) = (0 -623.3572718286161) / Math.Sqrt((2966.713427282438 / (181)) + (3422.7265459854966 / (27))) is greater than 1.9715466694451473 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (181) + (27) - 2, .975) and 0.31086552081529456 = (904.5509848325854 - 623.3572718286161) / 904.5509848325854 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.CtorFromCollection&lt;String&gt;.ImmutableDictionary(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 271.6395389344262 < 277.2838486021386.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 5.700907565514539 (T) = (0 -273723.47733096825) / Math.Sqrt((331014569.1748426 / (181)) + (321885856.50108534 / (27))) is greater than 1.9715466694451473 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (181) + (27) - 2, .975) and 0.07169394957284271 = (294863.3989889597 - 273723.47733096825) / 294863.3989889597 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.CtorFromCollection&lt;String&gt;.Stack(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 772.4553376642265 < 1.0736337250207644.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 31.22755484264627 (T) = (0 -677.7585602212685) / Math.Sqrt((6306.674144551835 / (181)) + (5722.940627865757 / (27))) is greater than 1.9715466694451473 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (181) + (27) - 2, .975) and 0.4198979200219276 = (1168.3436133290325 - 677.7585602212685) / 1168.3436133290325 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.CtorFromCollection&lt;String&gt;.ImmutableQueue(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 11.451824812030074 < 13.27502253901892.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 16.127776346431617 (T) = (0 -10591.32981076931) / Math.Sqrt((1330479.1800451237 / (175)) + (1164160.5294700305 / (27))) is greater than 1.9718962236336928 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (175) + (27) - 2, .975) and 0.2553627304067823 = (14223.475298993788 - 10591.32981076931) / 14223.475298993788 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.CtorFromCollection&lt;String&gt;.Dictionary(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 9.275030666666668 < 10.179069182587025.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 14.972298506158818 (T) = (0 -8845.731725314878) / Math.Sqrt((792301.3350357886 / (180)) + (564095.3691001349 / (27))) is greater than 1.9716034992643237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (180) + (27) - 2, .975) and 0.2120979680287599 = (11226.943663521055 - 8845.731725314878) / 11226.943663521055 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.CtorFromCollection&lt;String&gt;.LinkedList(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 20.407272775423735 < 28.829801445578777.
IsChangePoint: Marked as a change because one of 5/24/2022 3:42:52 PM, 6/22/2022 5:33:38 PM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 18.048095736086786 (T) = (0 -22787.482145288082) / Math.Sqrt((23598708.611305315 / (181)) + (3958722.0823788685 / (27))) is greater than 1.9715466694451473 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (181) + (27) - 2, .975) and 0.29420625647109205 = (32286.31927417298 - 22787.482145288082) / 32286.31927417298 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.CtorFromCollection&lt;String&gt;.ImmutableList(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 24.978059803921575 < 33.70212014733097.
IsChangePoint: Marked as a change because one of 6/22/2022 1:08:18 PM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 16.79188932963153 (T) = (0 -27163.68005824324) / Math.Sqrt((10409591.393471796 / (180)) + (4381235.254264237 / (28))) is greater than 1.9715466694451473 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (180) + (28) - 2, .975) and 0.22249849643854075 = (34937.141515245996 - 27163.68005824324) / 34937.141515245996 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 Windows 10.0.25094
Baseline 4dc676fbf39702e5a3bd9b6e60deca1cf7d150d4
Compare 70df1f53ef459154c1bcc109848980fd79be5c63
Diff Diff

Improvements in System.Collections.CtorFromCollection<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Stack - Duration of single invocation 547.47 ns 329.55 ns 0.60 0.61 False
List - Duration of single invocation 520.62 ns 256.74 ns 0.49 0.65 False
SortedDictionaryDeepCopy - Duration of single invocation 31.52 μs 25.73 μs 0.82 0.65 False
SortedSet - Duration of single invocation 28.03 μs 21.04 μs 0.75 0.66 False
ImmutableArray - Duration of single invocation 456.81 ns 283.81 ns 0.62 0.52 False
LinkedList - Duration of single invocation 28.07 μs 18.54 μs 0.66 0.65 False
Queue - Duration of single invocation 480.33 ns 266.27 ns 0.55 0.59 False

graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Collections.CtorFromCollection<Int32>.Stack(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 329.55353214438276 < 500.6725259875138.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 30.23763556896436 (T) = (0 -298.87293566247877) / Math.Sqrt((965.5921435407636 / (180)) + (1392.2173029862802 / (27))) is greater than 1.9716034992643237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (180) + (27) - 2, .975) and 0.43289789792517863 = (527.0178589869635 - 298.87293566247877) / 527.0178589869635 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.CtorFromCollection&lt;Int32&gt;.List(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 256.73616823419115 < 489.8158683172243.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 31.35460514168432 (T) = (0 -296.58453560067824) / Math.Sqrt((1276.2044608508015 / (181)) + (1123.8779367516343 / (27))) is greater than 1.9715466694451473 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (181) + (27) - 2, .975) and 0.42448747788050795 = (515.3398478775397 - 296.58453560067824) / 515.3398478775397 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.CtorFromCollection&lt;Int32&gt;.SortedDictionaryDeepCopy(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 25.725613593155895 < 29.689911716223644.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 12.706512481709058 (T) = (0 -25786.736836953754) / Math.Sqrt((6603775.072050412 / (181)) + (5606910.70415755 / (27))) is greater than 1.9715466694451473 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (181) + (27) - 2, .975) and 0.19580297923699147 = (32065.19816809037 - 25786.736836953754) / 32065.19816809037 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.CtorFromCollection&lt;Int32&gt;.SortedSet(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 21.043361213235293 < 26.63959702090103.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 13.448767973863408 (T) = (0 -21192.273435083327) / Math.Sqrt((3609761.2587280166 / (181)) + (2289252.2891462105 / (27))) is greater than 1.9715466694451473 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (181) + (27) - 2, .975) and 0.1703807330409179 = (25544.57722849457 - 21192.273435083327) / 25544.57722849457 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.CtorFromCollection&lt;Int32&gt;.ImmutableArray(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 283.8077512315271 < 436.75099575021045.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 21.465323115315528 (T) = (0 -317.9529815509172) / Math.Sqrt((802.9601078056189 / (172)) + (756.9460868816469 / (26))) is greater than 1.9721412216619414 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (172) + (26) - 2, .975) and 0.28180912768928107 = (442.7137601010301 - 317.9529815509172) / 442.7137601010301 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.CtorFromCollection&lt;Int32&gt;.LinkedList(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 18.538706148564295 < 25.629959765195885.
IsChangePoint: Marked as a change because one of 5/24/2022 3:42:52 PM, 6/22/2022 5:33:38 PM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 13.84393000583966 (T) = (0 -21263.922978043316) / Math.Sqrt((8509907.92196739 / (180)) + (5305528.401110707 / (27))) is greater than 1.9716034992643237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (180) + (27) - 2, .975) and 0.24325556244984275 = (28099.212789567333 - 21263.922978043316) / 28099.212789567333 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.CtorFromCollection&lt;Int32&gt;.Queue(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 266.26699597457207 < 510.0684917359938.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 28.224910721006392 (T) = (0 -310.31881319986894) / Math.Sqrt((1113.9242133748085 / (181)) + (1453.9408988717648 / (27))) is greater than 1.9715466694451473 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (181) + (27) - 2, .975) and 0.41333631446757174 = (528.9552103744725 - 310.31881319986894) / 528.9552103744725 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 Windows 10.0.25094
Baseline 4dc676fbf39702e5a3bd9b6e60deca1cf7d150d4
Compare 70df1f53ef459154c1bcc109848980fd79be5c63
Diff Diff

Improvements in System.Memory.Memory<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ToArray - Duration of single invocation 117.31 ns 77.85 ns 0.66 0.60 False

graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Memory.Memory<Byte>.ToArray(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 77.8461369282339 < 115.00338126020071.
IsChangePoint: Marked as a change because one of 6/22/2022 5:33:38 PM, 6/30/2022 12:21:07 PM falls between 6/21/2022 9:29:01 PM and 6/30/2022 12:21:07 PM.
IsImprovementStdDev: Marked as improvement because 29.08708871039719 (T) = (0 -73.60128622974021) / Math.Sqrt((61.22877361269898 / (180)) + (65.47102692539946 / (27))) is greater than 1.9716034992643237 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (180) + (27) - 2, .975) and 0.3965537216401325 = (121.9682494849157 - 73.60128622974021) / 121.9682494849157 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

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions