Linaro Logo

WindowsPerf Release 3.0.0

 Przemyslaw Wirkus

Przemyslaw Wirkus

Monday, October 23, 20233 min read

Submit

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 with wperf stator sample with wperf record, spawn a process (and pass its command line parameters) on a given core.
    Use wperf [stat|record] [options] [PROCESS] [ARGS] command line option syntax to spawn PROCESS with command line ARGS. 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.