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

时间:2016-09-29 15:29:24

标签: math time-estimation

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

E.g。

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

从这个表中我可以看到每个文件的开销为1毫秒,每个KB需要另一个ms。但是我如何以数学方式做到这一点?

我需要在C ++中计算这个作为估计剩余复制时间的移动平均值,并且会对一些想法感激不尽(只需数学或伪代码就可以了。)

1 个答案:

答案 0 :(得分:1)

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

  • select details.itemname, details.total from details inner join ( select DISTINCT itemname, id, max(date) as MaxDate from details GROUP by details.itemname ) tm on (details.itemname = tm.itemname and details.date = tm.MaxDate) and details.date <='9/28/2016' 是访问一个文件的时间;
  • T是每千字节的访问时间(kB)。

所以,对于这两个文件:

  1. A
  2. 2ms = T + 1A
  3. 从2)减去1):

    1001ms = T + 1000A

    替换1中的(1001ms - 2ms) = (T - T) + (1000A - A) 999ms = 0 + 999A 999ms = 999A A = 1ms

    A

    简单的联立方程式!