有没有办法评估软件的最低要求?我的意思是,我怎样才能发现我的应用程序需要的最小 RAM 量?
Thanks!
分析器在这里不会为您提供帮助。也不会估计数据结构的大小。
探查器当然可以告诉您代码在哪里花费了最多的 CPU 时间,但它不会告诉您是否未达到性能目标 - 例如如果您的用户对您的应用程序在任何给定系统上的性能感到满意或不满意。
简单地计算数据结构的大小以及一次可以分配的数据结构根本无法让您准确了解一段时间内的内存使用情况。原因是内存使用量由许多其他因素决定,包括应用程序执行的 I/O 量、应用程序使用的操作系统服务,以及最重要的应用程序使用内存的时间性质。
了解最低要求的最有效方法是
- 确保您有一种有效的方法来衡量绩效对您的用户重要的指标。最好的指标是响应时间。根据您的应用程序,吞吐量或每秒操作数等速率可能适用。您的测量可能是经验性的(例如,尝试一下),但效果最差。这最好通过某种仪器来完成。在 Windows 上,选择是 [ETW][1]。其他操作系统有其他合适的机制。
- 采用某种自动化方法来运行您的应用程序。这将使您能够进行重复且可靠的测量。
- 使用不同的内存大小来衡量您的应用程序,看看性能在哪里开始受到影响。这还可能会暴露性能错误,从而导致应用程序无法正常运行。如果您可以访问各种性能级别的平台,也请使用这些平台。您没有指出您的应用程序的用途,但在具有 1GB 内存的上网本上进行测试对于许多(不是全部)客户端应用程序来说非常有用。
您可以对 CPU 和其他组件(例如磁盘、网络或 GPU)执行相同的操作。
另请注意,这里没有简单的答案 - 有效地制定最低要求才是真正的工作。如果您的应用程序对某个平台方面的参与性敏感,则尤其如此。
还有其他因素 - 例如,您的应用程序可能在一种配置中运行良好,直到用户打开另一个可能占用内存或占用 CPU 的应用程序。用户很少只打开一个应用程序。
这意味着,除了指定最低要求之外,您还必须有效地设置用户期望 - 即解释您的应用程序何时能够良好运行,何时不能运行,以及影响性能的因素是什么。
[1]: http://msdn.microsoft.com/en-us/library/ms751538.aspx http://msdn.microsoft.com/en-us/library/ms751538.aspx强文本
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)