기존에 사용하던 LZSS 알고리즘 대신 LZMA(T) 알고리즘을 사용해 보았습니다.
코드는 C 로 만들어 져 있는 상태에서 LZSS 와 동일하게 obj 를 생성하여 함께 빌드 하였습니다.
352KB 의 단순한 구조의 BMP 를 가지고 압축을 비교 해 본 결과 LZSS 와 LZMA(T)는 많은 차이가 발생하였습니다.
LZMA(T) 가 7zip 에서 사용하는 구조인 것을 감안할때 기대했던 만큼 높은 압축율을 보여 주는 듯 합니다.

LZSS : 352KB -> 142KB (40% 만큼 크기 감소)
LZMA(T) : 352KB -> 100KB (28% 만큼 크기 감소)

속도에 있어서는 CPU 가 빠른 이유로 차이를 못 느낀다고는 하지만, 일단 압축율을 비교해 보았을 때 LZMA(T) 의 압축알고리즘은 현존 최고에 해당하지 않는가 합니다.

테스트에 사용한 이미지와 실행 바이너리를 첨부합니다.

Posted by 견족자K rageworx