This repo contains three equivalent console apps targeting .NET 8, .NET 9, and .NET 10 to compare runtime performance on the same machine.
Net8App/PerformanceTest- benchmark runner for .NET 8Net9App/PerformanceTest- benchmark runner for .NET 9Net10App/PerformanceTest- benchmark runner for .NET 10ResultsComparator- prints a side-by-side comparison (based on the latest run outputs)DotNet_Performance.md- writeup (Markdown)
- Windows / Linux / macOS
- .NET SDKs installed:
- .NET 8 SDK
- .NET 9 SDK
- .NET 10 SDK
Verify:
dotnet --list-sdksFrom repo root:
dotnet run -c Release --project Net8App/PerformanceTest/PerformanceTest.csproj
dotnet run -c Release --project Net9App/PerformanceTest/PerformanceTest.csproj
dotnet run -c Release --project Net10App/PerformanceTest/PerformanceTest.csprojEach run prints a summary to console and also writes a JSON file into BenchmarkResults/.
dotnet run --project ResultsComparator/ResultsComparator.csproj- Run in
Releasemode. - Close heavy background apps.
- Run each benchmark multiple times and compare medians.
- Prefer running on the same power plan / CPU governor.
Pavel Dikalov
MIT. See LICENSE.