Я должен упаковать около 7 000 000 маленьких файлов. Я ищу эффективный способ сделать это.
Тар - лучший способ? А как насчет тестов или каких-либо других предложений?
Некоторым людям нравится 7-Zip. Например, вот так Википедия упаковывает полные изображения.
TAR на самом деле не имеет собственного сжатия. TAR - это просто объединение каталогов / файлов в один большой файл. Скорость создания архива tar больше зависит от файловой системы и подсистемы ввода / вывода, чем от самого tar. Лучший способ получить максимальную степень сжатия - использовать 7zip (команда 7zr в * nix / Linux). Чем больше размер словаря вы выбираете - тем меньше архив вы получаете.
Для Linux вы можете попробовать:
7zr a -t7z -m0=lzma -mx=9 -mfb=64 -md=128m -ms=on /path/to/put/archive.7z folder_to_compress
jar также очень хорош, потому что это zip (сжатие) файлов. Если бы не явное включение, оно было бы близко к идеальному (поскольку баночка, кажется, существует почти везде сейчас)