压缩程序文件是否可以节省空间并显著提升 SSD 性能?

压缩程序文件是否可以节省空间并显著提升 SSD 性能?

考虑到固态磁盘空间仍然是一种昂贵的资源,压缩大文件夹具有吸引力。得益于虚拟商店Program Files甚至可能提高性能

背景

我特别读过:

SSD 和 NTFS 压缩速度提升吗?
NTFS 压缩会降低 SSD/闪存性能吗?
有人可以对整个磁盘压缩(HD,SSD)进行基准测试吗?(可能需要向上滚动)

第一个链接特别梦幻,但可能有点头远在云层中。

第三个链接有性感的半对数图对数的规模!)。

SSD 上的 NTFS 压缩性能的 *SEMI-LOG* 图表

引文(带注释):

使用高度可压缩的数据(IOmeter),你最多可以得到30倍 性能提升(读取),并且至少49x性能下降[对于写入]。

假设我正确理解并澄清了这句话,那么这个单用户基准测试让我非常感兴趣。虽然写入性能下降得很厉害,但读取性能仍然飙升。它给了我一个想法。

想法:虚拟商店

碰巧的是,由于 Windows Vista 引入了安全保护功能,因此对某些文件夹(Program Files例如非管理员流程。

这意味着,在正常(非提升)使用情况下,程序或游戏尝试将数据写入 Program Files 中的安装位置(这可能是一个糟糕的位置)时%UserProfile%\AppData\Local\VirtualStore,会被重定向到完全不同的地方。

因此,据我理解,写入 Program Files 应该主要在安装应用程序时发生。这使得压缩它不仅成为空间收益,也是潜在的候选人表现获得。

这是准确的吗?由于 VirtualStore 的存在,压缩程序文件是否会显著提高读取性能,而写入性能只会下降到可以忽略不计?

我推迟了对 Program Files 的测试,因为一开始就很混乱这个帖子这表明关闭压缩可能不会立即解压文件(尽管我打算使用紧凑命令这可能)。

答案1

你的思路有一个缺陷。

因此,据我所知,对 Program Files 的写入主要应仅在安装应用程序时发生。这使得压缩它不仅是空间增益的巨大来源,也是性能增益的潜在候选者。

如果程序以管理员身份运行,则不使用虚拟存储。对于安装程序,这是所有安装程序

如今,很少会遇到不了解 UAC 且由 VirtualStore 接管的程序。例如,我的 Virtual Store 仅列出 Foxit Reader。

不过,压缩它看起来确实很有趣。就我而言,出于好奇压缩了我的 Program Files。我最耗磁盘空间的程序是《全面战争》系列:《拿破仑》、《帝国》、《幕府将军 2》。特别是,在战斗地图和战役地图之间切换需要大量读取。

我决定压缩 Steam 文件夹并启动几次。可以预见的是,由于游戏加载需要大量连续读取,因此速度会变慢。我的地图加载时间从 38 秒缩短到 48 秒左右,尽管我第一次加载时实际上花了两分钟多的时间。

我还没有尝试过其他应用程序。

答案2

这取决于你的系统。 compact 命令很快,但压缩文件效果不是很好。平均读取速度已知,平均解压速度也可以计算。但我不认为可能有显著的改进。至少对于单核处理器来说不是很好。

存在一个困境:

[未压缩数据的加载时间]

对比

[压缩数据的加载时间]+[解压缩时间](副作用是内存使用率更高)

从 ssd 加载时间约为 150-200mb/秒,解压速度约为 20mb/秒。因此,通常的压缩率应超过 10 倍,而且看起来并不像真的。

答案3

实际上,第三篇文章中的图表并不完全准确。在 Windows 中启用压缩并不能压缩所有实际上可以安全压缩的文件。您可以通过查看系统文件夹并启用压缩文件的颜色突出显示来轻松验证这一点。

解决方案是什么?我找到了一个叫做驱动压力机我今天一直在赞美它:通过它,我节省了三倍的空间。真的。

我认为这个工具还可以提高整体 SSD 性能,因为驱动器上有更多的可用备用区域。

我的平均空间节省量现在为 20%-25%(但这只是在使用 Drive Press 之后的结果,它的压缩率比 Windows 本身更高)。Windows 压缩本身在相同数据集上最多为我节省了 5%-10%。

基本上,如果您正在研究 NTFS 压缩,那么您必须查看 Drive Press。它也不会让您退出 NT - 当我尝试使用 Explorer 手动压缩每个文件时(无论如何,这是一个非常站不住脚的提议),我确实压缩了引导加载程序文件,并且必须使用另一台计算机上的外部 USB 连接解压缩我的驱动器,然后才能再次进入 Windows。尽管 Drive Press 的压缩效果比 Windows 好得多,但它不会压缩必须保持清晰的内容。

相关内容