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.
Release 3.0.0
We are happy to announce the latest WindowsPerf release version 3.0.0. This major release is a continuation of WindowsPerf development. It combines updates from release 2.5.1 and adds new features that were missed previously.
Highlights from the 3.0.0 Release
We’ve focused our efforts and brought you wperf record
command, stability improvements to wperf-driver
, fixes and improvements for timeline feature, ustress micro-benchmark test bench support, improved sampling JSON output format and more.
- We’ve introduced process spawn (for given core use
-c <N>
command line option) feature. Users can, when they count withwperf stat
or sample withwperf record
, spawn a process (and pass its command line parameters) on a given core.
Usewperf [stat|record] [options] [PROCESS] [ARGS]
command line option syntax to spawnPROCESS
with command lineARGS
. Read using the record command article for more details. - We’ve finalised aligning command line options. From this release all command line options
-option
are replaced with--option
. wperf will let you know you are missing one-
when invoking command line options old style. - Basic export to
perf.data
will be extended in the future releases and will include support for counting, sampling, recording, annotation, reporting. And more! Note: this can be limited by what host OS can provide and support.
WindowsPerf 3.0.0-beta release package
You can find the beta wperf-driver package based on version 3.0.0. Its driver mitigates pre-allocated GPCs (General Purpose Counters). Beta release sources are available as an archive here: windowsperf-src-3.0.0-beta.zip.
WindowsPerf releases update
We’re planning to have a major release every three months with the next release 4.0.0 coming in calendar Q1 2024. During the time between the releases, we will be able to implement 2-3 new major features (derived from our requirements), improve documentation, regression testing and fix issues.
In order to further improve the kernel driver dependability and reliability we will focus our efforts on the wperf-driver
component.
You can read more about previous releases here.
Where to find us?
For source code and binary releases please visit our WindowsPerf webpage at GitLab. Additional project resources include WindowsPerf Wiki and WindowsPerf JIRA project board.
If you have any questions, issues you would like to raise please visit our WindowsPerf GitLab issue page and create a new issue with a clear description of the problem you’re facing or issue you want help with.