-1

是否可以预测一个方法需要多长时间运行?由于每台机器在性能方面都有不同的能力,我希望能够预测加载我的游戏需要多长时间,谢谢。

4

3 回答 3

2

我猜他需要它来显示进度条。我再次假设他想知道它将运行多长时间,以便他可以根据时间间隔在进度条上显示进度。

我建议做点别的:

  • 在加载代码中插入一些位置标记
  • 当加载达到这些标记并显示到目前为止已执行的代码的百分比时,应通知进度条

我建议使用观察者模式

于 2013-06-25T13:14:18.017 回答
1
  1. 定义引导应用程序所需的步骤
  2. 测量(在运行时)它们之间的时间 - 您可以使用Codahale Metrics甚至System.currentTimeMillis()跟踪开始和结束
  3. 根据步骤之间经过的平均时间计算剩余时间。
  4. 猜一猜 :) 正如您可能已经知道的那样,您不能 100% 准确地了解它(大多数安装人员都没有做到这一点)

另一种方法是为每个完成的步骤定义一定的百分比。就像是:

  • [30%] 初始化界面
  • [50%] 连接数据库
  • [70%] 执行查询
  • [90%] 解析结果
于 2013-06-25T13:17:33.717 回答
-1

由于计算机可能在给定时间执行数千个任务,因此无法估计某事的执行时间。

这么说来,也不是完全无法衡量的。由于您使用的是 java,请尝试以毫秒为单位测量执行时间:

System.currentTimeMillis();

然后,您可以随心所欲地处理此信息。可能使用日志文件会很棒,因此您可以在其上放置有关运行环境的更多信息。

于 2013-06-25T13:15:37.230 回答