A single SKILL.md of .NET 10-11 performance tuning tips for AI coding agents, aimed mainly at benchmark workloads.
microsoft/perfview
A free Windows tool for isolating CPU and memory performance problems, with special support for investigating .NET runtime code.
- Stars
- 4,779
- Forks
- 781
- Open issues
- 90
- Last commit
- yesterday
What is it?
PerfView is a free performance-analysis tool for isolating CPU and memory-related performance issues. It runs on Windows and includes some support for analyzing data collected on Linux machines. It covers a wide range of scenarios and has dedicated features for investigating code running on the .NET runtime.
PerfView is built on the Microsoft.Diagnostics.Tracing.TraceEvent library, which collects and parses Event Tracing for Windows (ETW) and EventPipe (.NET Core trace) data. Developers who want to process the same collected information programmatically can use TraceEvent directly.
The project is written in C#. Building it requires Visual Studio 2026 with the .NET desktop and C++ workloads, and the resulting PerfView.exe is a single file that can be copied and deployed directly.
Key features
- 01Collects and analyzes CPU and memory performance data on Windows.
- 02Provides special analysis features for code running on the .NET runtime.
- 03Includes a built-in extension mechanism with sample extensions.
- 04Offers the TraceEvent library for programmatic access to ETW and EventPipe data.
- 05Ships as a single executable that can be deployed by copying one file.
Use cases
- Diagnosing high CPU usage or slow code in a .NET application on Windows.
- Investigating memory growth and garbage collection behavior in .NET services.
- Analyzing performance traces collected on Linux machines.
- Building custom tooling that parses ETW or EventPipe trace data with TraceEvent.
Quick start
- 1
Download PerfView from the download page (no package-manager install documented)
- 2
Build from source: open PerfView.sln in Visual Studio 2026 and build, or run build.cmd from the repository root
build.cmd
Things to know
- Windows tool; it has only limited support for analyzing data collected on Linux.
- Requires Windows 10 or Windows Server 2016 or later, and .NET Framework 4.7.2 or later.
- No native ARM64 build of PerfView is available.
- Building from source requires Visual Studio 2026 with specific C++ and Windows SDK components.
Topics
FAQ
- What is perfview?
- A free Windows tool for isolating CPU and memory performance problems, with special support for investigating .NET runtime code. PerfView is a free performance-analysis tool for isolating CPU and memory-related performance issues. It runs on Windows and includes some support for analyzing data collected on Linux machines. It covers a wide range of scenarios and has dedicated features for investigating code running on the .NET runtime.
- Is perfview free to use? What license does it have?
- perfview is open source under the MIT license. Check the license terms before using it in commercial products.
- Is perfview still maintained?
- Actively maintained. The last commit to perfview was on Nov 6, 2026.
- What can I use perfview for?
- Diagnosing high CPU usage or slow code in a .NET application on Windows. Investigating memory growth and garbage collection behavior in .NET services. Analyzing performance traces collected on Linux machines. Building custom tooling that parses ETW or EventPipe trace data with TraceEvent.
- How do I install perfview?
- Download PerfView from the download page (no package-manager install documented) Build from source: open PerfView.sln in Visual Studio 2026 and build, or run build.cmd from the repository root: build.cmd
- Where can I get perfview?
- The source code and installation instructions are on GitHub: https://github.com/microsoft/perfview
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A command-line and web tool for visualizing and analyzing profiling data in the profile.proto format.
A .NET library for turning C# methods into reproducible benchmarks, with automatic warm-up, statistics and result reports.
A free, open-source Windows PDF editor with a built-in PDF 2.0 engine for viewing, annotating, OCR, merging, splitting, signing and more.
A Rust-based flamegraph generator that profiles Cargo projects or any binary using perf, xctrace, or dtrace/blondie, without Perl.
A sampling profiler for Python programs that attaches to running processes without modifying code or restarting them.