Zstandard
Бібліотека C для потужного та швидкого стиснення
Швидке стиснення та декомпресія в режимі реального часу за допомогою бібліотеки C з відкритим вихідним кодом
Zstandard — це бібліотека стиснення C з відкритим вихідним кодом, яка забезпечує потужний і швидкий алгоритм для високих ступенів стиснення в програмах C. Бібліотека пропонує дуже широкий діапазон швидкості та доступна за подвійною ліцензією BSD та GPLv2. Бібліотека підтримує режим стиснення словника, який дуже корисний для стиснення невеликих даних.
Бібліотека Zstandard націлена на сценарії стиснення в реальному часі на рівні zlib і кращі коефіцієнти стиснення. Бібліотека підтримує регулярні рівні стиснення від 1 до 22. Будь ласка, пам’ятайте, що рівні 20 і вище слід використовувати обережно, оскільки для безперебійної роботи потрібно набагато більше пам’яті.
API дуже стабільний, добре задокументований і дуже простий у використанні. Він включає підтримку кількох важливих функцій, пов’язаних зі стисненням і розпакуванням, потоковим стисненням і розпакуванням, допоміжними функціями словника, розміром кадру, кращим керуванням пам’яттю. Бібліотека також підтримує розширені функції для стиснення та декомпресії, безбуферні та синхронні функції внутрішнього потоку, безбуферне потокове стиснення та декомпресію (синхронний режим).
Початок роботи зі Zstandard
Рекомендований спосіб інсталяції Zstandard – з GitHub, будь ласка, скористайтеся наступною командою для плавної інсталяції.
Установіть бібліотеку Zstandard через GitHub
gh repo clone facebook/zstd
Стиснення та декомпресія через C API
Бібліотека з відкритим кодом Zstandard містить кілька важливих функцій для стиснення та розпакування. Бібліотека пропонує функції стиснення та розпакування в пам’яті. Він пропонує кілька рівнів стиснення, які розширюють параметри швидкості та співвідношення. Ви можете легко стиснути або розпакувати один файл, а також кілька файлів за допомогою однієї команди. У новому випуску швидкість декомпресії була додатково покращена.
Багатопотокове стиснення та декомпресія через C API
Є кілька бібліотек стиснення, які є однопоточними, що означає, що користувачі повинні довіряти іншому програмному забезпеченню або писати власний багатопотоковий код. Бібліотека з відкритим кодом Zstandard включає функції, які дозволяють операцію стиснення використовувати кілька потоків за допомогою команд C. Чудова річ полягає в тому, що процес стиснення може перемикатися на багатопотоковий API, і процес декомпресії не вимагатиме жодної спеціальної обробки.
Стиснення та декомпресія малих даних
Як правило, було помічено, що завжди дуже важко стиснути або розпакувати меншу кількість даних. Це дуже поширена проблема, з якою стикається більшість програм стиснення. Бібліотека Zstandard покращила це, запропонувавши режим навчання, який дозволяє користувачам вибирати вибраний тип даних. Таким чином, для налаштування програми використовується кілька зразків із невеликою кількістю даних у навчальному модулі. Результат навчального модуля зберігається у файлі під назвою словник, який використовується в майбутньому перед будь-яким стисненням і розпакуванням. Було помічено, що алгоритм стиснення вчиться на минулих даних і тому, як стискати майбутні дані. Таким чином, використовуючи концепцію словника, коефіцієнт стиснення та розпакування невеликих даних було значно покращено.