Skip to content

[Perf] Changes at 3/30/2022 8:03:41 PM #4414

@performanceautofiler

Description

@performanceautofiler

Run Information

Architecture arm64
OS Windows 10.0.19041
Baseline 2f21e533978677667d698f86064bf96932bed4e4
Compare c0db07b3f3f093b5f4cd27e1f5e8aa54adad049d
Diff Diff

Regressions in PerfLabTests.CastingPerf2.CastingPerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ObjrefValueTypeObj - Duration of single invocation 1.65 ms 1.91 ms 1.15 0.02 False
FooObjIsNull - Duration of single invocation 699.88 μs 890.67 μs 1.27 0.14 False
ObjFooIsObj - Duration of single invocation 763.17 μs 890.60 μs 1.17 0.15 False
IFooFooIsIFoo - Duration of single invocation 763.37 μs 890.62 μs 1.17 0.14 False
ObjObjrefValueType - Duration of single invocation 1.77 ms 1.89 ms 1.07 0.16 False

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 'PerfLabTests.CastingPerf2.CastingPerf*'

Payloads

Baseline
Compare

Histogram

PerfLabTests.CastingPerf2.CastingPerf.ObjrefValueTypeObj


Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 1/4/2022 3:56:15 AM, 1/4/2022 8:57:06 PM, 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -50.39029111993825 (T) = (0 -1913584.506471594) / Math.Sqrt((2258.0800028374474 / (2)) + (716447199.6724856 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.15693826983067927 = (1654007.4404761905 - 1913584.506471594) / 1654007.4404761905 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### PerfLabTests.CastingPerf2.CastingPerf.FooObjIsNull

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 12/2/2021 8:37:26 PM, 3/1/2022 1:15:47 PM, 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -2941.545878844137 (T) = (0 -890660.7557818554) / Math.Sqrt((6713.4028536691485 / (2)) + (23009.65787219939 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.27269127806506055 = (699824.6716485508 - 890660.7557818554) / 699824.6716485508 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### PerfLabTests.CastingPerf2.CastingPerf.ObjFooIsObj

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 12/3/2021 11:44:37 PM, 2/23/2022 1:54:47 PM, 3/11/2022 5:51:22 PM, 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -2138.024602843757 (T) = (0 -890608.9886346078) / Math.Sqrt((5989.586101340934 / (2)) + (14986.564557838115 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.16690358295550484 = (763224.1443452381 - 890608.9886346078) / 763224.1443452381 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### PerfLabTests.CastingPerf2.CastingPerf.IFooFooIsIFoo

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 12/2/2021 8:37:26 PM, 2/23/2022 1:54:47 PM, 3/11/2022 5:51:22 PM, 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -1695.6542989143913 (T) = (0 -890641.7515408545) / Math.Sqrt((10032.776345847278 / (2)) + (16831.268564083115 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.16682925608437557 = (763300.8402014652 - 890641.7515408545) / 763300.8402014652 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### PerfLabTests.CastingPerf2.CastingPerf.ObjObjrefValueType

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 11/26/2021 9:19:07 PM, 11/29/2021 12:29:52 PM, 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -22.84581726612531 (T) = (0 -1923528.9446494756) / Math.Sqrt((36324060.86325013 / (2)) + (701334668.2442148 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.08566579398859656 = (1771750.528846154 - 1923528.9446494756) / 1771750.528846154 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
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.19041
Baseline 2f21e533978677667d698f86064bf96932bed4e4
Compare c0db07b3f3f093b5f4cd27e1f5e8aa54adad049d
Diff Diff

Regressions in Benchstone.BenchI.Array2

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Test - Duration of single invocation 788.78 ms 1.22 secs 1.54 0.00 True

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'Benchstone.BenchI.Array2*'

Payloads

Baseline
Compare

Histogram

Benchstone.BenchI.Array2.Test


Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -445.6862864613179 (T) = (0 -1215978548.8102021) / Math.Sqrt((1727915713422.1484 / (2)) + (1372151711039.6616 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.5397860623816858 = (789706166.6666667 - 1215978548.8102021) / 789706166.6666667 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as 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.19041
Baseline 2f21e533978677667d698f86064bf96932bed4e4
Compare c0db07b3f3f093b5f4cd27e1f5e8aa54adad049d
Diff Diff

Regressions in PerfLabTests.DelegatePerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
MulticastDelegateInvoke - Duration of single invocation 41.52 ms 47.83 ms 1.15 0.12 False

graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

PerfLabTests.DelegatePerf.MulticastDelegateInvoke(length: 1000)


Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 12/26/2021 4:30:45 AM, 2/23/2022 1:54:47 PM, 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -10.51051519705602 (T) = (0 -48678755.50586758) / Math.Sqrt((203325615.6532302 / (2)) + (12574121169685.643 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.17283224502533792 = (41505301.13095238 - 48678755.50586758) / 41505301.13095238 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
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.19041
Baseline 2f21e533978677667d698f86064bf96932bed4e4
Compare c0db07b3f3f093b5f4cd27e1f5e8aa54adad049d
Diff Diff

Regressions in SciMark2.kernel

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
benchSparseMult - Duration of single invocation 796.38 ms 844.59 ms 1.06 0.01 False

graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

SciMark2.kernel.benchSparseMult


Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 2/17/2022 7:22:10 PM, 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -262.7722271341451 (T) = (0 -844771287.2859857) / Math.Sqrt((58733947695.5971 / (2)) + (116324752272.237 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.060537143570981396 = (796550401.2820513 - 844771287.2859857) / 796550401.2820513 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
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.19041
Baseline 2f21e533978677667d698f86064bf96932bed4e4
Compare c0db07b3f3f093b5f4cd27e1f5e8aa54adad049d
Diff Diff

Regressions in System.Numerics.Tests.Perf_BitOperations

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
PopCount_uint - Duration of single invocation 1.10 μs 1.31 μs 1.18 0.11 True

graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Numerics.Tests.Perf_BitOperations.PopCount_uint


Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -857.6254329783034 (T) = (0 -1308.1713651513123) / Math.Sqrt((0.03547807052828075 / (2)) + (1.0661688860906462 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.1860022256585121 = (1103.0091991817026 - 1308.1713651513123) / 1103.0091991817026 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as 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.19041
Baseline 2f21e533978677667d698f86064bf96932bed4e4
Compare c0db07b3f3f093b5f4cd27e1f5e8aa54adad049d
Diff Diff

Regressions in System.Memory.Span<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
EndsWith - Duration of single invocation 72.88 ns 82.32 ns 1.13 0.43 False
SequenceEqual - Duration of single invocation 142.08 ns 160.43 ns 1.13 0.33 False

graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Memory.Span<Int32>.EndsWith(Size: 512)


Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 2/16/2022 8:34:06 PM, 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -28.04959211289943 (T) = (0 -84.45179993749828) / Math.Sqrt((0.00037589009385419843 / (2)) + (4.600426162984719 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.15898323813122833 = (72.86714523470619 - 84.45179993749828) / 72.86714523470619 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Memory.Span&lt;Int32&gt;.SequenceEqual(Size: 512)

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 3/11/2022 5:51:22 PM, 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -32.78090291673077 (T) = (0 -164.4555407418801) / Math.Sqrt((0.0141338182282786 / (2)) + (12.290912962940375 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.15677492215593394 = (142.1672769629003 - 164.4555407418801) / 142.1672769629003 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
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.19041
Baseline 2f21e533978677667d698f86064bf96932bed4e4
Compare c0db07b3f3f093b5f4cd27e1f5e8aa54adad049d
Diff Diff

Regressions in System.Numerics.Tests.Perf_VectorConvert

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Widen_sbyte - Duration of single invocation 840.61 ns 910.46 ns 1.08 0.35 False
Widen_ushort - Duration of single invocation 839.02 ns 909.73 ns 1.08 0.33 False
Widen_short - Duration of single invocation 840.59 ns 907.87 ns 1.08 0.29 False
Widen_uint - Duration of single invocation 838.86 ns 908.13 ns 1.08 0.27 False

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.Numerics.Tests.Perf_VectorConvert*'

Payloads

Baseline
Compare

Histogram

System.Numerics.Tests.Perf_VectorConvert.Widen_sbyte


Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 12/30/2021 11:58:23 PM, 3/11/2022 5:51:22 PM, 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -12.334709109438217 (T) = (0 -899.541699877685) / Math.Sqrt((1.3330837299568643 / (2)) + (615.4250881843835 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.0711408038028283 = (839.7978087325944 - 899.541699877685) / 839.7978087325944 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_VectorConvert.Widen_ushort

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 3/13/2022 11:50:20 AM, 3/31/2022 9:26:55 AM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -4.022297432194537 (T) = (0 -910.2163208703658) / Math.Sqrt((981.4015928364273 / (5)) + (3.878618844414132 / (24))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (5) + (24) - 2, .025) and -0.06602591352223224 = (853.8407081146279 - 910.2163208703658) / 853.8407081146279 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_VectorConvert.Widen_short

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 1/3/2022 1:54:45 PM, 3/13/2022 1:54:51 AM, 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -17.51218455951563 (T) = (0 -902.85328638887) / Math.Sqrt((1.6514535696550456 / (2)) + (329.03496580328897 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.07523166428561566 = (839.6825692337902 - 902.85328638887) / 839.6825692337902 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Numerics.Tests.Perf_VectorConvert.Widen_uint

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 3/11/2022 5:51:22 PM, 3/30/2022 8:03:41 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -17.567624128811882 (T) = (0 -903.1488047552828) / Math.Sqrt((0.24934007518910734 / (3)) + (341.58887434511576 / (26))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (3) + (26) - 2, .025) and -0.07611060940003889 = (839.2713507943323 - 903.1488047552828) / 839.2713507943323 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
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.19041
Baseline 2f21e533978677667d698f86064bf96932bed4e4
Compare c0db07b3f3f093b5f4cd27e1f5e8aa54adad049d
Diff Diff

Regressions in System.Collections.IterateForEach<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ImmutableHashSet - Duration of single invocation 20.17 μs 21.94 μs 1.09 0.01 False
ImmutableDictionary - Duration of single invocation 18.92 μs 20.28 μs 1.07 0.02 False

graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

System.Collections.IterateForEach<Int32>.ImmutableHashSet(Size: 512)


Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 1/11/2022 6:41:22 PM, 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -7.992453827907647 (T) = (0 -21735.6011985684) / Math.Sqrt((59831.43985077992 / (2)) + (14457.23029075823 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.0685665109566823 = (20340.896870433106 - 21735.6011985684) / 20340.896870433106 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### System.Collections.IterateForEach&lt;Int32&gt;.ImmutableDictionary(Size: 512)

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 1/11/2022 6:41:22 PM, 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -14.915366720837454 (T) = (0 -20111.29825532517) / Math.Sqrt((9522.583237168988 / (2)) + (24992.176262219393 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.05924173503574667 = (18986.504770458716 - 20111.29825532517) / 18986.504770458716 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
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.19041
Baseline 2f21e533978677667d698f86064bf96932bed4e4
Compare c0db07b3f3f093b5f4cd27e1f5e8aa54adad049d
Diff Diff

Regressions in LinqBenchmarks

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Count00ForX - Duration of single invocation 146.88 ms 216.21 ms 1.47 0.01 False
Where00ForX - Duration of single invocation 229.50 ms 283.63 ms 1.24 0.08 False
Where01ForX - Duration of single invocation 216.11 ms 241.91 ms 1.12 0.00 False

graph
graph
graph
Test Report

Repro

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

Payloads

Baseline
Compare

Histogram

LinqBenchmarks.Count00ForX


Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 3/15/2022 12:53:39 AM, 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -80.8712206579772 (T) = (0 -213043617.7216457) / Math.Sqrt((1282839727111.2573 / (2)) + (1191471865269.6597 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.45836397142501156 = (146083983.07692307 - 213043617.7216457) / 146083983.07692307 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### LinqBenchmarks.Where00ForX

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 3/15/2022 12:53:39 AM, 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -132.24942405015895 (T) = (0 -285135063.8325871) / Math.Sqrt((167546871164.223 / (2)) + (2566327864813.598 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.24398947321502365 = (229210190.25641024 - 285135063.8325871) / 229210190.25641024 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.

```#### LinqBenchmarks.Where01ForX

```log

Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 1/11/2022 6:41:22 PM, 3/15/2022 12:53:39 AM, 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -28.33425206315473 (T) = (0 -242937761.15316787) / Math.Sqrt((1440108147200 / (2)) + (3265232143580.567 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.11976770261549735 = (216953713.33333334 - 242937761.15316787) / 216953713.33333334 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
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.19041
Baseline 2f21e533978677667d698f86064bf96932bed4e4
Compare c0db07b3f3f093b5f4cd27e1f5e8aa54adad049d
Diff Diff

Regressions in Benchstone.BenchF.NewtR

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Test - Duration of single invocation 126.19 ms 178.15 ms 1.41 0.00 True

graph
Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'Benchstone.BenchF.NewtR*'

Payloads

Baseline
Compare

Histogram

Benchstone.BenchF.NewtR.Test


Description of detection logic

IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 3/22/2022 12:26:23 PM, 4/7/2022 2:11:06 AM falls between 3/22/2022 12:26:23 PM and 4/7/2022 2:11:06 AM.
IsRegressionStdDev: Marked as regression because -528.882495502473 (T) = (0 -178159869.55229956) / Math.Sqrt((19340906035.50386 / (2)) + (621278914.4482373 / (27))) is less than -2.051830516474954 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (2) + (27) - 2, .025) and -0.41297434109480713 = (126088538.46153846 - 178159869.55229956) / 126088538.46153846 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked as regression because Edge Detector said so.

Docs

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions