Benchmarking .NET 8 applications on Windows on Arm
Introduction
Measuring performance of the .NET apps
Custom benchmarks
Next Steps
Benchmarking .NET 8 applications on Windows on Arm
Who is this for?
This learning path is for developers who want to benchmark the performance of the .NET 8 applications on Windows on Arm (WoA).
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Build and run .NET 8 Console Applications
- Benchmark .NET applications
- Implement custom performance benchmarks
Prerequisites
Before starting, you will need the following:
- A Windows on Arm computer such as the Lenovo Thinkpad X13s running Windows 11 or a Windows on Arm virtual machine .
- .NET 8 SDK for x64 and arm64 .
- Any code editor, we recommend using Visual Studio Code for Arm64 .
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
You’ll build and run a .NET 8 console application on Windows on Arm, then add targeted benchmarks. First, you’ll clone a sample repository and use
System.Diagnostics.Stopwatch with the PerformanceTests class to time focused code paths. Then, you’ll review the output, compare results across builds, and develop a repeatable approach for measuring your own .NET benchmarks.Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
The introduction includes a quick check to confirm the installation. Complete that verification step before cloning or running the sample application.
Both x64 and arm64 SDKs are listed so you can build as directed when comparing results. Follow the step instructions to choose the SDK for each build.
Clone the repository from
Github
. It contains the console app scaffold and the benchmarking helpers you use.
Add or modify test cases in the
PerformanceTests class. Use the reusable methods from PerformanceHelper to time your code with System.Diagnostics.Stopwatch.The console application prints timing results for each test. You should see execution time measurements that you can compare across runs or builds as instructed.