Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
Servers and Cloud Computing blog Announcing WindowsPerf: Open-source performance analysis tool for Windows on Arm
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded and Microcontrollers blog

  • Internet of Things (IoT) blog

  • Laptops and Desktops blog

  • Mobile, Graphics, and Gaming blog

  • Operating Systems blog

  • Servers and Cloud Computing blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • laptop
  • performance analysis
  • Application developers
  • azure
  • Windows
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Announcing WindowsPerf: Open-source performance analysis tool for Windows on Arm

Przemyslaw Wirkus
Przemyslaw Wirkus
December 8, 2022
3 minute read time.

The Windows on Arm ecosystem continues to grow.

Microsoft has recently announced general availability of Azure Virtual Machines featuring the Ampere Altra Arm-based processor. Windows Dev Kit 2023, known as Project Volterra allows developers to bring app development for Windows on Arm to a capable Windows on Arm device. And the Surface Pro 9 brings together performance and battery life built on the Microsoft SQ 3 processor.

Now is a great time to be a developer for on Arm. We are seeing more applications not only run on Arm-based platforms, but run with market leading performance and power consumption. Unlocking excellent application performance on Arm is becoming more necessary than ever!

We are supporting developers to get the most from their Arm-based platforms through our commitment to developing performance analysis methodologies. This includes supporting tooling, like Linux perf and Arm Streamline Performance Analyzer, for both Windows and Linux.

In this blog, we are excited to introduce WindowsPerf; an open-source tool for performance analysis we are seeding in partnership with Microsoft and Linaro’s Windows on Arm project.

“The momentum for Windows on Arm continues to grow with the availability of Windows Dev Kit 2023, the launch of Surface Pro 9 5G and the release of Visual Studio 2022 17.4 with a fully supported Arm64 version. The community led WindowsPerf project is an important addition to the growing suite of tools available for developers to deliver the very best experiences for Windows on Arm and we are excited to see how the project develops,” said Marcus Perryman, Principal Engineer, Windows Team, Microsoft.

"The Opensource Arm ecosystem continues its adoption of the Windows platform, and after a year of enablement, the focus at Linaro is starting to address the performance of the applications. The WPERF project is another example of collaboration rising to meet the need, in this case, the need for a performance analysis tool to enable developers to extract the most from the platform," said Mike Holmes, Chair of the Linaro Windows Group & Director Performance and Enablement at Linaro.

What is WindowsPerf?

WindowsPerf aspires to be similar to Linux perf.  The project consists of two parts: a kernel-mode driver and a user-space command-line tool. The command-line tool adopts the same style as Linux perf command line.

Currently, WindowsPerf is in the early stages of development, but already supports the counting model for obtaining aggregate counts of occurrences of special events. Soon, we will support the sampling model for determining the frequencies of event occurrences produced by program locations at the function, basic block, and instruction levels.

WindowsPerf can instrument Arm CPU performance counters. As of now, it can collect:

  • core PMU counters for all or specified CPU core.
  • unCore PMU counters, now system cache (DSU-520) and DRAM (DMC-620) are supported.

This command-line tool allows users to take advantage of event grouping, event multiplexing, and timeline mode.

How do you get and use it?

You can find WindowsPerf on Linaro Gitlab: https://gitlab.com/Linaro/WindowsPerf/windowsperf

Or visit our Wiki here: https://linaro.atlassian.net/wiki/spaces/WPERF/overview

You can now count events on your WoA machine. Use wperf list command to display list of pre-defined events available. You can specify up to 127 events, wperf will multiplex them as seen below.

WindowsPerf Multiplex Code Output for Event Counting

In this example count events using pre-defined metrics.

WindowsPerf Multiplex Code Output for Event Counting with Pre Defined Metrics

For detailed usage with examples, please visit our GitLab website.

Call to action

We are excited to seed the WindowsPerf community, and hope over time we can build the capabilities of the tool to provide developers with everything they need to get great performance. This includes diverse set of tools, languages, and runtimes supported on Windows on Arm.

You can help us improve WindowsPerf by just trying the tool on your WoA machine, raising bugs, suggesting improvements, or contributing directly to the project’s documentation or code. We want to be as transparent as possible, which is why we are working on sharing our Jira projects backlog with everyone.

Visit the GitLab page to get access to the project’s documentation, source code, details on how to build project, contribution process and more.

Checkout WindowsPerf GitLab

Anonymous
Servers and Cloud Computing blog
  • Migrating our GenAI pipeline to AWS Graviton powered by Arm Neoverse: A 40% cost reduction story

    Hrudu Shibu
    Hrudu Shibu
    This blog post explains how Esankethik.com, an IT and AI solutions company, successfully migrated its internal GenAI pipeline to AWS Graviton Arm64.
    • August 28, 2025
  • Using GitHub Arm-hosted runners to install Arm Performance Libraries

    Waheed Brown
    Waheed Brown
    In this blog post, learn how Windows developers can set up and use Arm-hosted Windows runners in GitHub Action.
    • August 21, 2025
  • Distributed Generative AI Inference on Arm

    Waheed Brown
    Waheed Brown
    As generative AI becomes more efficient, large language models (LLMs) are likewise shrinking in size. This creates new opportunities to run LLMs on more efficient hardware, on cloud machines doing AI inference…
    • August 18, 2025