2009. 10. 12. 08:55

[V3 Zip] V3 Zip 기능, 성능 분석

최근 안철수연구소에서 V3 Zip을 출시하였습니다.
일반 사용자에게는 무료이고, 기업 사용자가 사용하기 위해서는 구매를 통한 라이센스가 필요합니다. 이는 유명한(아니, 잘 알려진) 알집의 라이센스 정책과 흡사하다고 보여집니다.
"이번 V3 Zip은 어떤 기능과 성능을 가지고 있는가?"에 대해, 기존의 압축 프로그램과의 차이점을 토대로 설명하는 것으로 포스트하겠습니다. (1.0.1.1 기준)

1. 설치


사실 압축 프로그램은 용량이 작을 뿐더러, 압축 기능이 동작하고 있지 않을 때는 시스템에 영향을 주지 않는 것이 상식입니다. 그러나, 지면을 들여 설치 항목을 넣은 이유는, 설치 약관과 프로그램 설치시 함께 설치되는 다른 번들 프로그램의 존재 여부를 확인 하기 위해서 입니다. 이는 물론, V3 Zip이 무료 제품이기 때문에 더욱더 확인해 봐야 하는 사항입니다.


위 그림에서와 같이, V3 Zip 설치시, 다른 번들 프로그램은 설치되지 않아, 현재까지는 마음놓고 [다음>]을 마구 누르셔도 됩니다.
물론, 알집은 아래 그림과 같이 [다음>]을 누르는데 조심성이 필요합니다.


V3 Zip의 주요 약관은 다음과 같습니다.
 ② (비개인정보) 안철수연구소는 본 소프트웨어 제품에 대한 지원 및 품질 개선을 위하여 귀하가 사용하고 있는 제품의 버전, 에러정보와 같이 개인을 식별할 수 없는 비개인 정보를 수집할 수 있습니다. 또한 본 소프트웨어 제품에 포함된 배너의 통계 수집을 위해 배너 노출 수와 클릭 수를 수집할 수 있습니다. 수집한 데이터는 한시적 통계 자료로 활용되며 영구히 안철수연구소에 저장되지 않습니다.

알집 설치시의 주요 약관은 다음과 같습니다.
 4. 데이터 수집 및 사용
“회사”는 “제품”의 품질 개선을 위하여 “사용자” 컴퓨터의 운영 체제 정보, “제품”의 버전, 에러 정보와 같이 개인을 식별할 수 없는 비개인 정보를 수집합니다. 또한 “제품”에 포함된 광고의 통계 수집을 위해 광고 노출 수와 광고 클릭 수를 수집합니다. 수집한 데이터는 한시적 통계 자료로 활용되며 영구하게 “회사”에서 저장하지 않습니다. 수집된 정보는 위에 명시된 목적 외에 다른 목적으로 사용하지 않으며, 이 정보를 수집하는 목적 외의 방법으로 이용하는 경우, 이러한 이용 전에 “사용자”의 동의를 구할 것입니다.

V3 Zip은 버전(이는 업데이트를 위해 필요), 에러 정보가 전달됩니다. 또한 "배너 노출 수와 클릭 수"라는 다소 애매한 표현이 눈길을 끕니다.(배너의 의미가 광고일까? 라는 생각을 해보았는데, V3 Zip을 실행하면서 광고 같은 배너등은 전혀 없었습니다) 이와 유사하게 알집은 다소 많은 종류의 정보가 전달되는 것으로 보입니다. 알집의 광고 노출 수와 광고 클릭수는 한번 생각해볼 필요가 있습니다.


2. UI

메인 UI는, 기존의 안철수연구소 제품과 비교해서는 다소 의아한 구성으로 되어 있습니다. 보통 안철수 연구소의 로고인 파랑색과, 안전을 의미하는 녹색 등이 주로 쓰이는것과는 다르게, 툴바 아이콘에서는 기존 컨샙과는 다른 색상이 표시(정확한 파랑색이 아님)되고 있습니다.


압축 과정은 위 그림과 같이 나타났습니다. 커다란 V3 아이콘이 눈에 띄며, 안전한 스마트 압축 중 입니다.가 강조되어 있습니다. 일반 사용자 입장에서 해당 문구에 대해 신경쓰진 않을테지만, 문구의 의미와 하는 역할이 무었인지 잘 표현해 주지 않습니다. 또한 띄어 쓰기가 잘못되어 있습니다(중 입니다 -> 중입니다).
초보자를 위해서도 스마트 압축에 대한 설명을 해주던지, 아니면, 스마트 압축을 사용하여 안전하게 압축을 진행하고 있습니다라고 표현해 주면 좋겠네요.

압축을 풀때는 다음과 같이 진행됩니다.

