memory - 评估软件最低要求

标签 memory system-requirements minimum-requirements

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

谢谢!

最佳答案

探查器在这里无济于事。两者都不会估计数据结构的大小。

探查器可以肯定地告诉您代码在哪里花费了最多的CPU时间,但不会告诉您是否缺少性能目标,例如用户对任何给定系统上的应用程序的性能感到满意还是不满意。

简单地计算数据结构的大小以及一次可以分配多少个结构,根本无法为您提供随时间变化的内存使用情况的准确信息。原因是内存使用量由许多其他因素决定,包括应用程序执行多少I/O,应用程序使用什么OS服务以及最重要的是应用程序使用内存的时间性质。

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

  • 确保使用对用户重要的指标来有效地衡量性能。最好的指标是响应时间。根据您的应用程序,诸如吞吐量或每秒操作数之类的速率可能适用。您的测量可能是凭经验进行的(例如,只需尝试一下),但效果最低。最好使用某种仪器完成此操作。在Windows上,选择为[ETW] [1]。其他操作系统具有其他合适的机制。
  • 有某种执行应用程序的自动化方法。这将使您进行重复和可靠的测量。
  • 使用各种内存大小来衡量您的应用程序,并查看性能开始下降的地方。这也可能会暴露出性能漏洞,从而导致您的应用程序无法正常运行。如果您可以访问各种性能级别的平台,请也使用它们。您没有说明应用程序的功能,但对于许多(并非全部)客户端应用程序,在具有1GB内存的上网本上进行测试非常有用。

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

    还要注意,这里没有简单的答案-在设定最低要求上做有效的工作是真正的工作。如果您的应用程序对一个或多个平台方面都具有参与性,则尤其如此。

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

    这意味着,除了指定最低要求之外,您还必须在设置用户期望方面做有效的工作-这说明了您的应用程序何时将运行良好,何时将无法运行,以及哪些因素会影响性能。

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

    关于memory - 评估软件最低要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1079864/

    相关文章:

    r - 为什么 as.integer 在 R 中返回 NA?

    c++ - C++ 中 vector vector 切片上的多线程

    java - 直接缓冲存储器

    链表删除元素函数的C实现

    requirements - 功能性需求和非功能性需求有什么区别?

    docker - 如何使用 Docker Swarm 设置最低容器要求

    jsf - JSF 2.2 所需的最低 Tomcat 版本

    java - 运行 JVM 的最低配置是什么?