dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/x64: 3 Improvements on 8/4/2026 8:53:30 PM +00:00

Open
#77,734 1 comment 0 reactions 0 assignees View on GitHub
aot-true arch-wasm arch-x64 bdn-update branch-refs/heads/main compilationmode-wasm kind-micro Look Again os-linux perf-improvement runkind-micro untriaged wasm-aot
Dominant language
No language data
Stars
10
Forks
8
PR merge metrics
PR metrics pending

Description

### Run Information

Name | Value
-- | --
Architecture | x64
OS | ubuntu 22.04
Queue | ViperUbuntu
Baseline | [2dd5330804f9d4f49599d82c90a67892d4dd8af0](https://github.com/dotnet/runtime/commit/2dd5330804f9d4f49599d82c90a67892d4dd8af0)
Compare | [173e6b40e02cd1652102c09e07bd4cf7320b3d4d](https://github.com/dotnet/runtime/commit/173e6b40e02cd1652102c09e07bd4cf7320b3d4d)
Diff | [Diff](https://github.com/dotnet/runtime/compare/2dd5330804f9d4f49599d82c90a67892d4dd8af0...173e6b40e02cd1652102c09e07bd4cf7320b3d4d)
Configs | AOT:true, CompilationMode:wasm, RunKind:micro

### Improvements in System.Collections.IterateForEach<Int32>

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

  • [ImmutableSortedDictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 93.45 μs | 82.72 μs | 0.89 | 0.14 | False | | |
|
  • [ImmutableSortedSet - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 93.83 μs | 83.64 μs | 0.89 | 0.13 | 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForEach*'
```

### System.Collections.IterateForEach<Int32>.ImmutableSortedDictionary(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.IterateForEach<Int32>.ImmutableSortedSet(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 | x64
OS | ubuntu 22.04
Queue | ViperUbuntu
Baseline | [2dd5330804f9d4f49599d82c90a67892d4dd8af0](https://github.com/dotnet/runtime/commit/2dd5330804f9d4f49599d82c90a67892d4dd8af0)
Compare | [173e6b40e02cd1652102c09e07bd4cf7320b3d4d](https://github.com/dotnet/runtime/commit/173e6b40e02cd1652102c09e07bd4cf7320b3d4d)
Diff | [Diff](https://github.com/dotnet/runtime/compare/2dd5330804f9d4f49599d82c90a67892d4dd8af0...173e6b40e02cd1652102c09e07bd4cf7320b3d4d)
Configs | AOT:true, CompilationMode:wasm, RunKind:micro

### Improvements in System.Collections.CtorFromCollection<Int32>

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

  • [ImmutableList - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 84.39 μs | 27.29 μs | 0.32 | 0.12 | 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorFromCollection*'
```

### System.Collections.CtorFromCollection<Int32>.ImmutableList(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)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with src/benchmarks/micro/libraries/System.Collections/Iterate/IterateForEach.cs and Create/CtorFromCollection.cs, then run the provided benchmarks_ci.py filters. Review the linked performance and test reports for the AOT WebAssembly improvements; done means determining whether the changes are intentional and validating any follow-up with the benchmark workflow.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, linux, python, wasm
Domain
performance, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.