Skip to content

[Perf] Windows/arm64: 60 Improvements on 4/21/2025 2:03:19 AM +00:00 #54859

@performanceautofiler

Description

@performanceautofiler

Run Information

Name Value
Architecture arm64
OS Windows 10.0.22621
Queue SurfaceWindows
Baseline f2821e1c391ac04c83a37cfc98437f0a4af30cf4
Compare fd33f03efdff93f39d88c7d30de2be6f59bb3106
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Memory.ReadOnlySpan

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
39.35 ns 34.63 ns 0.88 0.06 False
30.96 ns 27.42 ns 0.89 0.01 False
12.84 ns 10.43 ns 0.81 0.02 False

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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.ReadOnlySpan*'
Details

System.Memory.ReadOnlySpan.IndexOfString(input: "foobardzsdzs", value: "rddzs", comparisonType: InvariantCulture)

ETL Files

Histogram

JIT Disasms

System.Memory.ReadOnlySpan.IndexOfString(input: "string1", value: "string2", comparisonType: InvariantCulture)

ETL Files

Histogram

JIT Disasms

System.Memory.ReadOnlySpan.IndexOfString(input: "Hello WorldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylongHello WorldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylongHello Worldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylong!xyz", value: "w", comparisonType: OrdinalIgnoreCase)

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 Windows 10.0.22621
Queue SurfaceWindows
Baseline 27d23218a56d484638692d56b3abd27e0b21b591
Compare c0c5520b7b79747ca903a0ca59125bf3dede1307
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Tests.Perf_Encoding

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
29.39 ns 25.80 ns 0.88 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Tests.Perf_Encoding*'
Details

System.Text.Tests.Perf_Encoding.GetBytes(size: 16, encName: "utf-8")

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 Windows 10.0.22621
Queue SurfaceWindows
Baseline 27d23218a56d484638692d56b3abd27e0b21b591
Compare c0c5520b7b79747ca903a0ca59125bf3dede1307
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
37.96 ns 33.13 ns 0.87 0.01 False
72.65 ns 67.20 ns 0.92 0.03 False
19.32 ns 17.76 ns 0.92 0.08 False
18.94 ns 16.31 ns 0.86 0.08 False
16.86 ns 14.39 ns 0.85 0.09 False
18.45 ns 16.93 ns 0.92 0.06 False
7.92 ns 6.18 ns 0.78 0.31 False

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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_String*'
Details

System.Tests.Perf_String.Replace_String(text: "This is a very nice sentence. This is another very nice sentence.", oldValue: "a", newValue: "b")

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_String.Replace_String(text: "This is a very nice sentence", oldValue: "nice", newValue: "bad")

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_String.Replace_Char(text: "Hello", oldChar: 'l', newChar: '!')

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_String.Trim_CharArr(s: "Test ", c: [' ', ' '])

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_String.TrimEnd_CharArr(s: "Test ", c: [' ', ' '])

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_String.Trim_CharArr(s: " Test", c: [' ', ' '])

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_String.Trim_CharArr(s: "Test", c: [' ', ' '])

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 Windows 10.0.22621
Queue SurfaceWindows
Baseline f2821e1c391ac04c83a37cfc98437f0a4af30cf4
Compare fd33f03efdff93f39d88c7d30de2be6f59bb3106
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
8.78 μs 8.03 μs 0.91 0.04 False
9.70 μs 8.47 μs 0.87 0.01 False
11.07 μs 9.98 μs 0.90 0.02 False
10.33 μs 9.27 μs 0.90 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

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;Dictionary&lt;String, String&gt;&gt;*'
Details

System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeToUtf8Bytes(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeToUtf8Bytes(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeObjectProperty(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeObjectProperty(Mode: SourceGen)

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 Windows 10.0.22621
Queue SurfaceWindows
Baseline 27d23218a56d484638692d56b3abd27e0b21b591
Compare c0c5520b7b79747ca903a0ca59125bf3dede1307
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Tests.Perf_DateTimes

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
7.41 ms 6.58 ms 0.89 0.03 False
7.43 ms 6.67 ms 0.90 0.02 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_DateTimes*'
Details

System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted: True, SkipValidation: True)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_DateTimes.WriteDateTimes(Formatted: True, SkipValidation: False)

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 Windows 10.0.22621
Queue SurfaceWindows
Baseline 27d23218a56d484638692d56b3abd27e0b21b591
Compare c0c5520b7b79747ca903a0ca59125bf3dede1307
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in BenchmarksGame.KNucleotide_1

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
375.41 ms 319.78 ms 0.85 0.04 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'BenchmarksGame.KNucleotide_1*'
Details

BenchmarksGame.KNucleotide_1.RunBench

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 Windows 10.0.22621
Queue SurfaceWindows
Baseline f2821e1c391ac04c83a37cfc98437f0a4af30cf4
Compare fd33f03efdff93f39d88c7d30de2be6f59bb3106
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Int32

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
18.96 ns 17.03 ns 0.90 0.05 False
22.01 ns 20.12 ns 0.91 0.04 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Int32*'
Details

System.Tests.Perf_Int32.ToStringHex(value: 12345)

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Int32.ToStringHex(value: -2147483648)

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 Windows 10.0.22621
Queue SurfaceWindows
Baseline 27d23218a56d484638692d56b3abd27e0b21b591
Compare c0c5520b7b79747ca903a0ca59125bf3dede1307
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Reflection.Invoke

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
282.25 ns 264.90 ns 0.94 0.09 False
63.09 ns 54.05 ns 0.86 0.09 False
18.01 ns 15.83 ns 0.88 0.35 False
22.68 ns 19.51 ns 0.86 0.36 False
17.29 ns 14.03 ns 0.81 0.03 False
32.17 ns 26.43 ns 0.82 0.03 False
51.20 ns 47.34 ns 0.92 0.06 False

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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Reflection.Invoke*'
Details

System.Reflection.Invoke.StaticMethod5_ByRefParams_int_string_struct_class_bool_MethodInvoker

ETL Files

Histogram

JIT Disasms

System.Reflection.Invoke.Field_Get_struct

ETL Files

Histogram

JIT Disasms

System.Reflection.Invoke.Ctor0_NoParams

ETL Files

Histogram

JIT Disasms

System.Reflection.Invoke.Property_Get_int

ETL Files

Histogram

JIT Disasms

System.Reflection.Invoke.Property_Get_class

ETL Files

Histogram

JIT Disasms

System.Reflection.Invoke.Property_Set_int

ETL Files

Histogram

JIT Disasms

System.Reflection.Invoke.StaticMethod4_int_string_struct_class

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 Windows 10.0.22621
Queue SurfaceWindows
Baseline 27d23218a56d484638692d56b3abd27e0b21b591
Compare c0c5520b7b79747ca903a0ca59125bf3dede1307
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Tests.Perf_Guids

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
2.26 ms 1.85 ms 0.82 0.23 False
2.21 ms 1.80 ms 0.81 0.24 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Guids*'
Details

System.Text.Json.Tests.Perf_Guids.WriteGuids(Formatted: False, SkipValidation: False)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Guids.WriteGuids(Formatted: False, SkipValidation: True)

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