Show GN: slimg - Rust로 만든 이미지 최적화 CLI (54GB → 8GB)

1 month ago 13

왜 만들었나요?

Google의 Squoosh라는 툴을 애용했는데, CLI 버전은 실행하면 오류가 나고 웹 버전은 쓸만했지만... Google 특유의 방치 상태에 결국 직접 만들기로 했습니다. 대체제를 찾아봤는데 마음에 드는 게 없었습니다.

slimg란?

Rust로 작성된 이미지 최적화 CLI입니다. JPEG, WebP, PNG, AVIF, QOI 간 변환과 리사이즈, 품질 최적화를 지원합니다. MozJPEG, OxiPNG, ravif 같은 최신 코덱을 사용합니다.

실제 사용 결과:

개인 사진 54GB를 일괄 최적화했는데 8GB로 줄었습니다. (85% 감소) 품질은 육안으로 거의 차이 못 느끼는 수준입니다.

# 디렉토리 일괄 처리 (병렬) slimg convert ./photos --format webp --quality 85 --recursive # 리사이즈 + 변환 slimg resize photo.jpg --width 800 --format avif --quality 70

기술적인 특징:

  • Rayon으로 모든 CPU 코어 병렬 처리
  • 임시 파일 → atomic rename으로 안전한 overwrite
  • 라이브러리(slimg-core)와 CLI 분리 (재사용 가능)
  • C 코덱 바인딩으로 네이티브 성능

설치:

brew install clroot/tap/slimg # https://github.com/clroot/slimg/releases

GitHub: https://github.com/clroot/slimg

Read Entire Article