본문 바로가기

Compression

(2)
LZSS , LZMA(T) 압축 비교. 기존에 사용하던 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) 의 압축알고리즘은 현존 최고..
64bit 실행 파일 압축은 어떻게 ? : mpress v2.12 기존에 Ojbect Pascal 로 빌드된 실행 파일들은 UPX 를 이용하여 striping 과 symbol remove 를 수행 하였습니다만, 64bit 로 넘어 오면서 만들어진 실행 파일들에 대해 UPX 를 적용하기가 어려웠습니다. 그래서 찾아 보던 중 mpress 가 x86.64bit 실행파일들을 지원 한다는 것을 알게 되었고, 이를 64bit 용으로 만들어진 EXE 를 압축 하는데 테스트 해 보게 되었습니다. 일단 FPK 로 빌드된 win64 용 실행파일은 무려 12MB 를 육박 하고 있습니다... 이런 바이너리 크기 차이가 상용 컴파일러와 OpenSource 의 차이이기도 합니다만 -_-;;; 아무튼 별거없이 만들어본 어플리케이션 하나가 12MB 의 크기를 가지고 있다는건 너무 heavy 한게 ..