테스트 환경 :

 - 허프만 테이블에 대한 압축은 적용되지 않았음.
 - Run-Length 2차 압축은 적용되지 않았음.

테스트 대상 :

1. 텍스트 파일, 저용량.
2. 텍스트 파일, 대용량.
3. 일반 파일, 저용량.
4. 일반 파일, 대용량.
5. 미디어 파일.

테스트 결과 :

* compressed rate
압축된 사이즈의 비율을 나타냄.
즉, 90% 는 100 의 데이타가 10 으로 압축되었음을 의미함.
0.1% 는 압축이 거의 되지 않았음을 의미함.
-100% 는 오히려 크기가 두배로 늘었음을 의미함.

* 알집 압축은 zip 최대로 실험.

1. 텍스트 파일 / 저용량

file : AIRPlayer.as

original size : 103 (0.10kb)
compressed size : 445 (0.45kb)
compressed rate : -332.04%
알집 압축 : 196바이트 (196 바이트)
알집 압축률 : -90.29%

2. 텍스트 파일 / 대용량

file : DioDeoChannelPlayer.as

original size : 53053 (53.05kb)
compressed size : 8514 (8.51kb)
compressed rate : 83.95%
알집 압축 : 8.67KB (8,887 바이트)
알집 압축률 : 83.25%

3. 일반 파일 / 저용량

file : os.dat

original size : 417 (0.42kb)
compressed size : 770 (0.77kb)
compressed rate : -84.65%
알집 압축 : 270바이트 (270 바이트)
알집 압축률 : 35.25%

4. 일반 파일 / 대용량

file : VBA4Hanmaru.exe

original size : 3395671 (3395.67kb)
compressed size : 2001338 (2001.34kb)
compressed rate : 41.06%
알집 압축 : 2.55MB (2,680,893 바이트)
알집 압축률 : 21.05%

5. 미디어 파일

file : 03_My Story.mp3

original size : 6723712 (6723.71kb)
compressed size : 3968341 (3968.34kb)
compressed rate : 40.98%
알집 압축 : 6.37MB (6,686,878 바이트)
알집 압축률 : 0.55%

테스트 분석 : 

문제점 1. 여타 압축 프로그램보다 작은 텍스트 파일의 뻥튀기 압축이 심하다.
해결방안 - 헤더 압축과 특정 사이즈 미만, 특정 압축비율을 고려하여 최종 압축 방법을 나누는 방법을 택해야 할듯.

문제점 2. 프로세스가 너무 오래걸린다.
해결방안 - Client 리소스가 아닌 메모리를 사용하는 구조라 어쩔수 없다. Client 리소스를 사용하는 구조로 변경하면 해결 될듯.

※미디어 파일의 경우, 압축률이 30~45% 정도 나오는게 무지 신기하다. 알집, rar 다 1%가 채 안되는데
내가 알고 있는 지식으로도 미디어 파일 자체가 압축되어 있는 구조기 때문에 압축이 거의 안된다고 알고 있는데
의외의 성과가 나타난거 같은 느낌이 든다.
(물론 아직 속도는 무지막지하게 느림 mp3 파일 하나에 1분넘게 걸림 ㅋㅋㅋ)

앞으로 진행 방향 :

일단 여타 압축 프로그램은 기본 테이블을 가지고 있기 때문에

특정 파일에 대해서는 보다 높은 압축률을 보여주지만

아직 최적화가 되지 않은 날소스기 때문에 아직 개선할 여지가 많다고 보여진다.

헤더 테이블은 "미리 선언된 테이블" 을 활용하는 방법과

2차 압축으로 Run-Length 압축을 한번 더 하는 방법을 과제로 삼아야 겠다.



앞으로 추가될 기능 :

1. 아주 이쁜 UI 가 오늘 떠올라서 그대로 구현해볼 예정이다.

2. 최적화 기능중에 Flash 가 CPU 를 컨트롤 못하기 때문에 시간을 늘리더라도 Client 에 부하를 덜 주는 핵심기능을 넣을 예정이다.



남겨둔 과제 :

1. 폴더 지원.
2. 타 압축 프로그램으로 해제할 수 있는 기능.
3. 비밀번호 기능. (이건 테이블만 암호화하면 될듯)



p.s.

아 드디어 모듈이 완성됐습니다. ㅠ.ㅠ

압축률 테스트해보니 용량이 작은 파일에 대해서는

상용프로그램에 비할바가 안되지만

헤더 압축과 여러가지 알고리즘을 적용해서 어느정도 오차는 줄일 수 있을거 같네요..

하지만 놀라운건 mp3 나 avi 미디어 파일에 대해서

압축률이 대단했슴다!!! (나도 어안이 벙벙 @_@)

고스톱에서 처음 치는 사람이 3고에 흔들고 쌍박한다는 옛말이 떠오르더랍니다;;

달랑 허프만 알고리즘 하나로 압축했더니 압축률이 무려 40%를 상회하더라구요;;

쨌든 제가 제일 자신 있는 이쁜 UI 입히고 가장 급한 기능만 입혀서

AIRPackager 라는 모듈명으로 배포한후에

Updater 기능을 통해서 자동 업데이트 기능으로 업데이트 되도록 해야겠습니다^^

기대해주세용~~

신고

'Adobe AIR > 내가 만든 AIR' 카테고리의 다른 글

[AIR] Capture for Messenger 메신져로 캡쳐화면 보내기.  (38) 2008.03.10
[AIR] ByteViewer  (11) 2008.02.29
[AIR] 압축 모듈 테스트.  (2) 2008.02.16
[AIR] MP3Analyzer MP3 분석툴  (10) 2008.01.23
[AIR] FLV Metadata Injector Ver.0.5  (2) 2007.11.15
[AIR] AIR FLV Player 1.5  (7) 2007.10.18
  1. 찌노 2008.06.11 11:24 신고

    우야꼬님, 이건 언제 배포를..? 압축 알고리즘을 모르니 어떻게 만들어야 할지.. ㅠ.ㅠ

    • Favicon of http://wooyaggo.tistory.com 우야꼬  2008.06.11 11:46 신고

      아 요놈이 알짜배기 모듈인데
      모듈은 다 만들어놓고 지금 껍데기단에서
      현업에 밀려 있네요 -_ㅜ
      은근히 작업량이 많아서리;;

+ Recent posts