Skip to content

Latest commit

 

History

History
58 lines (39 loc) · 1.4 KB

File metadata and controls

58 lines (39 loc) · 1.4 KB

TestNet - .NET 8/9/10 Console Benchmarks

This repo contains three equivalent console apps targeting .NET 8, .NET 9, and .NET 10 to compare runtime performance on the same machine.

What’s inside

  • Net8App/PerformanceTest - benchmark runner for .NET 8
  • Net9App/PerformanceTest - benchmark runner for .NET 9
  • Net10App/PerformanceTest - benchmark runner for .NET 10
  • ResultsComparator - prints a side-by-side comparison (based on the latest run outputs)
  • DotNet_Performance.md - writeup (Markdown)

Requirements

  • Windows / Linux / macOS
  • .NET SDKs installed:
    • .NET 8 SDK
    • .NET 9 SDK
    • .NET 10 SDK

Verify:

dotnet --list-sdks

Run benchmarks

From 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.csproj

Each run prints a summary to console and also writes a JSON file into BenchmarkResults/.

Compare results

dotnet run --project ResultsComparator/ResultsComparator.csproj

Notes for stable benchmarking

  • Run in Release mode.
  • Close heavy background apps.
  • Run each benchmark multiple times and compare medians.
  • Prefer running on the same power plan / CPU governor.

Author

Pavel Dikalov

License

MIT. See LICENSE.