GitHub - teknoraver/car: 写时复制存档器

主要观点:介绍了car(Copy-on-write Archive)工具,可创建和提取存档而不复制数据,利用文件系统的重新链接功能,需支持reflink的文件系统如 BtrFS 或 XFS。
关键信息

  • 模仿tar工具语法,创建存档car -c -v -f dir.car dir,提取存档car -x -v -f dir.car
  • 在 BtrFS 文件系统下的基准测试,创建和提取software目录下的文件存档,car速度远快于tar
  • 文件格式由一系列条目组成,每个条目包含多种类型的 TLV 字段,如 Header、Name、Data 等,最后以魔法字符串!RAC标志存档结束,且需填充零字节使长度为 4k 的倍数。
    重要细节
  • tar创建software.tar耗时 1.936s,car创建software.car耗时 0.052s。
  • tar提取software.tar耗时 2.394s,car提取software.car耗时 0.059s。
  • perf stat显示tarcar在用户态和系统态的时间消耗不同。
  • 存档文件格式中各类型字段的具体含义和作用。
阅读 13
0 条评论