1

当我们在 windows 中复制文件时,我们会得到一个预期的完成时间。那个时候是最好的时间还是最坏的时间?你还假设环境变量吗?

4

3 回答 3

1

对此,陈瑞峰有话要说……

于 2009-06-19T16:17:28.903 回答
0

如果你实现了这样的功能,让进度条快速增长到 90%。然后,无论需要多长时间,您都可以执行真正的工作。用户体验将比显示当前进度要好得多;-)

于 2009-06-19T16:20:08.997 回答
0

我只能猜测,时间是如何计算的。但是花了很多时间观察复制窗口并查看时间估计如何变化,这是我的最佳估计:

  • Windows 正在保留所有要复制的文件的列表
  • 它正在跟踪已复制文件的时间和数量
  • 剩余时间计算如下:
    • 到目前为止每个文件的平均时间 = 到目前为止经过的时间 / 已经复制的文件
    • 所有文件所需的估计时间 = 每个文件的平均时间 * 文件数。

在经过固定的时间跨度后重复计算(可能是 5 秒,也可能是 30 秒?)

我上面解释的可能有点复杂,我想当前正在复制的文件的大小以及已复制的百分比也会进入计算。这可以解释为什么我们在只复制一个文件时看到估计值 ;-)。

因此,直接回答您的问题:这既不是最好的时间也不是最坏的时间,它只是一个非常弱的估计,文件大小彼此之间的差异越大,越不准确。

或者换句话说:这可能是程序员可以想到的实现特定功能的最快方式(就快速编程以及运行时的低 CPU 使用率而言)。如果它是在星期五下午编码的,我不会感到惊讶...

于 2009-06-19T16:20:52.820 回答