アーカイバ改良
速度ならもうafioでいいじゃんって事で
前回よりファイルサイズが小さくなるようにチューニング
ファイルの管理情報をがんばってダイエットした
前回構造
今回構造
- ヘッダ長
- ヘッダデータ(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 |