如何(准确)估计剩余下载时间?

2023-12-07

当然,您可以将剩余文件大小除以当前下载速度,但如果您的下载速度波动(而且它会波动),这不会产生非常好的结果。有什么更好的算法可以产生更平滑的倒计时?


An 指数移动平均线非常适合这个。它提供了一种平滑平均值的方法,以便每次添加新样本时,旧样本对总体平均值的重要性就会降低。它们仍然被考虑,但它们的重要性呈指数下降——因此得名。由于它是“移动”平均值,因此您只需保留一个数字即可。

在测量下载速度的情况下,公式如下所示:

averageSpeed = SMOOTHING_FACTOR * lastSpeed + (1-SMOOTHING_FACTOR) * averageSpeed;

SMOOTHING_FACTOR是 0 到 1 之间的数字。该数字越大,旧样本被丢弃的速度越快。正如你在公式中看到的,当SMOOTHING_FACTOR为 1 时,您只是使用最后一次观察的值。什么时候SMOOTHING_FACTOR is 0 averageSpeed永远不会改变。因此,您需要介于两者之间的值,并且通常是较低的值以获得良好的平滑效果。我发现 0.005 为平均下载速度提供了相当好的平滑值。

lastSpeed是最后测量的下载速度。您可以通过每秒运行一个计时器来获取此值,以计算自上次运行以来已下载的字节数。

averageSpeed显然,是您想要用来计算预计剩余时间的数字。将其初始化为第一个lastSpeed您得到的测量值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何(准确)估计剩余下载时间? 的相关文章

  • java中的Anagram算法

    我想做字谜算法但是 这段代码不起作用 我的错在哪里 例如 des 和 sed 是字谜 但输出不是字谜 同时我必须使用字符串方法 不是数组 public static boolean isAnagram String s1 String s2
  • 埃拉托斯特尼筛法是生成 1 到 N 素数的最佳算法吗?

    我在一次采访中被问到这个问题 我使用埃拉托色尼筛子概念和数组实现了一种算法 有没有更好的方法来解决这个问题 对于不知道筛子的人 请点击以下链接 http en wikipedia org wiki Sieve of Eratosthenes
  • 递归:n项级数之和

    需要递归函数 系列是 1 2 3 3 4 5 4 5 6 7 递归求 n 的级数之和 我无法想到应该在函数中传递哪些参数 我的方法 我认为我应该传递 n 要相乘的项数 但我无法想到的是我应该如何在同一个函数中 和 以及我的 return 语
  • RNG 技术的可移植性和可重复性

    我可以使用两种方法之一来创建一个伪随机数序列 该序列具有两个重要特征 1 它可以在不同的机器上重现 2 该序列永远不会重复范围内的数字 直到所有数字都被发出 我的问题是 这两种方法在可移植性 操作系统 Python 版本等 方面是否存在潜在
  • 如何从列中创建对称矩阵?

    例如 我想转动以下列 90 175 600 650 655 660 代入矩阵 90 175 600 650 655 660 175 600 650 655 660 655 600 650 655 660 655 650 650 655 66
  • 找到将一个数字转换为另一个数字的最小移动次数的算法

    假设我们有两个正整数 a 和 b 每次移动我们都可以将 a 除以 2 但前提是 a 是偶数 将 a 乘以 2 或者将 a 加 1 将a变为b需要多少步 找到一个直接公式或一种有效的算法 即以对数时间运行的算法 我取得的一些进展 我们可以把它
  • 为每个英文单词生成唯一序列号的算法

    对于应用程序 我需要为每个英语单词生成唯一的序列号 最好的方法是什么 一个限制是序列号生成算法应该在普通台式计算机中非常有效 Thanks 你有所有可能的单词的列表吗 如果是 则从第一个字的 0 开始 每个字将序列号加 1 如果不是 那么保
  • javascript - 找到在一定限制下给出最大总和的子集(子集总和)

    我有一个包含一些整数值的数组 我需要获取它们的子集 该子集给出小于给定值的最大总和 假设我有这个数组 40 138 29 450 我想获得该数组的一个子集 使总和最大化 但低于用户给出的限制 比如说 250 在这种情况下 它应该返回 139
  • std::__gcd 和 std::gcd 有什么区别?

    Many https www geeksforgeeks org stdgcd c inbuilt function finding gcd websites https codeforces com submissions Madiyar
  • 单词预测算法

    我确信有一篇关于此问题的帖子 但我找不到提出这个确切问题的帖子 考虑以下 我们有字典可供使用 我们收到了许多单词段落 我希望能够根据此输入预测句子中的下一个单词 假设我们有几个句子 例如 你好 我的名字是汤姆 他的名字是杰瑞 他去了没有水的
  • 具有最小刻度的图表的漂亮标签算法

    我需要手动计算图表的刻度标签和刻度范围 我知道漂亮刻度的 标准 算法 参见 我也知道这个Java实现 http erison blogspot nl 2011 07 algorithm for optimal scaling on char
  • Chrome 浏览器上的自动文件下载限制为 10 个文件

    我有一个网页 我们根据用户对页面项目的选择生成 PDF 这会导致回发 它是一个 ASP NET WebForms 页面 从而在服务器端创建 PDF 一个 a class documentDownload 然后将标签添加到每个项目的页面 当页
  • 如何在 jQuery 中创建 qrcode 的下载链接?

    我在用着goqr me http goqr me 用于创建二维码图像的 api 现在我想创建一个二维码图像的下载链接 我这样创建 qrcode 图像 function generateQrcode data var params data
  • 使用多处理和 PySftp 并行下载

    我正在尝试创建一个代码来使用 pysftp 和多处理库下载相同类型的 N 个文件 我做了一个基本的Python训练 得到了一些代码并将它们组合成一个 但我无法让它工作 如果有人帮助我 我将不胜感激 该错误发生在 vFtp close 命令之
  • Java 中的下载管理器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要通过 FTP HTTP 从 Java 获取几个大文件 几个演出 有现成的库 java 命令行工具
  • Flask send_from_directory

    我有一个 Flask Web 应用程序 允许用户上传文件 然后下载或在浏览器中显示它们 我应该使用send from directory在生产时从我的服务器上的上传文件夹提供这些文件 你最好让 nginx 为你的静态文件提供服务 众所周知
  • 将两个大数作为字符串相除,而不使用java中的Bignumbers

    我需要在不使用 Biginteger 的情况下划分两个大整数 因为数字不能存储在原始类型中 因为我需要从给定的字符串中逐个字符地执行此操作 我已经创建了一个名为 BigNumber 的类 用这个类我可以 Add multiply 比较两个内
  • 动态规划的复杂组合条件

    我正在探索动态规划设计方法如何与问题的底层组合属性相关 为此 我正在查看的规范实例硬币找零问题 Let S d 1 d 2 d m and n gt 0是请求的金额 我们可以用多少种方式相加n仅使用中的元素S 如果我们遵循一个动态规划如果要
  • 循环中的递归算法复杂度(运行时间)

    我想了解您对如何检测以下递归算法的 T n 运行时间 的意见 Charm 是一种用于发现事务数据库中频繁闭项集的算法 频繁闭项集列表是在一组交易 tids 中多次出现的频繁项 例如面包和牛奶是经常一起购买的物品 它们是通过将索引为 i 的当
  • 颜色渐变算法

    给定两种 RGB 颜色和一个矩形 我可以创建一个基本的线性渐变 这博客文章 https bsou io posts color gradients with python关于如何创建它给出了很好的解释 但我想在这个算法中添加一个变量 角度

