アーカイバ改良

速度ならもうafioでいいじゃんって事で
前回よりファイルサイズが小さくなるようにチューニング
ファイルの管理情報をがんばってダイエットした

前回構造

  • ファイル数(4byte)
  • ファイルリスト
    • ハッシュ値(64byte)
    • ファイル名長(4byte)
    • ファイル名(可変)
  • データリスト

今回構造

  • ヘッダ長
  • ヘッダデータ(gzip圧縮済み)
    • ファイル数(4byte)
    • ファイルリスト
      • インデックス値(4byte)
      • ファイル名長(4byte)
      • ファイル名(可変)
  • データリスト
    • データ長(8byte)
    • データ(可変)

ファイル管理用のハッシュ値を削除して
管理データをgzipで圧縮してから格納するようにしてみた

前回同様の比較

  • ほとんど重複の無い場合
カテゴリ プログラム名 所用時間 出力容量
無圧縮型 afio 1m34.557s 1204183040
改良前 zipftb 6m57.713s 1204250711
今回分 zipftb2 4m53.761s 1203031023
圧縮型 7zip 11m17.039s 1201285390
  • 1回以上ファイルが重複する場合
カテゴリ プログラム名 所用時間 出力容量
無圧縮型 afio 0m24.183s 512133120
改良前 zipftb 1m35.003s 256322881
今回分 zipftb2 0m38.939s 255928350
圧縮型 7zip 4m8.914s 486320520