Skip to content

[Perf] Linux/arm64: 21 Improvements on 3/15/2023 2:24:48 AM #14414

Description

@performanceautofiler

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline d6b89c66d492c1e0b0a88d797264039c50c4f4b7
Compare ccefbf9eb36cb3d8adb36f4b141914c2c6cc489b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Memory.Slice<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
MemoryStart - Duration of single invocation 6.57 ns 5.54 ns 0.84 0.39 False
MemorySpanStartLength - Duration of single invocation 9.10 ns 7.95 ns 0.87 0.05 False
MemoryStartLengthSpan - Duration of single invocation 10.07 ns 8.91 ns 0.89 0.06 False
MemoryStartSpan - Duration of single invocation 10.16 ns 9.00 ns 0.89 0.03 False

graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Slice&lt;String&gt;*'
Details

Payloads

Baseline
Compare

Histogram

System.Memory.Slice<String>.MemoryStart


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.542685380957198 < 6.239233516308874.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 56.69297363978086 (T) = (0 -5.568237396257744) / Math.Sqrt((0.04548799373846811 / (299)) + (0.002173535549035416 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.13441796762284441 = (6.432940135050683 - 5.568237396257744) / 6.432940135050683 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Slice&lt;String&gt;.MemorySpanStartLength

```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.948718814716661 < 8.637093573336292.
IsChangePoint: Marked as a change because one of 1/3/2023 12:19:11 AM, 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 65.68381820911317 (T) = (0 -7.980311195764312) / Math.Sqrt((0.08174228037936092 / (299)) + (0.001222172523796571 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.12810357268595762 = (9.152820158179107 - 7.980311195764312) / 9.152820158179107 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Slice&lt;String&gt;.MemoryStartLengthSpan

```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.912992939704663 < 9.566692905735977.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 62.98475800448257 (T) = (0 -8.968347940920093) / Math.Sqrt((0.04490849367271554 / (299)) + (0.0015521675839593836 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.09190806886067197 = (9.876035270644955 - 8.968347940920093) / 9.876035270644955 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Slice&lt;String&gt;.MemoryStartSpan

```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.996592698139478 < 9.648339492045135.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 56.581261804561215 (T) = (0 -8.977127773388359) / Math.Sqrt((0.04778613622280085 / (299)) + (0.003086127569616385 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.09449269477149075 = (9.913920872369921 - 8.977127773388359) / 9.913920872369921 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

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline d6b89c66d492c1e0b0a88d797264039c50c4f4b7
Compare ccefbf9eb36cb3d8adb36f4b141914c2c6cc489b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Memory.Constructors<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
MemoryFromArray - Duration of single invocation 17.47 ns 5.94 ns 0.34 0.49 False
ArrayAsSpanStartLength - Duration of single invocation 12.90 ns 8.87 ns 0.69 0.11 False
ArrayAsSpan - Duration of single invocation 11.90 ns 7.36 ns 0.62 0.14 False
ArrayAsMemory - Duration of single invocation 19.49 ns 7.89 ns 0.40 0.50 False
ReadOnlySpanImplicitCastFromArraySegment - Duration of single invocation 5.84 ns 3.62 ns 0.62 0.28 False
SpanFromArrayStartLength - Duration of single invocation 10.93 ns 5.90 ns 0.54 0.06 False
SpanImplicitCastFromArray - Duration of single invocation 10.68 ns 4.35 ns 0.41 0.37 False
SpanFromArray - Duration of single invocation 10.47 ns 5.36 ns 0.51 0.10 False
ArrayAsMemoryStartLength - Duration of single invocation 21.57 ns 9.43 ns 0.44 0.60 False
MemoryFromArrayStartLength - Duration of single invocation 11.54 ns 6.40 ns 0.55 0.47 False
SpanImplicitCastFromArraySegment - Duration of single invocation 12.64 ns 8.62 ns 0.68 0.33 False

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

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Constructors&lt;String&gt;*'
Details

Payloads

Baseline
Compare

Histogram

System.Memory.Constructors<String>.MemoryFromArray


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.9367851924651225 < 10.894822586331953.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 44.36202807229378 (T) = (0 -5.788512800744097) / Math.Sqrt((6.875933520951257 / (299)) + (0.2058326261737212 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.5728418385827513 = (13.551216677070274 - 5.788512800744097) / 13.551216677070274 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;String&gt;.ArrayAsSpanStartLength

```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.874374880911054 < 12.518559055624685.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 47.80064246844988 (T) = (0 -8.773805793832125) / Math.Sqrt((0.29597100415659505 / (299)) + (0.1896215609073531 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.32781515808123357 = (13.052668323771037 - 8.773805793832125) / 13.052668323771037 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;String&gt;.ArrayAsSpan

```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.357112241959345 < 11.301419553016101.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 40.993571924254596 (T) = (0 -7.015643696488594) / Math.Sqrt((0.526464622853423 / (299)) + (0.3360780746686875 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.4105483071606047 = (11.90198243844913 - 7.015643696488594) / 11.90198243844913 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;String&gt;.ArrayAsMemory

```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.891438634967937 < 18.05541419783384.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 40.026544253921315 (T) = (0 -7.774530529655214) / Math.Sqrt((10.571644313637634 / (299)) + (0.12318961616087588 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.5070598901465228 = (15.771754771520085 - 7.774530529655214) / 15.771754771520085 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;String&gt;.ReadOnlySpanImplicitCastFromArraySegment

```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.6187120848345264 < 5.598369359788326.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 28.127474894419954 (T) = (0 -3.435456232422081) / Math.Sqrt((0.22667956791342397 / (299)) + (0.16348753873855137 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.4032724815145329 = (5.757160724113227 - 3.435456232422081) / 5.757160724113227 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;String&gt;.SpanFromArrayStartLength

```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 5.895945363748398 < 10.381284990970128.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 60.286190768301296 (T) = (0 -5.8620333800405255) / Math.Sqrt((0.08259909758011669 / (299)) + (0.18742541186240153 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.466304452142022 = (10.98385287935824 - 5.8620333800405255) / 10.98385287935824 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;String&gt;.SpanImplicitCastFromArray

```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 4.352033161763314 < 9.121305564427251.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 77.69777489934955 (T) = (0 -4.079099686189488) / Math.Sqrt((0.5052247366957507 / (299)) + (0.12288346496744894 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.6007615472993924 = (10.217201420847205 - 4.079099686189488) / 10.217201420847205 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;String&gt;.SpanFromArray

```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 5.357606850448174 < 9.935369569952803.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 111.21261891234275 (T) = (0 -5.395522131764265) / Math.Sqrt((0.5368287919966773 / (299)) + (0.00485244611521595 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.4780927908899705 = (10.338086996278241 - 5.395522131764265) / 10.338086996278241 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;String&gt;.ArrayAsMemoryStartLength

```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.42856898927447 < 16.13905880388536.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 32.064664733465335 (T) = (0 -9.591271116242444) / Math.Sqrt((12.293612909326324 / (299)) + (0.33603189785745713 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.4362089800092831 = (17.012103379015098 - 9.591271116242444) / 17.012103379015098 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;String&gt;.MemoryFromArrayStartLength

```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 6.3962379471383874 < 10.949983932383914.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 47.3536435247484 (T) = (0 -6.279455944048552) / Math.Sqrt((5.533120925177773 / (299)) + (0.1467453376857559 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.53849049341919 = (13.606341482694948 - 6.279455944048552) / 13.606341482694948 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Constructors&lt;String&gt;.SpanImplicitCastFromArraySegment

```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.618297804823012 < 11.980566622870487.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 26.03282821053587 (T) = (0 -7.580214831920342) / Math.Sqrt((0.7411232241052731 / (299)) + (0.9636164646703438 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.4015382461780397 = (12.66616418427872 - 7.580214831920342) / 12.66616418427872 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

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline d6b89c66d492c1e0b0a88d797264039c50c4f4b7
Compare ccefbf9eb36cb3d8adb36f4b141914c2c6cc489b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.IterateForEach<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Queue - Duration of single invocation 4.12 μs 3.50 μs 0.85 0.40 False
Stack - Duration of single invocation 3.96 μs 3.44 μs 0.87 0.52 False
ImmutableQueue - Duration of single invocation 4.64 μs 4.28 μs 0.92 0.38 False
Span - Duration of single invocation 235.05 ns 186.17 ns 0.79 0.04 False

graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

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

Payloads

Baseline
Compare

Histogram

System.Collections.IterateForEach<String>.Queue(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 3.4970190294601466 < 3.9179774694203195.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 41.1930779784716 (T) = (0 -3524.3859433967905) / Math.Sqrt((20214.664065435587 / (299)) + (1565.6327017798044 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.11581582683284014 = (3986.0314743843373 - 3524.3859433967905) / 3986.0314743843373 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.IterateForEach&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 3.4412925347222223 < 3.4665088725182356.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 21.078807726714942 (T) = (0 -3330.299298002291) / Math.Sqrt((49039.491297190885 / (299)) + (12653.820186013547 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.13733852498281635 = (3860.493825733847 - 3330.299298002291) / 3860.493825733847 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.IterateForEach&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 4.280580981588085 < 4.3646310184978105.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 30.120420427799687 (T) = (0 -4302.832333924725) / Math.Sqrt((94985.82068354459 / (299)) + (284.2914134858172 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.11254524962081457 = (4848.508988301929 - 4302.832333924725) / 4848.508988301929 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.IterateForEach&lt;String&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 186.16803542401814 < 216.65627849615697.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 31.873358376388936 (T) = (0 -193.75492511435218) / Math.Sqrt((8.047888437372881 / (299)) + (37.29102250122294 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.16332202715467686 = (231.57646239381958 - 193.75492511435218) / 231.57646239381958 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

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline d6b89c66d492c1e0b0a88d797264039c50c4f4b7
Compare ccefbf9eb36cb3d8adb36f4b141914c2c6cc489b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Concurrent.Count<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Queue - Duration of single invocation 14.78 ns 12.63 ns 0.85 0.02 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Concurrent.Count&lt;String&gt;*'
Details

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.Count<String>.Queue(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 12.625527890382672 < 13.954002513800356.
IsChangePoint: Marked as a change because one of 1/11/2023 5:39:19 AM, 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 45.653959096374805 (T) = (0 -12.38272929171801) / Math.Sqrt((0.9548389438912407 / (299)) + (0.01867790335941646 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.18686650859669474 = (15.228408893043998 - 12.38272929171801) / 15.228408893043998 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

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline d6b89c66d492c1e0b0a88d797264039c50c4f4b7
Compare ccefbf9eb36cb3d8adb36f4b141914c2c6cc489b
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.ContainsKeyTrue<String, String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IDictionary - Duration of single invocation 17.68 μs 15.67 μs 0.89 0.10 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline
Compare

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsKeyTrue&lt;String, String&gt;*'
Details

Payloads

Baseline
Compare

Histogram

System.Collections.ContainsKeyTrue<String, String>.IDictionary(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 15.665005862211219 < 16.783413714535456.
IsChangePoint: Marked as a change because one of 3/14/2023 8:42:09 PM, 3/23/2023 3:52:33 AM falls between 3/14/2023 3:18:57 PM and 3/23/2023 3:52:33 AM.
IsImprovementStdDev: Marked as improvement because 11.312005817324478 (T) = (0 -16009.373011579273) / Math.Sqrt((154450.48472976792 / (299)) + (344865.7215598864 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.07531976004050543 = (17313.41529724974 - 16009.373011579273) / 17313.41529724974 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

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions