是否可以预测一个方法需要多长时间运行?由于每台机器在性能方面都有不同的能力,我希望能够预测加载我的游戏需要多长时间,谢谢。
问问题
650 次
3 回答
2
我猜他需要它来显示进度条。我再次假设他想知道它将运行多长时间,以便他可以根据时间间隔在进度条上显示进度。
我建议做点别的:
- 在加载代码中插入一些位置标记
- 当加载达到这些标记并显示到目前为止已执行的代码的百分比时,应通知进度条
我建议使用观察者模式。
于 2013-06-25T13:14:18.017 回答
1
- 定义引导应用程序所需的步骤
- 测量(在运行时)它们之间的时间 - 您可以使用Codahale Metrics甚至
System.currentTimeMillis()
跟踪开始和结束 - 根据步骤之间经过的平均时间计算剩余时间。
- 猜一猜 :) 正如您可能已经知道的那样,您不能 100% 准确地了解它(大多数安装人员都没有做到这一点)
另一种方法是为每个完成的步骤定义一定的百分比。就像是:
- [30%] 初始化界面
- [50%] 连接数据库
- [70%] 执行查询
- [90%] 解析结果
于 2013-06-25T13:17:33.717 回答
-1
由于计算机可能在给定时间执行数千个任务,因此无法估计某事的执行时间。
这么说来,也不是完全无法衡量的。由于您使用的是 java,请尝试以毫秒为单位测量执行时间:
System.currentTimeMillis();
然后,您可以随心所欲地处理此信息。可能使用日志文件会很棒,因此您可以在其上放置有关运行环境的更多信息。
于 2013-06-25T13:15:37.230 回答