Zstandard
강력하고 빠른 압축을 위한 C 라이브러리
오픈 소스 C 라이브러리를 통한 빠른 실시간 강력한 압축 및 압축 해제
Zstandard는 C 애플리케이션 내부의 높은 압축률을 위한 강력하고 빠른 알고리즘을 제공하는 오픈 소스 C 압축 라이브러리입니다. 라이브러리는 매우 광범위한 속도를 제공하며 이중 BSD 및 GPLv2 라이선스에서 사용할 수 있습니다. 라이브러리는 작은 데이터 압축에 매우 유용한 사전 압축 모드를 지원합니다.
Zstandard 라이브러리는 zlib 수준 및 더 나은 압축 비율에서 실시간 압축 시나리오를 대상으로 합니다. 라이브러리는 1에서 22까지의 일반 압축 레벨을 지원합니다. 레벨 20 이상은 원활한 작업을 위해 훨씬 더 많은 메모리가 필요하므로 주의해서 사용해야 합니다.
API는 매우 안정적이고 잘 문서화되어 있으며 처리하기가 매우 쉽습니다. 압축 및 압축 해제, 스트리밍 압축 및 압축 해제, 사전 도우미 기능, 프레임 크기 조정, 더 나은 메모리 관리와 관련된 몇 가지 중요한 기능에 대한 지원이 포함되었습니다. 라이브러리는 압축 및 압축 해제, 버퍼 없는 동기 내부 스트리밍 기능, 버퍼 없는 스트리밍 압축, 압축 해제(동기 모드)를 위한 고급 기능도 지원합니다.
Zstandard 시작하기
Zstandard를 권장하는 설치 방법은 GitHub에서 하는 것이며, 원활한 설치를 위해 다음 명령어를 사용하시기 바랍니다.
GitHub를 통해 Zstandard 라이브러리 설치
gh repo clone facebook/zstd
C API를 통한 압축 및 압축 해제
오픈 소스 라이브러리 Zstandard에는 압축 및 압축 해제를 위한 몇 가지 중요한 기능이 포함되어 있습니다. 라이브러리는 메모리 내 압축 및 압축 해제 기능을 제공합니다. 속도 및 비율 기본 설정을 확장하는 여러 압축 수준을 제공합니다. 단일 명령으로 단일 파일과 여러 파일을 쉽게 압축하거나 압축 해제할 수 있습니다. 새로운 릴리스에서는 감압 속도가 더욱 향상되었습니다.
C API를 통한 다중 스레드 압축 및 압축 해제
단일 스레드인 압축 라이브러리가 여러 개 있으므로 사용자는 다른 소프트웨어를 신뢰하거나 자체 다중 스레드 코드를 작성해야 합니다. 오픈 소스 라이브러리 Zstandard에는 C 명령을 사용하여 여러 스레드를 활용할 수 있는 압축 작업을 허용하는 기능이 포함되어 있습니다. 좋은 점은 압축 프로세스가 다중 스레드 API로 전환될 수 있고 압축 해제 프로세스에 특별한 처리가 필요하지 않다는 것입니다.
작은 데이터 압축 및 압축 해제
일반적으로 적은 양의 데이터를 압축하거나 압축 해제하는 것이 항상 매우 어렵다는 것을 알았습니다. 대부분의 압축 프로그램이 직면하는 매우 일반적인 문제입니다. Zstandard 라이브러리는 사용자가 선택한 데이터 유형을 선택할 수 있는 교육 모드를 제공하여 이를 개선했습니다. 따라서 훈련 모듈에서 프로그램을 조정하기 위해 적은 양의 데이터와 함께 소수의 샘플이 사용됩니다. 훈련 모듈의 결과는 사전이라는 파일에 저장되며 이는 향후 압축 및 압축 해제 전에 사용됩니다. 압축 알고리즘은 과거 데이터 및 미래 데이터 압축 방법을 학습하는 것으로 관찰되었습니다. 따라서 사전 개념을 사용하여 작은 데이터에 대한 압축 및 압축 해제 비율이 크게 향상되었습니다.