Windows 如何确定对文件执行给定操作所需的时间?

yur*_*uki 10 windows file-management file-transfer

我想知道 Windows 是否使用一个公式来确定对文件执行操作(例如删除、复制、擦除或安装)所需的时间。

在此处输入图片说明

例如,当我删除一个文件时,Windows 说“剩余时间:18 秒”它是如何计算这个数字的,使用什么?

Val*_*das 20

你有没有注意到,通常它不会在第一秒给你任何估计?

那是因为在最初的几秒钟内,它只执行它必须执行的操作。然后,在(一小段)之后,它知道它已经复制/删除/等了多少,以及花了多长时间。这为您提供了操作的平均速度

然后,将剩余的字节除以速度,您就有了完成操作所需的时间。

这是小学数学。如果你想旅行 360 公里,在第一分钟结束时你走了 1 公里,你需要多少时间才能到达目的地?

嗯,速度是1公里/分钟。那是 60 公里/小时。360 公里除以 60 公里/小时得出 6 小时(或 360 公里/1 公里/分钟 = 360 分钟 = 6 小时)。由于您已经行驶了 1 分钟,因此预计剩余时间为 5 小时 59 分钟。

用“复制”代替“旅行”,用“字节”代替“公里”,这就是你的问题。

不同的系统有不同的估计时间的方法。你可以花最后一分钟,估计可能会有很大差异,或者你可以花全部时间,如果速度真的永久改变,你的估计可能与现实相去甚远。我描述的是最简单的方法。

  • 只是澄清一下:您是在断言 Windows 就是这样做的吗?或者你只是在说明一些可以得到答案的简单算术? (12认同)
  • 对于最后的“1%”,它需要“到目前为止的时间 * rand[0 - 10]”,同时显示“还剩几秒” (10认同)
  • @ValmikyArquissandas:Raymond Chen(微软 Windows 团队的一名开发人员)在他的博客上的一篇文章中证实了这个算法,并解释了为什么它可能是错误的。http://blogs.msdn.com/b/oldnewthing/archive/2004/01/06/47937.aspx (4认同)