놀라운 것은, 압축 해제에 대한 미리 보기가 지원된다는 점입니다. 압축 해제시 지겨운 시간에 눈요기를 준다는 점이 흥미로웠습니다. 알집은 같은 눈요기라도 질이다른 광고를 표시합니다(이제 알툴즈 광고와 카발 온라인은 좀 지겹네요).
여기에서도 안전한 스마트 압축 해제 중입니다.가 나타나는데, 스마트 압축을 사용하여 안전하게 압축을 해제하고 있습니다라고 표현해 주면 좋겠네요.


3. 지원 확장자

V3 Zip의 환경 설정을 통해 지원 확장자를 설정할 수 있는데, 현재 총 40개의 확장자가 지원됩니다(7z, alz, rar 포함). 그리고 알집은 36개, 그리고 7zip은 29개가 지원되고 있습니다. 많은 확장자 지원은 중요한 제품 기능 특징으로 볼 수 있지만, 특수한 경우를 제외한 일반 사용자 입장에서는 그리 매력적이지는 않습니다. (물론, alz 지원은 환영합니다)


4. 압축 효율

많은 실험을 한뒤 평균치로 테스트해야 공평한 승부가 되는데, 단 몇번의 실험으로 결과를 공유하게 된 점 양해 바랍니다. 대체적으로 압축된 파일의 크기는 알집 < 7zip < V3 Zip이였습니다. 즉, 압축 효율은 그 역이 됩니다. 허나 몇번을 압축해 봐도, 그 차이점은 고작 몇 kbyte 이하이었습니다. 즉, 압축 요율에 대한 차이점은 거의 없다고 보면 됩니다. 여기에서 눈여겨 봐야 하는 점이 있는데,

를 실행하면, 다음과 같이 V3 Zip Main UI가 실행됩니다.

바로 재압축 제외 파일 설정입니다. 설치후 기본값으로 모두 On되어 있는데, 이렇게 되면 .jpg와 같은 파일은 압축을 하지 않고 복사가 수행됩니다. 이런 경우 훨씬 빠른 압축/압축 해제가 이뤄질 것으로 예상되지만 압축 효율을 조금더 떨어지게 됩니다. 문제는 이 값이 설치후 기본값으로 On되어 있어, 위 탐색기 메뉴에서 "..."으로 압축하기를 선택하여 압축 하는 경우는 영원히 .jpg같은 파일은 압축을 하지 않게될 것입니다. 마냥 이러한 설정 존재를 모르고 테스트를 하여 다른 압축 프로그램들과 비교한다면, 당연히 압축 효율 비교 차이는 조금 벌어질 것입니다. (물론, jpg 같은 파일의 압축 효율은 매우 떨어지기 때문에, 압축한것과 안한것과는 거의 차이는 나진 않습니다.) 물론, 저는 형평성을 위해서 위 설정은 Off하였습니다.
그러나 위 설정은 휘발성 설정(즉, 환경 설정에 저장되지 않음)이 아니라, 영구적으로 저장되는 값이였습니다. 즉, 한번 설정하면, 탐색기 메뉴에서 "..."으로 압축하기를 한 상태에서도 적용되었습니다. 그런데, 저장되는 설정이지만, V3 Zip의 환경 설정에서는 해당 값이 나타나지 않았습니다. 해당 값이 휘발성 설정이 아닌 이상, 반드시 환경 설정에 들어가야 한다고 봅니다.


5. 유니 코드 파일명 압축

유니 코드에 대한 설명이 필요한데, 아는 부분을 설명하였습니다. 필요하다면 펼쳐 보세요.
구글 Japan에 가면, メール라는 단어가 등장합니다(아마도 gmail 일듯). メール.txt 라는 파일을 만들어 압축이 되는지 확인해 보겠습니다.

이와 같이 알집에서는 ?문자가 표함되는등, 유니 코드 파일명에 대한 처리가 이뤄지지 않고 있습니다. 압축을 실행하면, 다음과 같이 오류가 뜹니다. 이와 다르게, V3 Zip을 포함한 다른 압축 프로그램은 문제없이 압축이 실행되었습니다.

이러한 유니 코드 파일명 처리는 어떻게 보면, 압축 프로그램이면 당연히 처리되어야 하는 것인데, 알집에서 그 처리를 못하다 보니, 그것이 V3 Zip의 대표 기능으로 부각된거 같습니다. (V3 Zip 홈페이지에서는 글로벌 표준 압축이라는 말을 전면에 부각시키더군요)


6. 분석을 보다 더 깊숙히

Process Monitor란 프로그램이 있습니다.  이 프로그램은 시스템에서 실행중인 프로세스(쉽게 얘기하자면 응용 프로그램)의 동작을 감시하고 그 통계를 작성해 줍니다. 이를 이용하여 V3 Zip, 알집 그리고 7zip의 성능을 측정해 보았습니다. 결론을 말하자면, 속도는 V3 Zip, 알집, 7zip 순으로 빨랐으며, 실행중 메모리 사용량은 7zip, 알집, V3 Zip 순으로 적게 차지하였습니다.

테스트 환경은 다음과 같습니다.
  • CPU ; Mobile AMD Sempron(tm) Processor 2800+  1.60GHz
  • 실제 메모리 ; 333.98MB free / 704MB
  • 운영체제 ; XPSP2

테스트 방법은 100개의 .jpg 파일이 있는 폴더를 압축하는 것으로 하였습니다. 물론, OS에서 파일을 캐쉬하기 때문에, 각각 2~3번 시도한뒤, 마지막으로 나온 결과를 채택하였습니다.

● V3 Zip (재압축 제외 파일 설정 On, 즉, .jpg 같은 파일을 압축하지 않고 복사. V3 Zip 기본 동작)

- User 모드에서 사용된 Total CPU 시간 (Total User CPU) : 00:00:02.875
- Kernel 모드에서 사용된 Total CPU 시간 (Total Kernel CPU) : 00:00:02.5156250

그리고 측정된 성능은 다음과 같습니다.




● V3 Zip (재압축 제외 파일 설정 Off, 즉, .jpg 같은 파일을 압축함. 사용자가 특별히 설정을 해야 함)

- User 모드에서 사용된 Total CPU 시간 (Total User CPU) : 00:00:12.59375
- Kernel 모드에서 사용된 Total CPU 시간 (Total Kernel CPU) : 00:00:03.00

그리고 측정된 성능은 다음과 같습니다.



● 알집

- User 모드에서 사용된 Total CPU 시간 (Total User CPU) : 00:00:15.9843750
- Kernel 모드에서 사용된 Total CPU 시간 (Total Kernel CPU) : 00:00:02.4375

그리고 측정된 성능은 다음과 같습니다.



● 7zip

- User 모드에서 사용된 Total CPU 시간 (Total User CPU) : 00:00:17.09375
- Kernel 모드에서 사용된 Total CPU 시간 (Total Kernel CPU) : 00:00:00.71875


이를 토대로 분석 가능한 내용은 다음과 같습니다.

1) 실행 기간
V3 Zip (재압축 제외 파일 설정을 Off) << V3 Zip (재압축 제외 파일 설정을 On) < 알집 < 7zip 순입니다. 즉, V3 Zip (재압축 제외 파일 설정을 Off)한 경우가 가장 월등히 빠르며, 그 이외는 조금씩 차이가 났습니다. 알단 해당 설정과 상관없다고 해도 V3 Zip의 속도가 가장 빨랐습니다. 예시와 같이 모두 .jpg 파일만 압축하는 경우에서는 굉장한 속도 차이를 나타낼 것입니다. 걸린 시간은 2.875초 << 12.59375초 < 15.984375초 < 17.09375 와 같았습니다. 물론, 압축 효율은 2.875초 일때 가장 낮았지만, .jpg 파일 자체의 압축 효율이 떨어지기 때문에, 고작 몇 kbyte 차이만 발생했습니다. 즉, V3 Zip은 몇 kbyte 손해보더라도 3배~4배 압축을 빨리 끝낼래? 전략인거 같습니다.

2) 알집의 네트워크 사용
압집은 압축을 하는 과정중, Network Event가 총 31번 발생하고 있습니다. 아마도 광고 배너 다운로드 작업일듯 합니다. 혹시, 압축 파일명 등 주요 개인 정보를 전송하는것은 아니겠죠? 어떻든, 압축 파일 작업중에, 압축 파일 IO가 아닌 네트워크 이벤트가 발생한다는 것은 압축 실행 진행상 부담을 주는건 사실일 듯 합니다. (위 그래프를 보면, 압축 작업 중간과 끝에 네트워크 이벤트가 발생하였습니다.)

3) 메모리 사용량은 속도와 반비례
백신, 워드 제품이 아닌 이상, 압축 프로그램은 최대 분단위로 실행되고 끝나기 때문에, 메모리 사용량에 대해서는 관대할 수 있다고 봅니다. 그러나 V3 Zip에서는 다소 20.1MB라는 큰 메모리가 사용되는 것으로 보여집니다. 물론 압집은 12.2MB, 7zip은 고작 6.42MB 입니다. (7zip이 UI를 단순하게 표현한 이득이지 않을까요...)

4) Kernel 모드에서 사용된 시간
7zip이 굉장히 짧습니다. Windows OS는 크게 User Mode와 Kernel Mode로 구별될 수 있는데, Kernel Mode에서는 파일 IO의 직접적인 명령 처리가 이뤄진다고 보면 됩니다(물론, 짧게 설명하자면 그렇습니다). 7zip에서는 File IO 처리를 위한 버퍼 크기를 크게 해서, Kernel Mode로 진입하는 횟수를 줄여, 그 시간을 짧게 하지 않았나?라고 대충 유추해 봅니다. 따라서, 7zip으로 압축을 하면, 동시에 실행중인 다른 프로그램의 성능에 영향을 가장 적게 준다라고 볼 수 있습니다.


7. CUI command line 지원

과거 MS-DOS 시절 arj/pkzip 등을 이용하여 압축을 하였습니다. 그 당시 압축은, 상당히 컴퓨터를 잘 다루는 사람들만의 전유물로 되어 있었는데, 윈도우 3.1/95로 넘어오면서, GUI로 편리하게 압축을 하게 되었습니다. 이제 과거 압축 CUI 명령들은 잘 안쓰이는 것으로 그 의미가 퇴색되어 가고 있습니다. 하지만, 제 업무 PC는 중요한 데이터 파일을 .zip으로 압축하는 .bat 파일을 시작프로그램에 등록하여, 부팅시마다 백업을 하도록 만들어 놨습니다. 이런 CUI 모드에서의 실행은 알집이나 V3 Zip에서는 없었으며, 7zip에서는 아직도 지원되고 있습니다.

C:\Program Files\7-Zip>7z.exe

7-Zip 4.65  Copyright (c) 1999-2009 Igor Pavlov  2009-02-03

Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
       [<@listfiles...>]

<Commands>
  a: Add files to archive
  ...


V3 Zip에서도 이러한 콘솔 모드가 지원이 된다면 좋겠으며, UI 등에서 콘솔 명령을 쉽게 알려주는 기능도 있다면, 보다 많은 사람들이 쓸수 있을 것 같다는 생각이 듭니다.


8. 결론

본 포스트를 요약하면 다음과 같습니다.
  1. V3 Zip은 일반 고객에게 무료 프로그램으로 빠른 처리 능력을 보여준다.
    (.jpg만 압축하는 경우 3배~4배 빠름)
  2. V3 Zip은 .jpg와 같은 압축 효율이 떨어지는 파일들을 압축 대신 복사 하여 속도를 개선한다.
    속도는 대폭 개선되었지만, 압축 효율은 약간 떨어진다. (복사와 압축 정책은 설정으로 결정)
  3. V3 Zip은 알집이나 7zip에 비해 메모리 사용량이 많다.
  4. 알집은 압축 과정에서, 압축 작업과 관련없어 보이는 네트워크 이벤트가 발생한다.
  5. 알집이 처리하지 못하는 유니 코드 파일명을 무리 없이 진행시킨다.

이를 통한 결론은, V3 Zip은 일반 사용자에게는 충분히 쓸만한 가치가 있는 것으로 보여집니다. 다소 사용중 몇몇 버그나 개선점이 필요해 보였지만, 업데이트를 통해 수정될 것으로 기대됩니다. 다소 왜곡되어 보여지는 국내 압축 유틸리티 시장을 표준으로 한차원 끌어 올려줄 것입니다.


PS. 내 시스템의 .zip은 어떻게 구성되어 있을까?

본 포스트를 구상하면서, 과연 내 PC의 압축 파일(.zip) 내에는 어떤 파일들이 들어있을까?라는 궁금증이 있어서, 이러한 통계를 구해주는 프로그램을 제작해 보았습니다. 압축 라이브러리는 Code Project에서 가져왔습니다.

실행하고, 끝까지 진행되면 "열기"가 활성화 됩니다. 열어 보면 다음과 같은 결과가 보고됩니다.
확장자 평균 압축률 등장횟수 원본 파일 크기의 총합
.com 63.533211% 2 44054
.frm 19.832356% 1 24576
.jpg 83.568829% 326 218167460
... ... ... ...

이 말인즉, 실행한 드라이브에 있는 모든 .zip을 검사한 것으로, ****.com 파일은 2개, *****.jpg 파일은 326개,... 등장했다고 이해하시면 됩니다. *****.jpg 파일 326개의 평균 압축 효율은 83.568829%로, 숫자가 높을수록 압축이 잘 안되는 파일입니다. 물론, 100%가 넘어가는 파일도 있습니다. 그리고, 326개의 jpg 파일의 원본 파일 총 크기는 약 218MB 정도 됩니다.

이를 통해 분석을 해보면, 저희집 PC에서는 .jpg 파일 같은 미디어 파일 압축이 많이 이뤄졌음을 알수 있었습니다. 즉, V3 Zip으로 큰 이득을 볼 수 있다는 겁니다. 이에 반해, 회사 PC에서는 .jpg 등의 미디어 파일 압축 빈도가 매우 낮았습니다. 뭐, 이는 사용자의 취향, 성향에 따라 분포는 다를 것으로 보입니다.