评估软件最低要求

Fer*_*ndo 5 memory minimum-requirements system-requirements

有没有办法评估软件的最低要求?我的意思是,例如,我怎样才能发现我的应用程序需要的最小 RAM 量?

谢谢!

For*_*ker 5

分析器在这里帮不了你。估计数据结构的大小也不会。

分析器当然可以告诉您代码在何处花费了最多的 CPU 时间,但它不会告诉您是否缺少性能目标 - 例如,您的用户是否会对您的应用程序在任何给定系统上的性能感到满意或不满意。

简单地计算数据结构的大小,以及在任何时候可能分配的数据结构,根本无法让您准确了解一段时间内的内存使用情况。原因是内存使用由许多其他因素决定,包括应用程序执行的 I/O 数量、应用程序使用的操作系统服务,以及最重要的应用程序使用内存的时间性质。

了解最低要求的最有效方法是

  • 确保您有一种使用对用户很重要的指标来衡量性能的有效方法。最好的指标是响应时间。根据您的应用程序,可能适用诸如吞吐量或每秒操作数之类的速率。您的测量可能是经验性的(例如,尝试一下),但效果最差。这最好使用某种仪器来完成。在 Windows 上,选择是 [ETW][1]。其他操作系统具有其他合适的机制。
  • 有某种自动化的方法来运行你的应用程序。这将使您能够进行重复和可靠的测量。
  • 使用各种内存大小衡量您的应用程序,看看性能开始受到影响的地方。这也可能会暴露阻止您的应用程序良好运行的性能错误。如果您可以访问各种性能级别的平台,也可以使用这些平台。您没有说明您的应用程序的用途,但在具有 1GB 内存的上网本上进行测试对于许多(并非所有)客户端应用程序来说非常有用。

您可以对 CPU 和其他组件(例如磁盘、网络或 GPU)执行相同操作。

另请注意,这里没有简单的答案——有效地设定最低要求才是真正的工作。如果您的应用程序对一个或另一个平台方面的参与敏感,则尤其如此。

还有其他因素 - 例如,您的应用程序可能在一个配置中运行良好,直到用户打开另一个可能需要内存或 CPU 资源的应用程序。用户很少只打开一个应用程序。

这意味着除了指定最低要求之外,您还必须有效地设置用户期望——即解释您的应用程序何时会表现良好,何时不会,以及影响性能的因素是什么。

[1]:http : //msdn.microsoft.com/en-us/library/ms751538.aspx强文本