随机推荐

  • GWT 向导未显示在 Eclipse 向导菜单中

    谷歌文档http code google com webtoolkit tools gwtdesigner wizards gwt uibinder dialogbox html在 Eclipse 中显示 GWT 向导 但是 在我的系统上
  • Murmur3 散列 Python 和 Java 实现之间的不同结果

    我有两个不同的程序 希望分别在 Python 和 Java 中使用 Murmur3 哈希相同的字符串 Python 版本 2 7 9 mmh3 hash128 abc 给出 792679617637421130190083470206475
  • 每个类在jar文件中都有两个类文件

    我有一个 jar 文件 每个 java 文件有两个类文件 Java Foo java Bar java 类文件 Foo class Foo class Bar class Bar class 我已经验证每个类只有一个 java 文件 jav
  • 将 powershell 变量值返回给 c# 应用程序

    我正在从 C 运行 powershell 脚本 string scriptPath script myscript ps1 Runspace runspace RunspaceFactory CreateRunspace runspace
  • g++ 的 json-spirit 链接器标志是什么?

    我在任何地方都找不到这个 我已经在我的 ubuntu 服务器上安装了 json spiritapt get install json spirit dev 必须与什么链接器标志一起使用g 使用 json spirit 唯一的图书馆列在该包中
  • WebLogic 的 JavaEE API

    有不同的服务器特定 JavaEE API 实现 例如 glassfish javaee 或 jboss javaee 它们作为单独的 jar 文件分发 并且可以使用 Maven 依赖项附加到某些项目 有没有专门为WebLogic AS设计的
  • UDP 数据包未被 Wireshark 捕获,但被 UDP 应用程序捕获

    我有一个设计并运行的应用程序 它在端口上接收 UDP 广播 该应用程序一直工作得很好 但我想将应用程序收到的数据包与 Wireshark 捕获进行比较 我试图确保以最小的数据丢失捕获尽可能多的数据包 我最初认为我应该运行 Wireshark
  • 使用 GraphicsServices.h/GSEvent 以及使用 Xcode 编译 CLI iPhone 工具

    我将其发送给 KennyTM 在 GitHub 上有所有私有框架标头 但我想我也会在这里问 以防万一有人有一些好的想法或任何方法来帮助我 我正在尝试编写一个命令行实用程序 它发送 GSEvents 来操作键盘 触摸 拖动屏幕上的元素以及操作
  • 即使使用 CREATE 表授予,立即执行也会失败

    我在使用存储过程中的立即执行命令创建表时遇到问题 但是我收到 权限不足 的错误 我检查了其他线程并确保用户具有授予它的 CREATE TABLE 权限 但是我仍然看到同样的错误 SQL gt select from USER SYS PRI
  • WooCommerce Cart - 动态价格变量传递到自定义价格挂钩

    我在变量中获取动态自定义价格 我想将其传递给中的挂钩函数woocommerce before calculate totals钩在购物车中 但它不起作用 这是我的代码 add 200 I want to pass this variable
  • java.lang.NullPointerException:尝试调用虚拟方法“com.google.firebase.database”

    我正在尝试从 Firebase 数据库将数据检索到 RecyclerView 中 但遇到此错误 java lang NullPointerException 尝试调用虚拟方法 com google firebase database Dat
  • Web 服务与类文件 - 性能

    我试图找出执行此操作的最佳方法 我正在开发一个项目 并将所有数据访问层代码放入 ASMX 文件中 以使它们与我的表示层分开 我从后台代码调用所有方法并使用类文件等 Web 服务 我根据另一位开发人员的工作遵循这一做法 到目前为止 对此有两种
  • 如何在类声明之外定义 sfinae 类的成员?

    阅读完诸如此类的问题后sfinae 位于类体外部定义的成员函数 这不是同一个问题 另外 当使用 SFINAE 方法仅启用算术类型的类时 我仍然没有找到在类声明之外定义成员函数体的好方法 include
  • Swift 3 隐式解包选项导致错误的字符串插值

    Why are 隐式解包选项在 Swift 3 中使用字符串插值时未解包 Example 在 Playground 中运行以下代码 var str String str Hello print The following should no
  • 用facet对y轴进行排序

    我有这个数据框 library dplyr dat data frame parent c J J F F group c A 4 C 3 A 4 D 5 value c 1 2 3 4 count c 4 3 4 5 dat gt arr
  • IE 8 支持 JSON.stringify() 吗?

    我需要使用 JSON stringify Chrome Safari 和 Firefox 应该支持 我认为IE8也支持JSON对象 我认为 IE7 和 6 没有 所以我这样做 所以 我认为只有 IE6 和 7 才会导入外部 JavaScri
  • Mercurial自动更新问题

    我们开始使用 Mercurial 进行源代码控制 我们已将 HGRC 配置文件配置为在推送到 中央 存储库后自动更新 对于某些 PC 我们会收到以下错误消息 warning changegroup hook exited with stat
  • Magento 自定义模块,致命错误:调用成员函数 setFormAction()

    当我点击这个 url 上的模块时http localhost xxx index php TradeEnquiry我收到这个错误 致命错误 调用成员函数 setFormAction 对非对象进行 C wamp www stockdispla
  • 从 CSV Import 更新现有的 Access 记录,原生于 MS Access 或 VB.NET

    我是我所在组织的票务系统的应用程序管理员 我们正在添加一个新客户 需要将他们的客户记录导入到我们的系统中 然而 我们被拒绝从直接数据库连接中简单地获取这些记录 我们仅限于进入他们的票务系统 并将现有记录导出到 CSV 文件 为了在我们的系统
  • 如何(准确)估计剩余下载时间?

    当然 您可以将剩余文件大小除以当前下载速度 但如果您的下载速度波动 而且它会波动 这不会产生非常好的结果 有什么更好的算法可以产生更平滑的倒计时 An 指数移动平均线非常适合这个 它提供了一种平滑平均值的方法 以便每次添加新样本时 旧样本对