【问题标题】:Is there a way to calculate progress rate without total process count?有没有办法在没有总进程数的情况下计算进度?
【发布时间】:2021-06-11 02:02:12
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: algorithm math calculation


    【解决方案1】:

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

    但是,你可以

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

    改为显示进度速率

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

    大概

    rate = jobs_completed / (time_now - time_start)
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-14
      • 1970-01-01
      • 1970-01-01
      • 2017-12-27
      • 1970-01-01
      • 2020-04-29
      相关资源
      最近更新 更多