代码之家  ›  专栏  ›  技术社区  ›  nacho4d

如何估计处理时间?

  •  1
  • nacho4d  · 技术社区  · 14 年前

    在桌面应用程序中,经常会看到诸如“安装大约需要10分钟”之类的消息。所以,我想知道,我如何计算一个过程需要多少时间的近似值。当然,我不会安装任何东西,但我想更新一些内部数据,根据用户使用情况,这可能需要一些时间。

    这在iPhone应用程序中可行吗?可可人是怎么做到的,在iPhone应用程序中也是这样吗?

    事先谢谢。

    更新:我想重写/编辑磁盘上的一些文件,大多数时候这些文件的大小不一样,所以我不能在第一次迭代中使用计时器并从中计算其余的文件。 有没有任何API可以帮助计算这个?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Joshua Nozzi    14 年前

    如果你有一些事情要处理,每件“事情”——通常最好测量一组10件左右的“事情”——都是一个工作单元。您的目标是查看处理单个组和报告估计完成时间需要多长时间。

    一种方法是在每个组的开头创建一个nsdate,在每个组的结尾(for循环的顶部和底部)创建一个新的nsdate。将以秒为单位的差异乘以您剩余的组数(减去刚刚处理的组数),这应该是对剩余时间的合理估计。

    当然,如果一个“事物”的处理时间比另一个“事物”要长得多,这就变得更复杂了——上面的方法假设所有事物都花费相同的时间。然而,在这种情况下,您可能需要跟踪平均窗口(跨越最后n个“事物”或其组)。

    更详细的回答需要更多关于您的模型和您正在执行的工作的详细信息。