Skip to content

[Perf] Linux/arm64: 29 Improvements on 7/19/2024 6:55:27 PM #38909

Closed
@performanceautofiler

Description

@performanceautofiler

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline f1d8613008cdeb3fd9b44ccd3b6f739a8a134446
Compare 922c2d8b9e99450b8f861a1546c62e89b6e0da3e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Linq.Tests.Perf_Enumerable

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
140.59 ns 126.59 ns 0.90 0.21 False
205.11 ns 67.84 ns 0.33 0.01 False
361.69 ns 67.65 ns 0.19 0.03 False
164.89 ns 128.63 ns 0.78 0.37 False
587.17 ns 490.84 ns 0.84 0.09 False
248.96 ns 68.59 ns 0.28 0.01 False
267.83 ns 66.86 ns 0.25 0.03 False
360.21 ns 68.03 ns 0.19 0.02 False
267.26 ns 67.90 ns 0.25 0.07 False
365.74 ns 68.00 ns 0.19 0.01 False
270.83 ns 66.79 ns 0.25 0.04 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

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

System.Linq.Tests.Perf_Enumerable.SelectToArray(input: Range)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_FirstElementMatches(input: Array)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input: List)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.SelectToList(input: Range)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.SelectToList(input: IEnumerable)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_FirstElementMatches(input: List)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input: Array)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.AnyWithPredicate_LastElementMatches(input: List)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input: Array)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input: List)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.AnyWithPredicate_LastElementMatches(input: Array)

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline f1d8613008cdeb3fd9b44ccd3b6f739a8a134446
Compare 922c2d8b9e99450b8f861a1546c62e89b6e0da3e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Numerics.Tests.Perf_BitOperations

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
792.18 ns 706.53 ns 0.89 0.00 True
696.43 ns 619.62 ns 0.89 0.01 True
786.58 ns 706.58 ns 0.90 0.00 True
946.41 ns 809.63 ns 0.86 0.02 True
696.76 ns 619.63 ns 0.89 0.01 True
948.04 ns 810.75 ns 0.86 0.01 True

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

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

System.Numerics.Tests.Perf_BitOperations.TrailingZeroCount_uint

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_BitOperations.LeadingZeroCount_uint

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_BitOperations.TrailingZeroCount_ulong

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_BitOperations.Log2_ulong

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_BitOperations.LeadingZeroCount_ulong

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_BitOperations.Log2_uint

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline f1d8613008cdeb3fd9b44ccd3b6f739a8a134446
Compare 922c2d8b9e99450b8f861a1546c62e89b6e0da3e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.Perf_Frozen<NotKnownComparable>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
375.00 ns 355.24 ns 0.95 0.11 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.Perf_Frozen&lt;NotKnownComparable&gt;*'

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

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline f1d8613008cdeb3fd9b44ccd3b6f739a8a134446
Compare 922c2d8b9e99450b8f861a1546c62e89b6e0da3e
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
218.91 ns 195.84 ns 0.89 0.20 False
373.74 ns 218.40 ns 0.58 0.01 False
204.37 ns 180.12 ns 0.88 0.11 False
225.46 ns 185.65 ns 0.82 0.13 False

graph
graph
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.Collections.IterateForEach&lt;String&gt;*'

System.Collections.IterateForEach<String>.Array(Size: 512)

ETL Files

Histogram

JIT Disasms

System.Collections.IterateForEach<String>.ImmutableArray(Size: 512)

ETL Files

Histogram

JIT Disasms

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

ETL Files

Histogram

JIT Disasms

System.Collections.IterateForEach<String>.Span(Size: 512)

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline f1d8613008cdeb3fd9b44ccd3b6f739a8a134446
Compare 922c2d8b9e99450b8f861a1546c62e89b6e0da3e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.IterateFor<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
207.67 ns 180.09 ns 0.87 0.03 False
218.92 ns 193.73 ns 0.88 0.18 False
219.06 ns 195.28 ns 0.89 0.01 True

graph
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.Collections.IterateFor&lt;String&gt;*'

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

ETL Files

Histogram

JIT Disasms

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

ETL Files

Histogram

JIT Disasms

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

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline f1d8613008cdeb3fd9b44ccd3b6f739a8a134446
Compare 922c2d8b9e99450b8f861a1546c62e89b6e0da3e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_String

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
45.74 ns 34.77 ns 0.76 0.00 True
44.76 ns 34.55 ns 0.77 0.01 True

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

System.Tests.Perf_String.IndexerCheckBoundCheckHoist

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_String.IndexerCheckLengthHoisting

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline f1d8613008cdeb3fd9b44ccd3b6f739a8a134446
Compare 922c2d8b9e99450b8f861a1546c62e89b6e0da3e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Struct.SpanWrapper

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
5.73 μs 5.01 μs 0.87 0.00 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 'Struct.SpanWrapper*'

Struct.SpanWrapper.BaselineSum

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline f1d8613008cdeb3fd9b44ccd3b6f739a8a134446
Compare 922c2d8b9e99450b8f861a1546c62e89b6e0da3e
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.IndexerSet<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
200.21 ns 181.93 ns 0.91 0.01 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.IndexerSet&lt;Int32&gt;*'

System.Collections.IndexerSet<Int32>.Span(Size: 512)

ETL Files

Histogram

JIT Disasms

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