Windows Perf (WPERF)
Nov 22, 2023 Release 3.2.1. See release notes here.
Oct 16, 2023 Release 3.2.0. See release notes here.
Sep 13, 2023 Released 3.0.0. See release notes here.
Aug 2, 2023 Released 2.5.1. See release notes here.
Jul 26, 2023 Released 2.5.0. See release notes here.
Apr 12, 2023 Released 2.4.0. See release notes here.
Dec 31, 2022 First major release of Windows Perf. See more info in Gitlab.
Nov 1, 2022 Code is open sourced and the team is picking up speed
Sep 16, 2022 Project work process and Jira cards created for initial work.
Introduction
WindowsPerf is a (Linux perf inspired) lightweight Windows on Arm performance profiling tool. Profiling is based on ARM64 PMU (Performance Monitor Unit) and its hardware counters. Currently, WindowsPerf is in the early stages of development, but it already supports the counting model for obtaining aggregate counts of occurrences of special events, and sampling model for determining the frequencies of event occurrences produced by program locations at the function, basic block, and/or instruction levels.
WindowsPerf is using a custom Kernel mode driver model to pass Windows Kernel API limitations such as lack of counter multiplexing or support for custom IP blocks. We are currently driving our architecture to a device-tree like approach which will allow users to create from template their own Kernel driver and instrument counters in their own custom IP block on WOA.
WindowsPerf can instrument Arm PMU performance counters. As of now, it can also collect:
Core PMU counters for all or specified CPU core, this includes core PMU counting, event multiplexing & grouping, and timeline mode.
unCore PMU counters, now system cache (DSU-520) and DRAM (DMC-620) are supported.
WindowsPerf sub-projects
WindowsPerf VS-extension (aka WindowsPerf GUI): https://gitlab.com/Linaro/WindowsPerf/vs-extension
Please visit project’s Wiki: https://gitlab.com/Linaro/WindowsPerf/vs-extension/-/wikis/home
WPA-plugin (aka WindowsPerf plotting): https://gitlab.com/Linaro/WindowsPerf/wpa-plugin
Related Projects
https://linaro.atlassian.net/wiki/spaces/WOAR
https://linaro.atlassian.net/wiki/spaces/CLIENTPC
Roadmap
Current Plan
Backlog
Accomplished
Active Members
Project Meetings
Meetings are held every Monday at UTC 15:00
Meeting Notes
Project Contacts
Project Lead: Everton Constantino
Product Owner: Przemyslaw Wirkus
Project manager: Julianus Larson
Tech Lead / Performance and Enablement: Lina Iyer
Team mailing list wperf@linaro.org
Source Code
Blogs
Resources