Windows 应用程序性能简介
性能是软件开发的一个方面,注重于度量和改进代码。 阅读本文后,你将获得以下问题的更好解决思路:性能涉及到哪些因素,为何它对你和你的客户非常重要,如何开始度量应用程序的性能。
什么是应用程序性能?
性能是有关应用程序如何有效利用系统资源根据设计目标完成其任务的衡量指标。 它涵盖了程序如何与底层设备交互的各个方面。 此项指标可能包括:
- CPU 使用率
- 内存占用率
- 功率消耗
- 网络和存储利用率
- 动画性能
等等。
所有这些不同的属性都有与之关联的成本要素:例如,应用程序的 CPU 使用率是多少? 它占用了多少用户带宽? 应用程序的此特定页面的加载速度有多快? 因此,度量是确定性能的核心所在。
它为什么如此重要?
用户将性能视为他们所用软件的最基本属性。 他们希望所用的应用程序能够快速做出响应,并有效利用系统资源。 性能不佳的应用程序会导致挫败感,从而降低用户参与度。 因此,为了给客户提供尽量最佳的体验,将性能度量指定为开发工作流的例行组成部分至关重要。
何时应度量应用程序性能?
应用程序性能可以跨越开发过程的多个阶段。 从选择的数据结构,到选择用于生成应用程序的技术等方方面面,它都会产生影响。
在开发应用程序的过程中时时考虑到性能,并计划在更新和维护应用程序的过程中定期进行性能测试。
如何度量应用程序性能?
下面是有关如何测试应用程序性能的一些建议。
- 利用你在应用程序方面的知识。 了解用户的最常用方案可以明智地将时间花在适当的优化上。 对方案感到不明可能会难以解释度量结果,因此请不要跳过此步骤! 如果你已掌握有关用户如何与你的应用程序交互的数据,则现在是分析这些数据的绝佳时机。
- 用户的大部分时间花费在哪里?
- 客户在你的软件中所做的最重要事情是什么?
- 应用程序的硬件要求是什么?
- 为最重要的用户方案设置性能目标。
- 确切地知道你要优化的方面。 要优化 CPU? 电池? 网络吞吐量?
- 选择度量工具。
- 测试时运用科学的思维方式。 在受控的环境中创建基准。 然后进行更改,并重新度量以了解所做的更改如何影响应用程序的行为。
- 将回归测试添加到测试环境中。 这可以确保性能指标不会随着时间而倒退。 当今的硬件非常复杂,度量性能改进产生的影响可能是颇有难度。 以这种方式调查、度量和测试应用程序性能可确保你了解自己付出的努力所产生的影响。
将指标相互关联
虽然你在分析期间通常会专注于性能的一个方面,但请注意,各个方面通常是相互关联的。 对一个方面所做的改进可能会促成其他方面的改进。
例如,固定功耗往往是一个同步问题。 减少内存使用率可以减少 CPU 的使用时间。
此外,在某些情况下,在一个方面花费额外的资源会在另一个方面产生更有影响力的改进。
例如,提高内存消耗可以通过缓存降低网络或存储利用率。
如何做出改变取决于哪些方面对客户最重要。 这也是表演工作挑战(和乐趣!)的一部分。
后续步骤
了解这些背景知识后,接下来可以采取以下行动:
- 确定应用程序的最常见方案。 你将基于这种了解来度量性能。
- 制定测试策略。 测试环境以及选择的度量工具是什么?
请转到 Windows 应用性能概述,以详细了解可在性能测试旅程中使用的工具和指导。