如何计算每个文件的复制开销?

How can I calculate the copy overhead per file?

如果给定文件大小与其各自传输时间的映射,我如何估算每个文件作为开销的常数因子?

例如

File size          Transfer time
--------------------------------
     1 kB                   2 ms
  1000 kB                1001 ms
--------------------------------

由此table我可以看出每个文件的开销为 1 ms,每个 kB 需要另外 ms。但是我该如何从数学上做到这一点?

我需要在 C++ 中将其计算为移动平均值,以估计剩余复制时间,如果您能提供一些想法,我将不胜感激(只需数学或伪代码即可。)

正如你所说,有两个变量:

  • T是访问一个文件的时间;
  • A 是每千字节 (kB) 的访问时间。

因此,对于两个文件:

  1. 2ms = T + 1A
  2. 1001ms = T + 1000A

从 2 中减去 1):

(1001ms - 2ms) = (T - T) + (1000A - A)
999ms = 0 + 999A
999ms = 999A
A = 1ms

代替 1 中的 A:

2ms = T + 1
1ms = T

简单的联立方程!