Библиотека Go для параллельного сжатия и распаковки

API Golang для программного создания и чтения стандартных файлов GZIP. Сжимайте большие файлы, разбивая их на блоки и выполняя параллельное сжатие/распаковку. 

pgzip — это библиотека с открытым исходным кодом, которая предоставляет полную функциональность для параллельного сжатия и распаковки с использованием языка Go. Библиотека очень удобна для сжатия большого количества данных, так как она разбита на блоки и параллельно выполняет сжатие/распаковку. Библиотека pgzip невероятно популярна среди сообщества разработчиков и позволяет приложениям Go напрямую читать сжатые файлы с помощью всего пары команд.

Библиотека очень стабильна и позволяет разработчикам программно генерировать, а также читать стандартные файлы GZIP. Чтобы получить максимальную отдачу от библиотеки, рекомендуется использовать сжатие или распаковку большого объема данных (более 2 МБ за раз). Библиотека включает поддержку нескольких важных функций, таких как сжатие файлов, распаковка файлов, открытие и чтение файлов GZIP и многое другое.

Previous Next

Начало работы с 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 во время распаковки является то, что он позволяет выполнять другую работу во время распаковки.

 Русский