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

关于压缩

  •  
  •   ixinshang · 2016-09-19 16:49:32 +08:00 · 1514 次点击
    这是一个创建于 2779 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,我现在有一台机器,需要备份一些文件,计划使用 zip 或者 tar 来先打包,但是文件数量太多,有大概 4000 个文件大小约为 50M 。 我自己测试了一下,很费时,请教下,可有其他方案能解决这个问题。

    douglas1997
        1
    douglas1997  
       2016-09-19 17:18:18 +08:00 via iPhone
    你需要考虑压缩瓶颈何在。什么东西耗时间。
    7timesonenight
        2
    7timesonenight  
       2016-09-19 17:23:00 +08:00
    Python 写个脚本压缩,晚上睡觉的时候让它跑去好了。
    xmoiduts
        3
    xmoiduts  
       2016-09-19 17:37:33 +08:00 via Android
    如果只是打包,还是 tar 吧。
    seki
        4
    seki  
       2016-09-19 17:42:59 +08:00
    你的目标是什么?省时间和省体积只能二选一
    coderluan
        5
    coderluan  
       2016-09-19 18:03:53 +08:00
    楼主需要的应该是打包,而不是压缩,那样直接压缩软件的压缩选项中选打包不压缩就好了,理论上和拷贝文件一样快。
    skydiver
        6
    skydiver  
       2016-09-19 18:07:14 +08:00
    换 SSD
    YuJianrong
        7
    YuJianrong  
       2016-09-19 20:20:20 +08:00
    才 50M 就很慢那一定是 IO 问题了,除了换 SSD 没有解决办法吧。
    ivmm
        8
    ivmm  
       2016-09-19 21:34:14 +08:00
    先 tar 再 bzip2
    yidinghe
        9
    yidinghe  
       2016-09-19 21:36:04 +08:00 via Android
    Windows 的话有自动备份的功能,我在用,备份到 SD 卡上,平时不用理会。
    imn1
        10
    imn1  
       2016-09-19 21:38:43 +08:00
    不计较空间的话,用备份方式,只打包不压缩就行了
    lhbc
        11
    lhbc  
       2016-09-19 21:44:52 +08:00 via Android
    50MB/4000=13KB
    如果是机械硬盘,理论峰值不到 200 IOPS ,读取完所有文件至少需要 4000/200=20 秒(理论极限),实际情况如果复杂点,比如文件分散,还有其他 IO 任务等,那时间翻数倍也不奇怪
    ixinshang
        12
    ixinshang  
    OP
       2016-09-19 23:14:05 +08:00
    @douglas1997
    @skydiver
    @ivmm
    @lhbc
    @imn1
    @seki
    感谢以上各位,我需要自己再次确定下 我到底需要什么。
    @coderluan
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5295 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 08:24 · PVG 16:24 · LAX 01:24 · JFK 04:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.