You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/install-guides/wperf.md
+53-57Lines changed: 53 additions & 57 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,18 +30,15 @@ multitool_install_part: false # Set to true if a sub-page of a multi-page arti
30
30
layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles
31
31
---
32
32
33
-
WindowsPerf is an open-source command line tool for performance analysis on Windows on Arm devices.
33
+
WindowsPerf is (Linux perf inspired) Windows on Arm performance profiling tool. Profiling is based on ARM64 PMU and its hardware counters. WindowsPerf 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 an open-source project hosted on [GitHub](https://github.com/arm-developer-tools/windowsperf).
34
34
35
-
WindowsPerf consists of a kernel-mode driver and a user-space command-line tool, or [VS Code Extension](#vscode). The command-line tool is modeled after the Linux `perf` command.
35
+
WindowsPerf consists of a kernel-mode driver and a user-space command-line tool. The WindowsPerf command line tool can be seamlessly integrated with both the [WindowsPerf Visual Studio Extension](#vs2022) and the [WindowsPerf VS Code Extension](#vscode). These extensions, which can be downloaded from the Visual Studio Marketplace, enhance the functionality of WindowsPerf by providing a more user-friendly interface and additional features for performance analysis and debugging. This integration allows developers to efficiently analyze and optimize their applications directly within their preferred development environment.
36
36
37
-
WindowsPerf includes a **counting model** for counting events such as cycles, instructions, and cache events and a **sampling model** to understand how frequently events occur.
38
37
39
38
{{% notice Virtual Machines%}}
40
39
WindowsPerf cannot be used on virtual machines, such as cloud instances.
41
40
{{% /notice %}}
42
41
43
-
You can interact with the
44
-
45
42
## Visual Studio and the Windows Driver Kit (WDK)
46
43
47
44
WindowsPerf relies on `dll` files installed with Visual Studio (Community Edition or higher) and (optionally) installers from the Windows Driver Kit extension.
@@ -52,16 +49,17 @@ See also the [Visual Studio for Windows on Arm install guide](/install-guides/vs
52
49
53
50
## Download WindowsPerf
54
51
55
-
The latest release package `windowsperf-bin-<version>.zip` can be downloaded from the Linaro GitLab repository:
52
+
The latest release package `windowsperf-bin-<version>.zip` can be downloaded from the Arm GitHub repository:
In addition to the command-line tools, `WindowsPerf` is available on the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Arm.windowsperf).
76
-
77
-
Install by opening the `Extensions` view (`Ctrl`+`Shift`+`X`) and searching for `WindowsPerf`. Click `Install`.
78
-
79
-
Open `Settings` (`Ctrl`+`,`) > `Extensions` > `WindowsPerf`, and specify the path to the `wperf` executable.
80
-
81
-
{{% notice Non-Windows on Arm host%}}
82
-
You can only generate reports from a Windows on Arm device.
83
-
84
-
If using a non-Windows on Arm host, you can import and analyze `WindowsPerf` JSON reports from such devices.
85
-
86
-
You do not need to install `wperf` on non-Windows on Arm devices.
87
-
{{% /notice %}}
88
-
89
-
90
71
## Install wperf driver
91
72
92
-
You can install the kernel driver using either the Visual Studio [devcon](#devcon_install) utility or the supplied [installer](#devgen_install).
73
+
You can install the kernel driver using supplied [wperf-devgen](#devgen_install) installer.
74
+
75
+
The [wperf-devgen](https://github.com/arm-developer-tools/windowsperf/blob/main/wperf-devgen/README.md) tool has been designated as the preferred installer and uninstaller for the WindowsPerf Kernel Driver in the latest release. This tool offers a simple process for managing the installation and removal of the driver.
93
76
94
77
{{% notice Note%}}
95
78
You must install the driver as `Administrator`.
@@ -102,22 +85,6 @@ Navigate to the `windowsperf-bin-<version>` directory.
102
85
cd windowsperf-bin-3.8.0
103
86
```
104
87
105
-
### Install with devcon {#devcon_install}
106
-
107
-
Navigate into the `wperf-driver` folder, and use `devcon` to install the driver:
108
-
109
-
```command
110
-
cd wperf-driver
111
-
devcon install wperf-driver.inf Root\WPERFDRIVER
112
-
```
113
-
You will see output similar to:
114
-
115
-
```output
116
-
Device node created. Install is complete when drivers are installed...
117
-
Updating drivers for Root\WPERFDRIVER from <path>\wperf-driver.inf.
118
-
Drivers installed successfully.
119
-
```
120
-
121
88
### Install with wperf-devgen {#devgen_install}
122
89
123
90
Navigate to the `wperf-driver` folder and run the installer:
@@ -158,25 +125,12 @@ You should see output similar to:
158
125
159
126
## Uninstall wperf driver
160
127
161
-
You can uninstall (aka "remove") the kernel driver using either the Visual Studio [devcon](#devcon_uninstall) utility or the supplied [installer](#devgen_uninstall).
128
+
You can uninstall (aka "remove") the kernel driver using supplied [wperf-devgen](#devgen_uninstall) uninstaller.
162
129
163
130
{{% notice Note%}}
164
131
You must uninstall the driver as `Administrator`.
165
132
{{% /notice %}}
166
133
167
-
### Uninstall with devcon {#devcon_uninstall}
168
-
169
-
Below command removes the device from the device tree and deletes the device stack for the device. As a result of these actions, child devices are removed from the device tree and the drivers that support the device are unloaded. See [DevCon Remove](https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/devcon-remove) article for more details.
170
-
171
-
```command
172
-
devcon remove wperf-driver.inf Root\WPERFDRIVER
173
-
```
174
-
You should see output similar to:
175
-
```output
176
-
ROOT\SYSTEM\0001 : Removed
177
-
1 device(s) were removed.
178
-
```
179
-
180
134
### Uninstall with wperf-devgen {#devgen_uninstall}
181
135
182
136
```command
@@ -192,6 +146,48 @@ Trying to remove driver <path>\wperf-driver.inf.
192
146
Driver removed successfully.
193
147
```
194
148
149
+
## Install WindowsPerf Virtual Studio Extension (optional) {#vs2022}
150
+
151
+
WindowsPerf GUI (Graphical User Interface) project, a Visual Studio 2022 extension designed to bring a seamless UI experience to WindowsPerf, the command-line performance profiling tool for Windows on Arm. Extension is available on the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=Arm.WindowsPerfGUI).
152
+
153
+
Install by opening `Extensions` menu, select `Manage Extensions` and click `Browse`. Type `WindowsPerf` to search for Arm WindowsPerf GUI extension. Click `Install`.
154
+
155
+
{{% notice How to set up wperf.exe path in the extension%}}
156
+
In order to set the path to the `wperf.exe` executable, go to `Tools -> Options -> WindowsPerf -> WindowsPerf Path` and set the absolute path to the wperf.exe executable and then on the Validate button.
157
+
{{% /notice %}}
158
+
159
+
Also, visit WindowsPerf GUI project website on [GitHub](https://github.com/arm-developer-tools/windowsperf-vs-extension) for more details and latest updates.
160
+
161
+
## Install WindowsPerf VS Code Extension (optional) {#vscode}
162
+
163
+
In addition to the command-line tools, `WindowsPerf` is available on the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Arm.windowsperf).
164
+
165
+
Install by opening the `Extensions` view (`Ctrl`+`Shift`+`X`) and searching for `WindowsPerf`. Click `Install`.
166
+
167
+
Open `Settings` (`Ctrl`+`,`) > `Extensions` > `WindowsPerf`, and specify the path to the `wperf` executable.
168
+
169
+
{{% notice Non-Windows on Arm host%}}
170
+
You can only generate reports from a Windows on Arm device.
171
+
172
+
If using a non-Windows on Arm host, you can import and analyze `WindowsPerf` JSON reports from such devices.
173
+
174
+
You do not need to install `wperf` on non-Windows on Arm devices.
175
+
{{% /notice %}}
176
+
195
177
## Further reading
196
178
197
-
[Announcing WindowsPerf: Open-source performance analysis tool for Windows on Arm](https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/announcing-windowsperf)
179
+
### WindowsPerf
180
+
181
+
-[WindowsPerf Release 3.7.2 blog post](https://www.linaro.org/blog/expanding-profiling-capabilities-with-windowsperf-372-release)
182
+
-[WindowsPerf Release 3.3.0 blog post](https://www.linaro.org/blog/windowsperf-release-3-3-0/)
183
+
-[WindowsPerf Release 3.0.0 blog post](https://www.linaro.org/blog/windowsperf-release-3-0-0/)
184
+
-[WindowsPerf Release 2.5.1 blog post](https://www.linaro.org/blog/windowsperf-release-2-5-1/)
185
+
-[WindowsPerf release 2.4.0 introduces the first stable version of sampling model support](https://www.linaro.org/blog/windowsperf-release-2-4-0-introduces-the-first-stable-version-of-sampling-model-support/)
186
+
-[Announcing WindowsPerf: Open-source performance analysis tool for Windows on Arm](https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/announcing-windowsperf)
187
+
188
+
### WindowsPerf GUI
189
+
190
+
-[Introducing the WindowsPerf GUI: the Visual Studio 2022 extension](https://www.linaro.org/blog/introducing-the-windowsperf-gui-the-visual-studio-2022-extension/)
191
+
-[Introducing 1.0.0-beta release of WindowsPerf Visual Studio extension](https://www.linaro.org/blog/introducing-1-0-0-beta-release-of-windowsperf-visual-studio-extension/)
192
+
-[New Release: WindowsPerf Visual Studio Extension v1.0.0](https://www.linaro.org/blog/new-release-windowsperf-visual-studio-extension-v1000/)
193
+
-[Launching WindowsPerf Visual Studio Extension v2.1.0](https://www.linaro.org/blog/launching--windowsperf-visual-studio-extension-v210/)
0 commit comments