V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
BBrother
V2EX  ›  问与答

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

  •  2
     
  •   BBrother · 2022-08-31 09:53:26 +08:00 · 2109 次点击
    这是一个创建于 840 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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


    @lingex #9 python 自带的 zipfile


    @GOOD21 #10 我先研究一下


    @imzcg2 #11 @eason1874 #12 感谢建议,我先试试看
    leimao
        14
    leimao  
       2022-08-31 15:07:11 +08:00 via iPhone
    ijrou
        15
    ijrou  
       2022-09-06 10:04:28 +08:00
    1 、提高 cpu
    2 、换成固态硬盘,缓存要大那种
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3360 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:19 · PVG 19:19 · LAX 03:19 · JFK 06:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.