麦斯科技 · 2022年12月31日 · 四川

发布WindowsPerf:用于Windows on Arm的开源性能分析工具

https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/announcing-windowsperf

作者:Przemyslaw Wirkus 2022年12月8日

Windows on Arm生态系统继续增长。

微软最近宣布Azure虚拟机正式上市,该虚拟机采用基于Ampere Altra Arm的处理器(https://azure.microsoft.com/en-us/blog/azure-virtual-machines-with-ampere-altra-arm-based-processors-generally-available/)。Windows Dev Kit 2023 (称为Project Volterra https://blogs.windows.com/windowsdeveloper/2022/10/24/available-today-windows-dev-kit-2023-aka-project-volterra/)允许开发人员将针对Windows on Arm的应用程序开发带到具有功能的Windows on Arm设备上。Surface Pro 9结合了基于Microsoft SQ 3处理器的性能和电池寿命。

现在是成为Arm开发人员的好时机。我们看到越来越多的应用程序不仅在基于Arm的平台上运行,而且以市场领先的性能和功耗运行。在Arm上解锁卓越的应用程序性能变得比以往任何时候都更加必要!

我们致力于开发性能分析方法(https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/arm-neoverse-n1-performance-analysis-methodology),支持开发人员从基于Arm的平台中获得最大收益。这包括支持Windows和Linux的工具,如Linux perf和Arm Streamline Performance Analyzer(https://developer.arm.com/Tools%20and%20Software/Streamline%20Performance%20Analyzer)。

在本博客中,我们很高兴介绍WindowsPerf;这是一个开源的性能分析工具,我们正在与微软和Linaro的Windows on Arm项目(https://www.linaro.org/windows-on-arm/)合作。

“随着Windows Dev Kit 2023的推出、Surface Pro 9 5G的推出以及Visual Studio 2022 17.4的发布以及完全支持的Arm64版本,Windows on Arm的发展势头继续增长。社区主导的WindowsPerf项目是开发人员为Windows on Arm提供最佳体验的工具套件的重要补充,微软Windows团队首席工程师Marcus Perryman表示。

“开源Arm生态系统继续采用Windows平台,在启用一年后,Linaro的重点开始解决应用程序的性能问题。WPERF项目是另一个合作的例子,旨在满足对性能分析工具的需求,在这种情况下,开发人员可以从平台中获得最大的收益。”,Linaro Windows小组主席兼Linaro性能和支持总监,Mike Holmes如此说。

什么是WindowsPerf?

WindowsPerf希望与Linuxperf类似。该项目由两部分组成:内核模式驱动程序和用户空间命令行工具。命令行工具采用与Linuxperf命令行相同的样式。

目前,WindowsPerf处于开发的早期阶段,但已经支持用于获取特殊事件发生总数的计数模型。不久,我们将支持用于确定程序位置在函数、基本块和指令级别上产生的事件发生频率的采样模型。

WindowsPerf可以检测Arm CPU性能计数器。截至目前,它可以收集:
.所有或指定CPU核心的core PMU计数器。
.unCore PMU计数器,现在支持系统缓存(DSU-520)和DRAM(DMC-620)。

此命令行工具允许用户利用事件分组、事件复用和时间线模式。

如何获取和使用它?

您可以在Linaro Gitlab上找到WindowsPerf:https://gitlab.com/Linaro/WindowsPerf/windowsperf

或者访问我们的Wiki:https://linaro.atlassian.net/wiki/spaces/WPERF/overview

您现在可以在WoA机器上计算事件。使用wperf-list命令显示可用的预定义事件列表。您最多可以指定127个事件,wperf将对它们进行多路复用,如下所示。

5241.Wperf_5F00_multiplex_5F00_precount.jpg

用于事件计数的WindowsPerf复用代码输出

5241.Wperf_5F00_multiplex_5F00_precount.jpg

在此示例中,使用预定义的度量对事件进行计数。

有关示例的详细用法,请访问我们的GitLab网站。

行动号召

我们很高兴为WindowsPerf社区注入种子,并希望随着时间的推移,我们可以构建该工具的功能,为开发人员提供获得卓越性能所需的一切。这包括Windows on Arm支持的各种工具、语言和运行时。

您可以帮助我们改进WindowsPerf,只需在您的WoA机器上试用该工具,提出错误,建议改进,或直接对项目的文档或代码做出贡献。我们希望尽可能透明,这就是为什么我们正在与大家分享Jira信息。

欢迎访问GitLab页面(https://gitlab.com/Linaro/WindowsPerf/windowsperf),以获取项目文档、源代码、如何构建项目的详细信息、贡献过程等。

推荐阅读
关注数
5842
内容数
525
定期发布Arm相关软件信息,微信公众号 ArmSWDevs,欢迎关注~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息