Skip to content

[Perf] Linux/arm64: 8 Regressions on 10/7/2023 2:03:18 PM #93401

Closed
@performanceautofiler

Description

@performanceautofiler

Run Information

Name Value
Architecture arm64
OS ubuntu 20.04
Queue AmpereUbuntu
Baseline f55549222e4dc1469190caa56e03361ee46208ca
Compare 551a4db7917df8c321867d47ce028c726106a3c2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Collections.IterateFor<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
205.40 ns 222.33 ns 1.08 0.03 False

graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.Collections.IterateFor<String>.ReadOnlySpan(Size: 512)

ETL Files

Histogram

Description of detection logic

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.
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 222.32651915631124 > 215.6400041349606.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 9/23/2023 7:05:34 AM, 10/6/2023 9:14:38 AM, 10/11/2023 11:44:03 AM falls between 10/2/2023 7:07:56 PM and 10/11/2023 11:44:03 AM.
IsRegressionStdDev: Marked as regression because -372.39294984996354 (T) = (0 -222.2885707448892) / Math.Sqrt((0.004433913439093746 / (12)) + (0.010203089316673741 / (6))) is less than -2.1199052992212764 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (6) - 2, .025) and -0.08250910009314494 = (205.3456832148222 - 222.2885707448892) / 205.3456832148222 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.

JIT Disasms

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 f55549222e4dc1469190caa56e03361ee46208ca
Compare 551a4db7917df8c321867d47ce028c726106a3c2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.Perf_Ascii

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
23.88 ns 28.56 ns 1.20 0.14 False
23.94 ns 28.02 ns 1.17 0.15 False

graph
graph
Test Report

Repro

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

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Perf_Ascii*'

Payloads

Baseline
Compare

System.Text.Perf_Ascii.ToUpper_Bytes_Chars(Size: 128)

ETL Files

Histogram

Description of detection logic

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.
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 28.559514717492952 > 24.79856478599641.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 8/22/2023 6:29:15 PM, 10/6/2023 9:14:38 AM, 10/11/2023 11:44:03 AM falls between 10/2/2023 7:07:56 PM and 10/11/2023 11:44:03 AM.
IsRegressionStdDev: Marked as regression because -20.76254857027171 (T) = (0 -28.104504760503044) / Math.Sqrt((0.3645918407156724 / (12)) + (0.05786128073273915 / (6))) is less than -2.1199052992212764 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (6) - 2, .025) and -0.1734346247423125 = (23.95063531270421 - 28.104504760503044) / 23.95063531270421 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.

JIT Disasms

System.Text.Perf_Ascii.ToLower_Bytes_Chars(Size: 128)

ETL Files

Histogram

Description of detection logic

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.
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 28.019010068564185 > 24.869754563726246.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 8/22/2023 6:29:15 PM, 10/6/2023 9:14:38 AM, 10/11/2023 11:44:03 AM falls between 10/2/2023 7:07:56 PM and 10/11/2023 11:44:03 AM.
IsRegressionStdDev: Marked as regression because -20.25521761383546 (T) = (0 -28.24787440830941) / Math.Sqrt((0.2906103764827192 / (12)) + (0.13260424713375574 / (6))) is less than -2.1199052992212764 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (6) - 2, .025) and -0.18248282820609205 = (23.88861278532339 - 28.24787440830941) / 23.88861278532339 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.

JIT Disasms

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 f55549222e4dc1469190caa56e03361ee46208ca
Compare 551a4db7917df8c321867d47ce028c726106a3c2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Buffers.Text.Tests.Base64Tests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
427.30 ns 530.37 ns 1.24 0.08 False

graph
Test Report

Repro

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

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Text.Tests.Base64Tests*'

Payloads

Baseline
Compare

System.Buffers.Text.Tests.Base64Tests.ConvertToBase64CharArray(NumberOfBytes: 1000)

ETL Files

Histogram

Description of detection logic

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.
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 530.3676104438226 > 447.5848694018119.
IsChangePoint: Marked as a change because one of 4/12/2023 8:39:35 PM, 4/28/2023 1:33:49 PM, 5/3/2023 7:05:50 AM, 7/1/2023 8:07:46 AM, 7/17/2023 4:07:27 PM, 8/4/2023 10:42:53 AM, 8/22/2023 6:29:15 PM, 10/6/2023 9:14:38 AM, 10/11/2023 11:44:03 AM falls between 10/2/2023 7:07:56 PM and 10/11/2023 11:44:03 AM.
IsRegressionStdDev: Marked as regression because -51.53911793942635 (T) = (0 -525.548318232403) / Math.Sqrt((21.142287272695157 / (12)) + (13.333299949151087 / (6))) is less than -2.1199052992212764 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (6) - 2, .025) and -0.24338488874057676 = (422.6754909050972 - 525.548318232403) / 422.6754909050972 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.

