下载和/或导入 5 GB 的 jpeg 图像所需的时间与 5 GB 的纯文本所需的时间相同吗?

下载和/或导入 5 GB 的 jpeg 图像所需的时间与 5 GB 的纯文本所需的时间相同吗?

我只是想知道,因为我现在正在从我爸爸为我刻录的 CD 中导入我的所有照片。我很好奇,在进行此类传输时,5 GB 的照片是否与 5 GB 的文本花费的时间完全相同。因为即使它们累积的大小相同,不同的文件格式也可能会存在“开销”...

编辑:它实际上不是 CD-rom,而是 DVD-R

答案1

答案是“视情况而定”。取决于你所说的“下载”是什么意思。

如果您从网站下载,那么有些网站会自动“即时”压缩文件,文本压缩效果非常好,而 JPEG 已经压缩,因此根本不会压缩。在这种情况下,差别会很大。

如果您只是使用复制命令将文件从一台计算机复制到另一台计算机,那么就不会有区别。但是,如果您使用某种专门的工具,那么这取决于该工具是否使用自动压缩。jpeg 和文本之间的唯一区别是可以压缩文件。

无论文件是什么,与文件传输相关的“开销”没有区别。

答案2

对于 5GB 的图片,您可能会谈论几千个大小合理的文件,每个文件 3MB 以上。如果您下载 5GB 的文本文件,您通常会认为每个文件要小得多。因此,您可能会处理一个或两个数量级的额外文件(数十万或数百万个文件)。

复制大量小文件比复制大文件中相同数量的数据花费的时间更长。创建每个单独的文件都有合理的开销。

可能还不足以产生巨大的差异,但仍然有差异。

答案3

ftp 中的“这取决于”细节。

ftp 二进制模式只是直接传输,需要 5GB 的时间。

如果您要通过 ftp 文本传输从 Windows 转到 Linux(令人惊讶的是,纯文本),ftp 实际上会将行尾从 /r/n 更改为 /n,反之亦然。流式替换可能会产生一些开销,但对于 5GB 的文本,从 win 到 lin 时写入磁盘的内容较少,因为每行会删除一个字符;而从 lin 到 win 时写入磁盘的内容较多,因为每行会添加一个字符。

那么,Linux 上是 5GB 吗?还是 Windows 上?

今晚够啰嗦了,睡觉吧!

答案4

这是为了对其他答案进行补充,这些答案涉及压缩等影响效率和下载时间的因素。

尚未提及的一点是效率。我怀疑大多数人都没有遇到过这个问题,所以这里简单介绍一下背景。

在开始使用 Web 服务之前,我们想知道使用它们与使用更“标准”的数据库连接(如 OleDb、System.Data.SqlClient、JDBC 等)之间的效率差异。我们让专家安装数据包嗅探器来跟踪网络上的数据流,以查看差异。

我们预计使用 Web 服务的效率会较低,因为其他类型的连接采用二进制格式,并且用于描述数据的 XML 标记会增加开销。

我们发现,在很多情况下,Web 服务效率更高,至少在我们的网络上是如此。不同之处在于,在传输二进制数据时,数据包中的某些字节是空的,但在发送文本数据时,数据包的使用效率更高。

我们发现这很有趣,并在传输不同类型的文件时尝试了这种方法,结果发现,一般来说,通过网络传输的纯文本总是会使用每个数据包中 100% 的可用位,而二进制传输通常会有未使用的位。我无法告诉你为什么会这样,但几次实验证实了这一点。

这个问题的几条评论似乎认为这是一个明显有缺陷的问题,但事实并非如此。即使数据量保持不变,管道的效率也很重要。

因为我忍不住要做出一些非 IT 人士也能理解的类比:

杂货店冰柜的单个搁板有 x 个空间,但如果容器是方形的,那么你可以在搁板上放更多的冰淇淋,因为使用圆形容器会浪费空间。我们的测试虽然一开始违反直觉,但却告诉我们任何杂货店库存员都能告诉我们的事情。

相关内容