请教一下,如何提高解压速度?

2022-08-31 09:53:26 +08:00
 BBrother

压缩包大小大概在 1G 左右,里面是非常多的小文件,大概平均 6 KB 左右。

压缩使用的 zip ,方式是 store ,解压时间超过 19h 。

有没有什么方式 /工具可以提高解压速度?

1781 次点击
所在节点    问与答
15 条回复
ClarkAbe
2022-08-31 10:00:53 +08:00
用代码写个 reader.....然后多线程写入......或者加个通道.....先把大部分读到内存然后等慢得要死的 IO 写完......
keepeye
2022-08-31 10:06:13 +08:00
磁盘瓶颈?
hccsoul
2022-08-31 10:19:28 +08:00
之前在 fitgril 下载的东西,解压安装时候电脑卡卡的,一看把 32g 占满了,cpu20 个框框都满了,不知道怎么做到的
BBrother
2022-08-31 10:21:50 +08:00
@keepeye #2 加压速度 14kb/s
BBrother
2022-08-31 10:22:07 +08:00
@BBrother #4 解压速度
BBrother
2022-08-31 10:26:01 +08:00
@ClarkAbe #1 实在不行就多线程试试,但是在之前我还是希望能找到现成的工具
imouto
2022-08-31 10:28:56 +08:00
ramdisk
oldshensheep
2022-08-31 10:33:33 +08:00
1.用高速 nvme 硬盘
2.关闭杀毒软件

另一种方法不解压,因为 zip 没有固实压缩,所以可以直接读取想要的文件而不解压。
lingex
2022-08-31 10:37:40 +08:00
现在用什么工具? Bandizip 解压支持多线程。不过你这个估计是 IO 问题比较大。
GOOD21
2022-08-31 10:40:48 +08:00
pigz
imzcg2
2022-08-31 10:45:07 +08:00
用内存盘
eason1874
2022-08-31 10:56:32 +08:00
解压到内存 +1

解压到内存,速度快了说明瓶颈在硬盘,速度还是一样慢说明瓶颈在 CPU 。Linux 系统 /dev/shm 目录就是内存盘,解压到这里就可以,Windows 系统要用软件创建
BBrother
2022-08-31 11:17:41 +08:00
@oldshensheep #8 不解压可以考虑,不过服务端的改动就大了


@lingex #9 python 自带的 zipfile


@GOOD21 #10 我先研究一下


@imzcg2 #11 @eason1874 #12 感谢建议,我先试试看
leimao
2022-08-31 15:07:11 +08:00
ijrou
2022-09-06 10:04:28 +08:00
1 、提高 cpu
2 、换成固态硬盘,缓存要大那种

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/876637

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX