回答
分析器不会帮你在这里。也不会估计数据结构的大小。
探查器可以肯定地告诉你你的代码花费的CPU时间最多,但它不会告诉你是否缺少性能目标 - 例如,如果您的用户会对任何特定系统上的应用程序的性能感到满意或不满意。
简单地计算数据结构的大小以及可以在任何时候分配多少数据结构,根本无法为您提供随时间变化的内存使用情况的准确图片。原因在于内存使用情况取决于许多其他因素,包括应用程序的I/O程度,应用程序使用的操作系统服务数量,最重要的是应用程序使用内存的时间性质。
最有效的方式来理解的最低要求是
- 请确保您有使用指标,是很重要的用户衡量业绩的一个有效途径。最好的度量是响应时间。根据您的应用程序的不同,速率(如吞吐量或每秒操作)可能适用。您的测量可能是经验性的(例如,只是尝试),但效果最差。这最好用某种仪器完成。在Windows上,选择是[ETW] [1]。其他操作系统有其他合适的机制。
- 有某种行使你的应用程序的自动化方法。这将使您可以进行重复和可靠的测量。
- 使用各种内存大小测量您的应用程序,并查看性能开始受损的位置。这也可能会暴露性能缺陷,从而阻碍您的应用程序的良好运行。如果您可以访问各种性能级别的平台,请使用这些平台。您没有指出您的应用程序的功能,但在具有1GB内存的上网本上进行测试对于许多(不是全部)客户端应用程序来说都是很好的选择。
您可以对CPU和其他组件如磁盘,网络或GPU执行相同的操作。
另请注意,这里没有简单的答案 - 在设定最低要求方面做一个有效的工作是真正的工作。如果您的应用程序对某个平台或另一个平台方面的参与敏感,则尤其如此。
还有其他一些因素 - 例如,您的应用可能在一种配置下运行良好,直到用户打开另一个可能饥饿的应用或CPU猪。用户很少只有一个应用程序打开。
这意味着除了指定最低要求之外,您还必须在设置用户期望方面做出有效的工作 - 这就是解释您的应用程序何时运行良好,何时不运行,以及影响性能的因素。
[1]:http://msdn.microsoft.com/en-us/library/ms751538.aspx强文本
您可以在压力测试时尝试在软件上使用性能分析器。
给定应用程序使用的数据结构,估计它们在正常使用中占用多少空间。使用该估算,设置多个机器(虚拟或物理)以在不同情况下(即不同的目标操作系统,不同的虚拟内存设置等)测试估计值。
然后在不同情况下测量应用程序的性能。您的最低设置将是仍然可以接受的性能最差的机器。
理想情况下,您可以根据您的目标受众决定软件的最低要求,然后在开发过程中测试您的软件以确保其提供令人满意的体验。
你可以看看运行你的软件的系统,看看你的应用程序正在消耗多少内存,并用它来指导正在消耗多少内存。 CPU稍微复杂一些 - 你可以尝试模拟你的CPU需求,但是要做到这一点确实很难。
但最终,您需要在您的目标基础系统上测试您的应用程序。
您可以使用虚拟化在虚拟机中反复运行具有不同数量RAM的代表性测试套件...当性能由于交换而低于可接受水平时,您已找到内存要求。
- 1. 安装Xcode 8.0的最低硬件和软件要求
- 2. 最低可评估的科学价值?
- 3. 软件测试与软件评估
- 4. 软件评估 - 许可证
- 5. 软件评估许可
- 6. inlineformset_factory最低要求
- 7. 如何在制作.deb软件包时了解最低要求?
- 8. JavaFX的最低要求
- 9. Corona SDK的最低要求
- 10. Python的sympy评估时没有要求
- 11. Keil MCB1700评估板的软件中断
- 12. 如何评估软件的可靠性?
- 13. 评估软件架构的性能?
- 14. Web服务的软件评估许可
- 15. 发布任何软件评估版的最佳方式?
- 16. Android geofencing最低要求?
- 17. Apache Thrift Java最低要求
- 18. android 2.2最低硬件要求
- 19. 在设计时估计web服务的最低硬件需求
- 20. 运行webGL的最低系统要求?
- 21. IDE所需的最低要求功能?
- 22. 为iPhone开发的最低要求
- 23. 使用AspNetSqlMembershipProvider的最低要求
- 24. 对ARC的最低要求使用
- 25. 确定最低要求的PHP版本
- 26. neo4j的最低要求是什么?
- 27. 的WebSocket服务器最低要求
- 28. Ecto NoSQL适配器的最低要求
- 29. 'unix_timestamp'的最低MySQL版本要求
- 30. 最低要求的版本管理
http://stackoverflow.com/questions/893329/determining-recommended-system-requirements DUPE? – Brandon 2009-07-03 15:36:58
yup ...之前没有找到...谢谢! – Fernando 2009-07-03 16:45:53