鉴于磁盘速度很慢,多个核心在运行中解压缩对性能有意义吗?

Ale*_*ard 2 architecture compression performance multicore disk

过去,磁盘压缩是以牺牲效率为代价来增加存储空间的,但当时我们都在单处理器系统上.

目前,还有额外的核心可能与处理数据并行地进行解压缩工作.

对于I/O绑定应用程序(特别是读取大量顺序数据处理),可以通过仅将读取和写入压缩数据写入磁盘来提高吞吐量.

有没有人有任何支持或拒绝这个猜想的经验?

Geo*_*lly 5

注意不要混淆磁盘寻道时间和磁盘读取速率.在硬盘驱动器(HDD)上寻找正确的轨道需要数百万个CPU周期(5-10毫秒或5-10百万纳秒).一旦你在那里,你可以每秒读取数十兆字节的数据,假设碎片很少.对于固态硬盘(SSD),寻道时间比硬盘低(35,000-100,000ns).

无论数据是否在磁盘上压缩,您仍然需要寻找.问题变成了(压缩数据的磁盘读取时间+解压缩时间)<(未压缩数据的磁盘读取时间).解压缩相对较快,因为它等于用较长的令牌替换短令牌.最后,它可能归结为数据的压缩程度以及数据的大小.如果您正在读取2KB压缩文件而不是5KB原始文件,则可能不值得.如果您正在读取2MB压缩文件而不是25MB原始文件,则可能是.

用合理的工作量来衡量.