Библиотека Go для параллельного сжатия и распаковки
API Golang для программного создания и чтения стандартных файлов GZIP. Сжимайте большие файлы, разбивая их на блоки и выполняя параллельное сжатие/распаковку.
pgzip — это библиотека с открытым исходным кодом, которая предоставляет полную функциональность для параллельного сжатия и распаковки с использованием языка Go. Библиотека очень удобна для сжатия большого количества данных, так как она разбита на блоки и параллельно выполняет сжатие/распаковку. Библиотека pgzip невероятно популярна среди сообщества разработчиков и позволяет приложениям Go напрямую читать сжатые файлы с помощью всего пары команд.
Библиотека очень стабильна и позволяет разработчикам программно генерировать, а также читать стандартные файлы GZIP. Чтобы получить максимальную отдачу от библиотеки, рекомендуется использовать сжатие или распаковку большого объема данных (более 2 МБ за раз). Библиотека включает поддержку нескольких важных функций, таких как сжатие файлов, распаковка файлов, открытие и чтение файлов GZIP и многое другое.
Начало работы с pgzip
Рекомендуемый способ установки pgzip — с GitHub, используйте следующую команду для плавной установки.
Установить pgzip через команду
go get github.com/klauspost/pgzip/...
Сжимайте большие файлы через Go API
Библиотека pgzip с открытым исходным кодом включает в себя функции для сжатия больших объемов файлов данных с помощью нескольких строк кода Go. API поддерживает разбиение большого файла на мелкие части (по умолчанию размер блока составляет 1 МБ) и может обрабатываться до количества потоков ЦП. Вы можете легко контролировать размер блоков, а также настраивать его в соответствии с вашими потребностями и тем, сколько вы хотите обрабатывать параллельно. Для лучшего прироста производительности пользователям рекомендуется сжимать как минимум более 1 мегабайта данных за раз.
Распаковка файлов через Go API
Бесплатная библиотека pgzip позволяет разработчикам программного обеспечения распаковывать файлы внутри собственных приложений Go. Как и при сжатии, распаковку также можно выполнить, настроив размер блока. Вы можете легко получить свой собственный ридер и указать свой собственный считыватель вперед. Для вашего ридера вам нужно определить размер блока и максимальное количество блоков, которые будут декодированы заранее.
Улучшение производительности
Производительность pgzip может быть улучшена по сравнению с gzip, когда у вас есть большие объемы данных. Поскольку pgzip обрабатывает блоки параллельно, очевидно, что он имеет преимущество в скорости по сравнению с другими компрессорами. Использование для высокой пропускной способности материалов с высокой степенью сжатия, таких как журналы, данные JSON и CSV, также может быть полезным. Одним из больших преимуществ pgzip во время распаковки является то, что он позволяет выполнять другую работу во время распаковки.