dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x86: 12 Improvements on 9/14/2026 2:10:47 AM +00:00

Open
#79,396 1 comment 0 reactions 0 assignees View on GitHub
arch-x86 branch-refs/heads/main compilationmode-tiered kind-micro Look Again os-windows perf-improvement runkind-micro runtime-coreclr untriaged
Dominant language
No language data
Stars
10
Forks
8
PR merge metrics
PR metrics pending

Description

### Run Information

Name | Value
-- | --
Architecture | x86
OS | Windows 10.0.22631
Queue | ViperWindows
Baseline | [3c4631e63b1de4308e2965b149992b992c9f5318](https://github.com/dotnet/runtime/commit/3c4631e63b1de4308e2965b149992b992c9f5318)
Compare | [cc404398142b4287bd77d35bbb24238605f6eb2a](https://github.com/dotnet/runtime/commit/cc404398142b4287bd77d35bbb24238605f6eb2a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/3c4631e63b1de4308e2965b149992b992c9f5318...cc404398142b4287bd77d35bbb24238605f6eb2a)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Memory.Span<Byte>

Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|

  • [EndsWith - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.09 ns | 3.29 ns | 0.65 | 0.14 | False | | |
|
  • [EndsWith - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.88 ns | 2.74 ns | 0.71 | 0.02 | False | | |
|
  • [EndsWith - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 7.87 ns | 5.58 ns | 0.71 | 0.36 | False | | |

![graph]()
![graph]()
![graph]()
[Test Report]()

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

```cmd
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span*'
```

### System.Memory.Span<Byte>.EndsWith(Size: 33)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Byte>.EndsWith(Size: 4)

#### ETL Files

#### Histogram

#### JIT Disasms

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

#### ETL Files

#### Histogram

#### JIT Disasms

### Docs

[Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md)
[Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

---

### Run Information

Name | Value
-- | --
Architecture | x86
OS | Windows 10.0.22631
Queue | ViperWindows
Baseline | [3c4631e63b1de4308e2965b149992b992c9f5318](https://github.com/dotnet/runtime/commit/3c4631e63b1de4308e2965b149992b992c9f5318)
Compare | [cc404398142b4287bd77d35bbb24238605f6eb2a](https://github.com/dotnet/runtime/commit/cc404398142b4287bd77d35bbb24238605f6eb2a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/3c4631e63b1de4308e2965b149992b992c9f5318...cc404398142b4287bd77d35bbb24238605f6eb2a)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Memory.Span<Char>

Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|

  • [EndsWith - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.25 ns | 2.74 ns | 0.65 | 0.08 | False | | |
|
  • [Fill - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 60.71 ns | 51.49 ns | 0.85 | 0.52 | False | | |
|
  • [StartsWith - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 45.06 ns | 39.10 ns | 0.87 | 0.30 | False | | |

![graph]()
![graph]()
![graph]()
[Test Report]()

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

```cmd
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span*'
```

### System.Memory.Span<Char>.EndsWith(Size: 4)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.Fill(Size: 3000)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.StartsWith(Size: 3000)

#### ETL Files

#### Histogram

#### JIT Disasms

### Docs

[Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md)
[Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

---

### Run Information

Name | Value
-- | --
Architecture | x86
OS | Windows 10.0.22631
Queue | ViperWindows
Baseline | [3c4631e63b1de4308e2965b149992b992c9f5318](https://github.com/dotnet/runtime/commit/3c4631e63b1de4308e2965b149992b992c9f5318)
Compare | [cc404398142b4287bd77d35bbb24238605f6eb2a](https://github.com/dotnet/runtime/commit/cc404398142b4287bd77d35bbb24238605f6eb2a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/3c4631e63b1de4308e2965b149992b992c9f5318...cc404398142b4287bd77d35bbb24238605f6eb2a)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Memory.Span<Int32>

Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|

  • [EndsWith - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 6.29 ns | 3.96 ns | 0.63 | 0.29 | False | | |
|
  • [EndsWith - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.77 ns | 3.01 ns | 0.63 | 0.04 | False | | |
|
  • [IndexOfValue - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 75.01 ns | 53.07 ns | 0.71 | 0.09 | False | | |

![graph]()
![graph]()
![graph]()
[Test Report]()

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

```cmd
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span*'
```

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

#### ETL Files

#### Histogram

#### JIT Disasms

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

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Int32>.IndexOfValue(Size: 3000)

#### ETL Files

#### Histogram

#### JIT Disasms

### Docs

[Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md)
[Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

---

### Run Information

Name | Value
-- | --
Architecture | x86
OS | Windows 10.0.22631
Queue | ViperWindows
Baseline | [3c4631e63b1de4308e2965b149992b992c9f5318](https://github.com/dotnet/runtime/commit/3c4631e63b1de4308e2965b149992b992c9f5318)
Compare | [cc404398142b4287bd77d35bbb24238605f6eb2a](https://github.com/dotnet/runtime/commit/cc404398142b4287bd77d35bbb24238605f6eb2a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/3c4631e63b1de4308e2965b149992b992c9f5318...cc404398142b4287bd77d35bbb24238605f6eb2a)
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
-- | -- | -- | -- | -- | -- | -- | -- | --
|

  • [TrailingZeroCount_ulong - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 547.74 ns | 420.87 ns | 0.77 | 0.10 | False | | |

![graph]()
[Test Report]()

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

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

### System.Numerics.Tests.Perf_BitOperations.TrailingZeroCount_ulong

#### ETL Files

#### Histogram

#### JIT Disasms

### Docs

[Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md)
[Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

---

### Run Information

Name | Value
-- | --
Architecture | x86
OS | Windows 10.0.22631
Queue | ViperWindows
Baseline | [3c4631e63b1de4308e2965b149992b992c9f5318](https://github.com/dotnet/runtime/commit/3c4631e63b1de4308e2965b149992b992c9f5318)
Compare | [cc404398142b4287bd77d35bbb24238605f6eb2a](https://github.com/dotnet/runtime/commit/cc404398142b4287bd77d35bbb24238605f6eb2a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/3c4631e63b1de4308e2965b149992b992c9f5318...cc404398142b4287bd77d35bbb24238605f6eb2a)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Globalization.Tests.StringSearch

Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|

  • [IsSuffix_SecondHalf - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 11.75 ns | 9.51 ns | 0.81 | 0.04 | False | | |

![graph]()
[Test Report]()

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

```cmd
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Globalization.Tests.StringSearch*'
```

### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, Ordinal, False))

#### ETL Files

#### Histogram

#### JIT Disasms

### Docs

[Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md)
[Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

---

### Run Information

Name | Value
-- | --
Architecture | x86
OS | Windows 10.0.22631
Queue | ViperWindows
Baseline | [3c4631e63b1de4308e2965b149992b992c9f5318](https://github.com/dotnet/runtime/commit/3c4631e63b1de4308e2965b149992b992c9f5318)
Compare | [cc404398142b4287bd77d35bbb24238605f6eb2a](https://github.com/dotnet/runtime/commit/cc404398142b4287bd77d35bbb24238605f6eb2a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/3c4631e63b1de4308e2965b149992b992c9f5318...cc404398142b4287bd77d35bbb24238605f6eb2a)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.IO.Tests.BinaryWriterTests

Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|

  • [WriteHalf - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 10.88 ns | 8.88 ns | 0.82 | 0.01 | False | | |

![graph]()
[Test Report]()

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

```cmd
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.BinaryWriterTests*'
```

### System.IO.Tests.BinaryWriterTests.WriteHalf

#### ETL Files

#### Histogram

#### JIT Disasms

### Docs

[Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md)
[Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the linked System.Memory benchmark source at src/benchmarks/micro/libraries/System.Memory/Span.cs lines 53-75 and review the Windows/x86 test report. Run the documented benchmarks_ci.py command for System.Memory.Span, then compare the baseline and test results to determine whether the reported improvements need a runtime change or only triage.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
performance
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.