dotnet / dotnet/perf-autofiling-issues

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

Open
#79,383 1 comment 0 reactions 0 assignees View on GitHub
arch-x64 branch-refs/heads/main compilationmode-tiered kind-micro 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 | x64
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]()
| 5.15 ns | 3.52 ns | 0.68 | 0.00 | False | | |
|
  • [EndsWith - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.14 ns | 3.81 ns | 0.74 | 0.01 | False | | |
|
  • [Fill - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 129.84 ns | 102.03 ns | 0.79 | 0.35 | 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: 4)

#### ETL Files

#### Histogram

#### JIT Disasms

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

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Int32>.Fill(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 | x64
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]()
| 4.88 ns | 3.52 ns | 0.72 | 0.01 | False | | |
|
  • [EndsWith - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.42 ns | 4.06 ns | 0.75 | 0.00 | False | | |

![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: 4)

#### ETL Files

#### Histogram

#### JIT Disasms

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

#### 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 | x64
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]()
| 10.29 ns | 8.89 ns | 0.86 | 0.13 | 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 | x64
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.03 ns | 8.40 ns | 0.84 | 0.03 | 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 src/benchmarks/micro/libraries/System.Memory/Span.cs at the cited benchmark lines, then run the provided benchmarks_ci.py filters for Span and Span. Compare the baseline and compare commits and inspect the linked reports to determine what changed. Done means explaining the measured improvements and identifying a justified runtime change or confirming that no action is needed.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
compilers, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.