dotnet / dotnet/perf-autofiling-issues
[Perf] Linux/x64: 17 Improvements on 6/16/2026 6:17:36 PM +00:00
- 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 | [98d5787a726f050c592e7c126c6ab62b1954288c](https://github.com/dotnet/runtime/commit/98d5787a726f050c592e7c126c6ab62b1954288c)
Compare | [4b211ba77ff3bfa4b7d2ba0c873e6bd337b6c6f0](https://github.com/dotnet/runtime/commit/4b211ba77ff3bfa4b7d2ba0c873e6bd337b6c6f0)
Diff | [Diff](https://github.com/dotnet/runtime/compare/98d5787a726f050c592e7c126c6ab62b1954288c...4b211ba77ff3bfa4b7d2ba0c873e6bd337b6c6f0)
Configs | CompilationMode:tiered, LLVM:false, MonoAOT:false, MonoInterpreter:false, RunKind:micro_mono
### Improvements in System.Net.Security.Tests.SslStreamTests
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [DefaultHandshakeIPv6Async - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [DefaultHandshakePipeAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [DefaultHandshakeIPv4Async - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [DefaultMutualHandshakeContextIPv6Async - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [DefaultMutualHandshakeIPv6Async - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [DefaultMutualHandshakeContextIPv4Async - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [DefaultMutualHandshakeIPv4Async - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [HandshakeECDSA256CertAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [HandshakeECDSA256CertAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [DefaultHandshakeContextIPv4Async - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [DefaultHandshakeContextIPv6Async - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [HandshakeRSA2048CertAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [HandshakeRSA2048CertAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [HandshakeECDSA512CertAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [HandshakeECDSA512CertAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![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
Repro Steps
#### Prerequisites (Build files either built locally or downloaded from payload above)
- Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0`
- CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0`
- Mono Runtime build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release `
- Dotnet SDK installed for dotnet commands
- Running commands from the runtime folder
Linux
```cmd
# Set $RunDir to the runtime directory
RunDir=`pwd`
# Set the OS, arch, and OSId
RunOS='linux'
RunOSId='linux'
RunArch='x64'
# Create mono dotnet
mkdir -p $RunDir/artifacts/dotnet-mono
$RunDir/build.sh -subset libs.pretest -configuration release -ci -arch $RunArch -testscope innerloop /p:RuntimeArtifactsPath=$RunDir/artifacts/bin/mono/$RunOS.$RunArch.Release /p:RuntimeFlavor=mono
cp $RunDir/artifacts/bin/runtime/net8.0-$RunOS-Release-$RunArch/* $RunDir/artifacts/bin/testhost/net8.0-$RunOS-Release-$RunArch/shared/Microsoft.NETCore.App/8.0.0 -rf
cp $RunDir/artifacts/bin/testhost/net8.0-$RunOS-Release-$RunArch/* $RunDir/artifacts/dotnet-mono -r
cp $RunDir/artifacts/bin/coreclr/$RunOS.$RunArch.Release/corerun $RunDir/artifacts/dotnet-mono/shared/Microsoft.NETCore.App/8.0.0/corerun
# Create Core Root
$RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release
# Clone performance
git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance
# One line run:
python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Net.Security.Tests.SslStreamTests*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoInterpreter NoMono --logBuildOutput --generateBinLog --corerun $RunDir/artifacts/dotnet-mono/shared/Microsoft.NETCore.App/8.0.0/corerun"
# Individual Commands:
# Restore
dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1
# Build
dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1
# Run
dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter 'System.Net.Security.Tests.SslStreamTests*' --anyCategories Libraries Runtime " --category-exclusion-filter NoInterpreter NoMono --logBuildOutput --generateBinLog --corerun $RunDir/artifacts/dotnet-mono/shared/Microsoft.NETCore.App/8.0.0/corerun --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages
```
Windows
```cmd
# Set $RunDir to the runtime directory
$RunDir="FullPathHere"
# Set the OS, arch, and OSId
RunOS='windows'
RunOSId='win'
RunArch='x64'
# Create mono dotnet
mkdir -p $RunDir/artifacts/dotnet-mono
$RunDir/build.sh -subset libs.pretest -configuration release -ci -arch $RunArch -testscope innerloop /p:RuntimeArtifactsPath=$RunDir\artifacts\bin\mono\$RunOS.$RunArch.Release /p:RuntimeFlavor=mono
xcopy $RunDir\artifacts\bin\runtime\net8.0-$RunOS-Release-$RunArch\ $RunDir\artifacts\bin\testhost\net8.0-$RunOS-Release-$RunArch\shared\Microsoft.NETCore.App\8.0.0\ /e /y
xcopy $RunDir\artifacts\bin\testhost\net8.0-$RunOS-Release-$RunArch\ $RunDir\artifacts\dotnet-mono\ /e /y
xcopy $RunDir\artifacts\bin\coreclr\$RunOS.$RunArch.Release\corerun $RunDir\artifacts\dotnet-mono\shared\Microsoft.NETCore.App\8.0.0\corerun /y
# Create Core Root
$RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release
# Clone performance
git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance
# One line run:
python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Net.Security.Tests.SslStreamTests*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoInterpreter NoMono --logBuildOutput --generateBinLog --corerun $RunDir\artifacts\dotnet-mono\shared\Microsoft.NETCore.App\8.0.0\corerun.exe"
# Individual Commands:
# Restore
dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1
# Build
dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1
# Run
dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter 'System.Net.Security.Tests.SslStreamTests*' --anyCategories Libraries Runtime " --category-exclusion-filter NoInterpreter NoMono --logBuildOutput --generateBinLog --corerun $RunDir\artifacts\dotnet-mono\shared\Microsoft.NETCore.App\8.0.0\corerun.exe --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages
```
### System.Net.Security.Tests.SslStreamTests.DefaultHandshakeIPv6Async
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Net.Security.Tests.SslStreamTests.DefaultHandshakePipeAsync
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Net.Security.Tests.SslStreamTests.DefaultHandshakeIPv4Async
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Net.Security.Tests.SslStreamTests.DefaultMutualHandshakeContextIPv6Async
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Net.Security.Tests.SslStreamTests.DefaultMutualHandshakeIPv6Async
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Net.Security.Tests.SslStreamTests.DefaultMutualHandshakeContextIPv4Async
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Net.Security.Tests.SslStreamTests.DefaultMutualHandshakeIPv4Async
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Net.Security.Tests.SslStreamTests.HandshakeECDSA256CertAsync(protocol: Tls13)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Net.Security.Tests.SslStreamTests.HandshakeECDSA256CertAsync(protocol: Tls12)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Net.Security.Tests.SslStreamTests.DefaultHandshakeContextIPv4Async
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Net.Security.Tests.SslStreamTests.DefaultHandshakeContextIPv6Async
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Net.Security.Tests.SslStreamTests.HandshakeRSA2048CertAsync(protocol: Tls13)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Net.Security.Tests.SslStreamTests.HandshakeRSA2048CertAsync(protocol: Tls12)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Net.Security.Tests.SslStreamTests.HandshakeECDSA512CertAsync(protocol: Tls12)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Net.Security.Tests.SslStreamTests.HandshakeECDSA512CertAsync(protocol: Tls13)
#### 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 | [98d5787a726f050c592e7c126c6ab62b1954288c](https://github.com/dotnet/runtime/commit/98d5787a726f050c592e7c126c6ab62b1954288c)
Compare | [4b211ba77ff3bfa4b7d2ba0c873e6bd337b6c6f0](https://github.com/dotnet/runtime/commit/4b211ba77ff3bfa4b7d2ba0c873e6bd337b6c6f0)
Diff | [Diff](https://github.com/dotnet/runtime/compare/98d5787a726f050c592e7c126c6ab62b1954288c...4b211ba77ff3bfa4b7d2ba0c873e6bd337b6c6f0)
Configs | CompilationMode:tiered, LLVM:false, MonoAOT:false, MonoInterpreter:false, RunKind:micro_mono
### Improvements in System.Security.Cryptography.X509Certificates.Tests.X509ChainTests
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [BuildX509ChainContoso - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [BuildX509ChainSelfSigned - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
![graph]()
![graph]()
[Test Report]()
### Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Repro Steps
#### Prerequisites (Build files either built locally or downloaded from payload above)
- Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0`
- CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0`
- Mono Runtime build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release `
- Dotnet SDK installed for dotnet commands
- Running commands from the runtime folder
Linux
```cmd
# Set $RunDir to the runtime directory
RunDir=`pwd`
# Set the OS, arch, and OSId
RunOS='linux'
RunOSId='linux'
RunArch='x64'
# Create mono dotnet
mkdir -p $RunDir/artifacts/dotnet-mono
$RunDir/build.sh -subset libs.pretest -configuration release -ci -arch $RunArch -testscope innerloop /p:RuntimeArtifactsPath=$RunDir/artifacts/bin/mono/$RunOS.$RunArch.Release /p:RuntimeFlavor=mono
cp $RunDir/artifacts/bin/runtime/net8.0-$RunOS-Release-$RunArch/* $RunDir/artifacts/bin/testhost/net8.0-$RunOS-Release-$RunArch/shared/Microsoft.NETCore.App/8.0.0 -rf
cp $RunDir/artifacts/bin/testhost/net8.0-$RunOS-Release-$RunArch/* $RunDir/artifacts/dotnet-mono -r
cp $RunDir/artifacts/bin/coreclr/$RunOS.$RunArch.Release/corerun $RunDir/artifacts/dotnet-mono/shared/Microsoft.NETCore.App/8.0.0/corerun
# Create Core Root
$RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release
# Clone performance
git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance
# One line run:
python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Security.Cryptography.X509Certificates.Tests.X509ChainTests*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoInterpreter NoMono --logBuildOutput --generateBinLog --corerun $RunDir/artifacts/dotnet-mono/shared/Microsoft.NETCore.App/8.0.0/corerun"
# Individual Commands:
# Restore
dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1
# Build
dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1
# Run
dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter 'System.Security.Cryptography.X509Certificates.Tests.X509ChainTests*' --anyCategories Libraries Runtime " --category-exclusion-filter NoInterpreter NoMono --logBuildOutput --generateBinLog --corerun $RunDir/artifacts/dotnet-mono/shared/Microsoft.NETCore.App/8.0.0/corerun --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages
```
Windows
```cmd
# Set $RunDir to the runtime directory
$RunDir="FullPathHere"
# Set the OS, arch, and OSId
RunOS='windows'
RunOSId='win'
RunArch='x64'
# Create mono dotnet
mkdir -p $RunDir/artifacts/dotnet-mono
$RunDir/build.sh -subset libs.pretest -configuration release -ci -arch $RunArch -testscope innerloop /p:RuntimeArtifactsPath=$RunDir\artifacts\bin\mono\$RunOS.$RunArch.Release /p:RuntimeFlavor=mono
xcopy $RunDir\artifacts\bin\runtime\net8.0-$RunOS-Release-$RunArch\ $RunDir\artifacts\bin\testhost\net8.0-$RunOS-Release-$RunArch\shared\Microsoft.NETCore.App\8.0.0\ /e /y
xcopy $RunDir\artifacts\bin\testhost\net8.0-$RunOS-Release-$RunArch\ $RunDir\artifacts\dotnet-mono\ /e /y
xcopy $RunDir\artifacts\bin\coreclr\$RunOS.$RunArch.Release\corerun $RunDir\artifacts\dotnet-mono\shared\Microsoft.NETCore.App\8.0.0\corerun /y
# Create Core Root
$RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release
# Clone performance
git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance
# One line run:
python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Security.Cryptography.X509Certificates.Tests.X509ChainTests*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoInterpreter NoMono --logBuildOutput --generateBinLog --corerun $RunDir\artifacts\dotnet-mono\shared\Microsoft.NETCore.App\8.0.0\corerun.exe"
# Individual Commands:
# Restore
dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1
# Build
dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1
# Run
dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter 'System.Security.Cryptography.X509Certificates.Tests.X509ChainTests*' --anyCategories Libraries Runtime " --category-exclusion-filter NoInterpreter NoMono --logBuildOutput --generateBinLog --corerun $RunDir\artifacts\dotnet-mono\shared\Microsoft.NETCore.App\8.0.0\corerun.exe --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages
```
### System.Security.Cryptography.X509Certificates.Tests.X509ChainTests.BuildX509ChainContoso
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Security.Cryptography.X509Certificates.Tests.X509ChainTests.BuildX509ChainSelfSigned
#### 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 run information and baseline/compare commits, then inspect the referenced benchmark entries in src/benchmarks/micro/libraries/System.Net.Security/SslStreamTests.cs, SslStreamTests.Context.cs, and SslStreamTests.Protocols.cs. Re-run the listed Linux/x64 Mono benchmarks and compare the results; done means identifying and documenting an actionable cause for the reported improvements.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, linux
- Domain
- performance, testing
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100