최근 수정 시각 : 2024-07-01 04:46:33

zlib

http://www.zlib.net/

Deflate 압축 알고리즘을 C언어로 구현한 라이브러리이다.

zlib와 deflate 의 차이점은, deflate는 압축 알고리즘이고, zlib 는 이걸 실제 프로그래밍 언어로 구현한 구현체라는 것이다.

원래 Deflate ZIP 포맷에 사용하기 위해서 만들어진 비손실 압축 알고리즘인데, 이 알고리즘이 구현되자 이를 Jean-Loup Gailly와 Mark Adler가 오픈 소스로 구현후 공개한것이 zlib이다.

zlib의 특징은 완전 무료로 거의 제한 없이 사용 가능한 라이선스( zlib license)와 deflate 압축 알고리즘을 매우 빠르게 구현하였고, 이식성이 높은 C언어를 사용하였다는 것이다. 다만 SIMD와 같은 하드웨어 가속을 일절 사용하지 않고 오로지 컴파일러 최적화에만 의지하다 보니 속도에 있어서 좋은 편은 아니다. 그래서 해당 라이브러리에 SIMD 코드를 이식한 포크들이 존재하며 API또한 호환되는데 주로 사용되는 구현은 Cloudflare의 포크와 Intel이 구현한 포크가 있으며 API호환성은 없지만 아예 새롭게 구현한 libdeflate와 같은 라이브러리 구현들이 있다. zlib와 그 포크들의 벤치마크

이 때문에 압축 알고리즘계의 산업 표준이며 수많은 프로그램에 이식되어 사용되고 있다. GitHub의 수많은 프로젝트들에도 웬만큼 규모가 있다 싶으면 압축을 안 하기 힘들기 때문에 거의 zlib을 포함 라이브러리로 요구하는 경우가 많다.

분류