#python #algorithm #compression #data-dump
#питон #алгоритм #сжатие #дамп данных
Вопрос:
Я создаю дампы данных со своего сайта, чтобы другие могли их загружать и анализировать. Каждый дамп будет представлять собой гигантский XML-файл.
Я пытаюсь определить наилучший алгоритм сжатия, который:
- Эффективно сжимается (с точки зрения процессора)
- Создает минимально возможный файл
- Является довольно распространенным
Я знаю основы сжатия, но понятия не имею, какой алгоритм подходит по всем параметрам. Я буду использовать MySQL и Python для создания дампа, поэтому мне понадобится что-нибудь с хорошей библиотекой python.
Комментарии:
1.
CPU-wise
иsmallest possible file
, я думаю, являются взаимоисключающими.
Ответ №1:
GZIP со стандартным уровнем сжатия должен подойти для большинства случаев. Более высокие уровни сжатия = больше процессорного времени. BZ2 упаковывается лучше, но также медленнее. Ну, всегда есть компромисс между потреблением процессора / временем выполнения и эффективностью сжатия…все сжатия с уровнями сжатия по умолчанию должны быть в порядке.
Комментарии:
1. 1 Для больших текстовых файлов, где важна скорость, просто используйте gzip с максимальной настройкой.
2. В итоге я использовал это. Погружение Марка Пилигрима в Python 3.0 также дает отличные инструкции для этого, что всегда удобно.