JIT Disasms

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 f55549222e4dc1469190caa56e03361ee46208ca
Compare 551a4db7917df8c321867d47ce028c726106a3c2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Collections.CreateAddAndClear<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.50 μs 1.80 μs 1.20 0.24 False

graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.Collections.CreateAddAndClear<Int32>.List(Size: 512)

ETL Files

Histogram

Description of detection logic

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.
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 1.7977876246594005 > 1.5936733124485132.
IsChangePoint: Marked as a change because one of 5/19/2023 4:22:12 AM, 10/6/2023 9:14:38 AM, 10/11/2023 11:44:03 AM falls between 10/2/2023 7:07:56 PM and 10/11/2023 11:44:03 AM.
IsRegressionStdDev: Marked as regression because -10.988586748442112 (T) = (0 -1838.0158013387618) / Math.Sqrt((3446.231724137695 / (12)) + (2498.4499069713015 / (6))) is less than -2.1199052992212764 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (6) - 2, .025) and -0.1884698700010806 = (1546.5396706582815 - 1838.0158013387618) / 1546.5396706582815 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.

JIT Disasms

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 f55549222e4dc1469190caa56e03361ee46208ca
Compare 551a4db7917df8c321867d47ce028c726106a3c2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Collections.Perf_Frozen<NotKnownComparable>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
13.49 ns 15.78 ns 1.17 0.02 True

graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.Collections.Perf_Frozen<NotKnownComparable>.Contains_True(Count: 4)

ETL Files

Histogram

Description of detection logic

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.
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 15.776818896170987 > 14.160815293970957.
IsChangePoint: Marked as a change because one of 10/6/2023 9:14:38 AM, 10/11/2023 11:44:03 AM falls between 10/2/2023 7:07:56 PM and 10/11/2023 11:44:03 AM.
IsRegressionStdDev: Marked as regression because -59.943852744772315 (T) = (0 -15.728146954519806) / Math.Sqrt((0.002666869030084915 / (12)) + (0.00715756535636858 / (6))) is less than -2.1199052992212764 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (6) - 2, .025) and -0.1673708091342549 = (13.473137097015565 - 15.728146954519806) / 13.473137097015565 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.

JIT Disasms

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 f55549222e4dc1469190caa56e03361ee46208ca
Compare 551a4db7917df8c321867d47ce028c726106a3c2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Memory.Span<Char>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
44.00 ns 49.23 ns 1.12 0.10 False

graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.Memory.Span<Char>.IndexOfAnyThreeValues(Size: 512)

ETL Files

Histogram

Description of detection logic

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.
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 49.22978510694759 > 46.15877453468914.
IsChangePoint: Marked as a change because one of 4/28/2023 1:33:49 PM, 5/3/2023 7:05:50 AM, 7/1/2023 8:07:46 AM, 7/17/2023 4:07:27 PM, 8/5/2023 6:15:42 AM, 8/22/2023 6:29:15 PM, 10/6/2023 9:14:38 AM, 10/11/2023 11:44:03 AM falls between 10/2/2023 7:07:56 PM and 10/11/2023 11:44:03 AM.
IsRegressionStdDev: Marked as regression because -14.473174356749167 (T) = (0 -49.362602321879855) / Math.Sqrt((0.10814897384925021 / (12)) + (0.7497474708297018 / (6))) is less than -2.1199052992212764 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (6) - 2, .025) and -0.12021896215335026 = (44.06513725405271 - 49.362602321879855) / 44.06513725405271 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.

JIT Disasms

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 f55549222e4dc1469190caa56e03361ee46208ca
Compare 551a4db7917df8c321867d47ce028c726106a3c2
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Collections.AddGivenSize<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.44 μs 1.66 μs 1.15 0.35 False

graph
Test Report

Repro

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

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

Payloads

Baseline
Compare

System.Collections.AddGivenSize<Int32>.List(Size: 512)

ETL Files

Histogram

Description of detection logic

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.
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 1.66042285032892 > 1.4533978942651908.
IsChangePoint: Marked as a change because one of 7/18/2023 9:59:03 AM, 10/6/2023 9:14:38 AM, 10/11/2023 11:44:03 AM falls between 10/2/2023 7:07:56 PM and 10/11/2023 11:44:03 AM.
IsRegressionStdDev: Marked as regression because -15.426483125143072 (T) = (0 -1658.5832139364875) / Math.Sqrt((4077.5324724249035 / (12)) + (116.7192038612997 / (6))) is less than -2.1199052992212764 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (12) + (6) - 2, .025) and -0.21401884300283375 = (1366.192315297215 - 1658.5832139364875) / 1366.192315297215 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.

JIT Disasms

Docs

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

Metadata

Metadata

Assignees

Labels

Priority:2Work that is important, but not critical for the releasearch-arm64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIin-prThere is an active PR which will close this issue when it is mergedos-linuxLinux OS (any supported distro)runtime-coreclrspecific to the CoreCLR runtimetenet-performancePerformance related issuetenet-performance-benchmarksIssue from performance benchmark

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions