有没有办法在没有总进程数的情况下计算进度率?

时间:2021-06-11 02:02:12

标签: algorithm math calculation

我认为这是一件困难的事情。 一般来说,我知道我需要总计数和当前计数才能获得某些东西的速率。 但在这种情况下,我无法获得总数。

例如,有两个作业,A 和 B。 他们的总过程将始终随机设置。 此外,我无法在作业结束前获取作业的总进程数。

我有一种方法可以设置每个作业的具体比率,例如完成 A 后,将比率设置为 50%。 但是在这种情况下,A 的计数为 10,B 的计数为 1000 会产生奇怪的结果。 虽然总数是1010,但10个过程完成了50%。 有点奇怪。

所以,我想为用户提供更自然的进度。但我没有总进程数。 是否有任何有用的方法替代通用百分比计算?

1 个答案:

答案 0 :(得分:0)

如果你想知道你有多少总进步而不知道有多少总进步,这在逻辑上是不可能的

但是,你可以

  • 估计一下
  • 保留历史数据
  • 假设最大,并在速度更快时让用户感到惊讶

改为显示进度

  • 在流程开始时取当前时间并减去再次检查时的时间
  • 将已完成的工作除以该数量以获得工作/秒

大致

rate = jobs_completed / (time_now - time_start)

您也可以在某个窗口上执行此操作,但您需要记录时间和在窗口开始时完成的作业数量,以减去两者以获得时间窗口中的作业

rate_windowed = (jobs_completed - jobs_previous) / (time_now - time_previous)