소프트웨어 7-Zip을 쓰자 : 개선된 알고리즘 LZMA2
2012.06.01 12:43
7-Zip의 기본 알고리즘은 LZMA입니다. 그런데 7-Zip은 예전부터 이것보다 개선된 LZMA2 알고리즘을 지원하고 있었습니다.
더 나아진 알고리즘을 지원함에도 불구하고 왜 개선된 알고리즘을 기본옵션으로 하지 않는지는 7-Zip 개발자가 아니라서 모르겠군요.
아무튼 그러한 옵션이 있다는걸 알았으니 기존의 알고리즘과 개선된 알고리즘이 어떻게 다른지 비교해보겠습니다.
압축테스트에 사용될 데이터입니다.
용량과 파일갯수가 이정도면 테스트감이라 할만하죠.
다음은 압축설정 화면입니다.
- LZMA
- LZMA2
다른것은 모두 같고, 압축옵션에서 LZMA와 LZMA2만 다르게 설정해줬습니다.
압축결과입니다. 줄어든 용량을 보니 아무래도 압축이 잘되는 데이터만 모여있었던것 같군요.
- LZMA
- LZMA2
동일파일을 WinRAR(rar)와 알집(egg)으로 최대압축해보니 각각 1GB와 3GB가량으로 압축되었습니다.
그러니 이정도면 지존7-Zip이라 불릴만하죠.
소요된 시간을 직접 측정하지는 않았지만 두가지 모두 약 40분가량 소요되었습니다.
LZMA2가 LZMA보다 압축률이 미묘하게 높은데 걸리는 시간은 크게 다르지 않았습니다. 제가 듀얼코어라 그럴겁니다.
지원하는 최대스레드 갯수가 LZMA는 2개, LZMA2는 8개로 알고있습니다. 쿼드코어 이상이었다면 더 빨라졌을겁니다.
이제 7-Zip을 사용할때는 LZMA2 알고리즘을 사용하세요. 압축률이 더 높아지고 쿼드코어 이상의 프로세서에서 압축속도가 더욱 빨라집니다.
댓글 [32]
-
Trast 2012.06.01 18:13
-
만쓰 2012.06.01 19:00
좋은 강좌 감사합니다...
-
슈퍼맨 2012.06.01 21:05
7zip가 압축률하난 좋은데..오래걸리죠.. 리소스먹는것도 ㅎㄷㄷ하고
특성자체가 그런데 옵션을 더 먹이면 굉장히 무겁죠....
그래서 아직은 윈라유저가 훨씬 많은듯....
파일종류마다 최적의 압축방식은 다르긴합니다만...어느 하나가 진리라고는 못보죠...
-
NEX 2012.06.01 22:42 저는 압축프로그램이라면 속도가 조금 느리더라도 압축률이 높은걸 선호합니다.
윈라가 속도와 압축률 사이에서 적절히 타협한건 좋은데 7-Zip과 비교시 똑같이 솔리드압축에 최대로 해도 7-Zip이 압축률이 높아서 7-Zip을 주로 씁니다.
-
lubwiz 2012.06.02 00:51
전 압축률 별로 신경 안씁니다. 다만 얼마나 대중성이 있고 복구나 암호화지원 그리고 속도가 빠르냐가 중요하죠. 사실 400메가나 420메가나 인터넷에서 의미있는 용량은 아니지 않나요? 하드가 모자른것도 아니고 전송속도가 느려서 20메가때문에 목숨걸일도 없구요. 반디집이랑 7zip 만 딱 설치해서 쓰게 되더군요. 카피라잇때문에 문제될것두 없구요 winrar 저도 오랫동안 사용하던 sw 였습니다만 평가판이고 랩탑 가지고 회사같은데서 쓰다가 걸려서 문제될까봐 제컴에 모든 sw 는 기업에서까지도 freeware 로 사용하고 있습니다. 정품은 os 와 오피스2010 두가지죠.
-
NEX 2012.06.02 11:27 그렇군요. 어쨌든 저는 높은압축률을 선호하는지라.
-
brucekim 2012.06.03 00:24
"그렇군요. 어쨌든 저는 높은압축률을 선호하는지라."
- NEX님 맞습니다!
"동일파일을 WinRAR(rar)와 알집(egg)으로 최대압축해보니 각각 1GB와 3GB가량으로 압축되었습니다.
그러니 이정도면 지존7-Zip이라 불릴만하죠."
- 대단한 거죠!
lubwiz님은 압축을 왜 한다고 생각 하시나요?
압축은 왜하는건지? 압축률에 신경 안쓰면 뭐에 신경 쓰시나요?
-
NEX 2012.06.03 06:31 저랑 생각이 비슷하시군요^^; 하지만 사람마다 지향하는바가 다를수도 있죠.
7-Zip을 쓰는분들중 저처럼 압축률에 더 선호하시는 분들 참고하시라고 올린 글입니다.
아래 오펜하이머님께서 LZMA2는 압축이 안풀릴수 있다고 하셨는데 이건 LZMA2가 나온지 얼마 안된거라
다른 프로그램들이 지원을 못해서 그런거라고 봅니다. 시간이 해결해줄 문제라고 보기때문에 저는 그냥 사용하죠 ㅋ
-
DarknessAngel 2012.06.18 06:28
제경우는 최근 압축을 용량 줄이는게 아니라 그냥 파일 묶거나, 유니코드파일명을 안 되는 서버등에 보낼떄 씁니다 (그냥 압축율 0 세팅합니다)
이외에 네트워크 전송이나 odd등 보존시 복구를 위한 rr이란 요소도 있습니다
거기에 일부경우 다중 압축을 통해 동일하게 파일을 입수하게 해놓고도 사용자 그룹에 따라 다른 패스워드만 줘서 일부만을 유포하고싶을때도 간단하게 암호 걸어서 압축을 하는경우가 있습니다
사용자에 따라 사용쳐는 다 다른겁니다
그리고 7z의 고질병으로 고압축율인 대신 zip등보다 느린 압축/해제 속도를 보이며, foobar등에서 미해제상태에서 zip/rar등은 읽어도 7z는 못 읽어서 재생할때 일일히 풀어야하는등 어플의 호환문제도 있습니다
-
오펜하이머 2012.06.02 09:30
lzma2가 가끔씩 풀리지 않는 문제가 있습니다.
일단 다른 툴에서는 거의 풀지를 못하며 7zip도 구버전으로는 안풀리는것이 있으며,
기본값인 lzma 정도면 무난하고 다른 어떤 방식보다 우수한건 맞습니다.
-
NEX 2012.06.02 11:27 그런문제가 있었군요? 저는 7-Zip 9.20만 쓰다보니 몰랐습니다. 그래도 이왕이면 최신알고리즘을 쓰렵니다 ㅎㅎ
사적으로 보관하는 파일들은 LZMA2를 쓰지만, 남들한테 공유하는 파일을 압축할때는 LZMA를 쓰도록 해야겠네요.
정보 감사합니다.
-
니오늘몇시 2012.06.02 16:41 저도 lzma2로 압축하면 혹시나 호환성 문제가 생길까봐 사용하지 못하고 의도적으로 lzma를 이용했는데,
글보고 이제야 알겠네요. 좋은 정보 감사합니다.
-
IceMan 2012.06.03 01:11
오펜하이머님 의견에 한표 추가합니다.. 아직은 좀(?) 불안합니다..
-
메리아 2012.06.03 16:50 -
-
NEX 2012.06.03 17:02 40분 소요된건 7-Zip 이야깁니다.
다른건 압축걸어놓고 쳐다보지 않아서 얼마걸린지 모르겠는데 7-Zip보다는 빨랐을겁니다.
그리고 좀 답답한게, LZMA2를 모르는분들이 있는듯해서 '이런게 있다' 뜻으로
간단한 테스트값을 첨부해서 정보글을 쓴건데 어째 의도와는 다른 리플들이 있는듯 하네요.
제가 유난히 압축이 잘되는 데이터들을 가지고있는지는 모르겠지만
3GB파일이 1MB로 줄어드는 기적(?)도 경험해봐서 7-Zip만 쓰고있습니다.
저의 경우이지만, 시간이 오래걸리는건 상관없더군요.
끝날때까지 쳐다보고 앉아있는것도 아니고 다른작업을 하면 되니까요.
-
메리아 2012.06.03 19:39 -
-
NEX 2012.06.03 19:59 3GB짜리 그 데이터는 프로그래밍 소스(텍스트)입니다. 자잘한 텍스트파일이 모여서 3GB 덩어리가 된 데이터입니다.
참고로 해당데이터는 윈라(rar/솔리드/최대)로 압축시 7-Zip대비 소요시간이 1/10밖에 안되지만 데이터가 1.8GB정도밖에 압축되지 않습니다. 그정도도 충분한 압축률이지만 그래도 압축률을 따지는 저로써는 시간이 10배가 걸리더라도 7-Zip을 쓰게 되더군요. 어쨌거나 제 사용환경에 맞으니 그런겁니다.
소요시간이 중요한거야 잘 알지요. 무슨말씀인지 잘 알겠는데, [ "저의 경우이지만", 시간이 오래걸리는건 상관없더군요. ] '저의 경우' 입니다.
저위에 brucekim님처럼, 글을보고 맘에 드시는분만 옳커니 하고 쓰시면 되는 팁입니다.
-
나는 Boss 다! 2012.06.03 20:42 진공포장백...의 용도는 "압축툴" 입니다.
그냥 단지 포장만을 위해선 진공포장백 보다는 종이박스가 낫죠 ^^
구지 청소기를 동원하고 구지 따로 모아서 철지난것들을 구분하여 "압축백"에 담아야할 필요성을 느끼지 않는분은
그냥 종이박스 쓰시면 됩니다 ^^
"압축포장" 했다고는 하지 않아야 할테죠 ^^
과거 그리고 사실 지방의 소도시는 현재도 인터넷속도 저질 입니다.
엄청난 압축률로 압축된파일이 단지 하나로 묶여 있어서 좋았던것은 아닙니다.
"마법" 처럼 들어있는 알멩이가 알차서 더 좋았던것이죠
그리고 조금만 컴퓨터지식이 있더라도 미디어 파일들은 대부분 "이미" 압축된상태 라는걸 알겁니다.
일테면 JPG , MPG , AVI , PNG , MP3 등등의것 말이죠
이런건 사실 압축해봐야 그닥 줄어들지도 않을뿐더러(이미 최적상태로 압축된 상태) 되려 더 커지기까지 합니다.
그러나 폰트나 아이콘 그리고 벡터이미지등의 순수데이터파일들은 압축률이 엄청납니다.
저의경우엔 각 파일의 특성에따라 압축효율이 좋은 파일들은 특히 시간을 만들어서라도 7zip으로 압축을 합니다.
사용되는 메모리 리소스양과 시간이 저질사양의 컴터에선 세월 이거든요
그래도 그 탁월한 압축률은 그 가치가 있습니다.
그런걸 비로소 "압축" 이라고 하는것 아닐까 합니다.
빠르고 편하다...는 압축능력은 아니고 단순 포장이죠
마트의 비닐봉지 같은...^^
설마 비닐봉지에 중요 데이터나 명품을 담지는 않을겁니다 ^^
-
NEX 2012.06.03 22:33 비회원일때부터 봤던분인데 정말 글 잘쓰십니다 ㅡ.ㅡ ㄷㄷ
-
Quiet 2012.06.03 22:12 - LZMA에 비해 LZMA2는 멀티 코어 활용을 더 잘함.
4 스레드 가능한 CPU에서 7-Zip LZMA(2 스레드) vs LZMA2(4 스레드) 비교해 보면, 메모리 3배 정도 더 요구하며 속도는 더 빠름.
- 압축 중에 압축이 더 이상 안 되는 데이터를 만났을 때 LZMA2가 빠르게 처리.
LZMA는 그냥 계속 LZMA로 인코딩을 해서 느린 반면, LZMA2는 Store 처리함. 이런 경우 자연적으로 압축풀 때 속도도 더 빨라짐.
- LZMA2가 잘 안 풀리는 것(?)은 잘 안 풀거나 못 푸는 해당 프로그램에 심각한 결함이나 지원 문제가 있는 것이지 LZMA2 문제가 아님. LZMA2를 사용하는 대표적인 것으로 xz가 있는데(LZMA2 자체가 xz 때문에 개발됨), 현재 GNU tar에서 기본 지원하는 포맷임. LZMA2의 안전성에 문제가 있었으면 지금 이렇게 gz, bz2와 같이 널리 쓰일 수가 없음(예> 레드햇 fedora의 rpm 패키지 gz -> xz로 바뀐지 2~3년).
-
NEX 2012.06.03 22:33 오 그렇군요. 좋은정보 감사합니다. 윈포에서 많이 배우네요.
LZMA2가 3스레드부터 메모리 요구량이 갑자기 높아지더군요.
-
오펜하이머 2012.06.04 14:29
bz2가 리눅스 에서는 매우 보편적으로 사용되나 윈도 에서는 LZMA2 사용시 안풀리는 사고가 빈번히 발생하고 있습니다.
결코 무시해도 될정도의 빈도가 아닙니다.
LZMA1보다 압축율은 미미하게 조금 높으나 대용량 처리시에 속도는 비슷 하거나 더걸립니다.
-
물음표 2012.06.03 22:53
어차피 도구는 얘네들이 주니까 우리는 선택만 하면 되지요.
다 사정이 다를텐데 뭐...
저도 반디집하고 7z만 사용하는군요.
알집이 아니었음 윈라를 계속 썼었을텐데;;
7z는 오직 설치파일을 풀 때만 사용하고 있지요(신기하던 ㄷㄷ)
-
OLokLiR 2012.06.04 02:12
최신 압축 알고리즘은 위험성이 존재해서...
마치 EGG나 ALZ가 만들어내는 상황과도 유사한 상황이 만들어 질 수 있죠.
(나는 좋은 마음에 압축해서 올려줬는데 사람들이 압축을 풀지를 못해... ㅠㅠ)
와 같은 상황...
유니코드를 고려한다면 7Z이나 RAR의 기본 압축 옵션. 아니면 전부 ZIP에 Deflate로 대동단결입니당 ㅎ
-
네이놈 2012.06.04 14:50
저는 개인적으로 압축하는 이유가 여러개의 파일을 하나의 파일로 묶어서 보낼때만 사용합니다. 그래서 그런지 압축률보단 속도를 더 중요하게 봅니다. 그래서 아직까지 반디집만 사용하고 있습죠. 7zip은 totalcmd플러그인으로만 쓰고 있습니다.
-
APPCRASH 2012.06.04 23:07
각자 장단점이 있습니다.
7z LZMA : 매우 높은 압축율
RAR : 높은 압축율, 복구정보 추가 가능
솔리드 옵션 : 특수한 상황에서 매우 높은 압축율. 단 복구정보가 없을경우 파일이 손상됬을때 상당히 곤란해짐.
압축률이 수준 이하로 나쁘거나 압축도 잘 안 되는데 속도도 별로 빠르지 않거나 한 게 아닌 이상 컴퓨터의 저장공간이 1T가 넘어가는 현재에는 어떤 프로그램을 쓰던 별 차이가 없죠.
옛날에 쓰던 어떤 압축프로그램은 압축률도 낮고 속도도 느린데다 안정성까지 떨어지는 3가지 안 좋은 특성을 고루 가지고 있었습니다. 그런 프로그램이 아닌 이상 적당히 압축도 되고 속도도 빠른데다 안전성도 크게 문제 될게 없다면 압축률 정도야 크게 신경을 쓸 필요는 없다고봅니다. 소스파일들이나 비트맵파일같은 경우는 예외지만요.
7z이 리소스를 좀 많이 먹고 느리긴 하지만 압축률을 낮추면 상당히 빠른편에 속합니다. 용량 차이가 나 봐야 그리 크지도 않아요. (비트맵이나 중복된 데이터 제외)
-
APPCRASH 2012.06.04 23:20
그리고 LZMA2 압축률은 높은데 사전크기나 단어크기를 늘리면 메모리를 상당히 많이 차지합니다. 압축작업을 빨리 끝내고 싶다면 램이 못해도 8G 나 16G는 되어야 쓸만합니다. 4G로는 좀 많이 느려요.
-
타이곤 2012.06.09 14:55
일반적인 압축은 윈라 '가장빠름' 압축이 진리입니다.. 속도 대비 압축율 쩝니다
-
개뿔 2012.06.12 09:46
안전성도 좋아야 하지 않을까요...
다른곳으로 이동 시 파일이 유실되는 경우도 생기던데...그런 안정성이 제일 중요할듯....
그런 안정성이 제일 좋은것은 무엇인가요?
-
Dreams 2012.06.13 16:43
좋은 내용 잘보았습니다. ^^*
한가지 질문이 있는데요. 7z 의 경우 압축률의 대명사 이기때문에 7z 으로 최대 압축을 한후에 이것을 sfx 로 *.exe 로 변환하여
자동화 설치를 수행하는 목적으로 자주 사용하는데, 그부분에서 LZMA2 알고리즘을 사용하면 sfx 변환이 불가합니다.
7zip sfx 매니저 3.5 (이게 아마 최신이였던것 같은데....) 에서 변환해 보았지만 LZMA2 알고리즘은 사용을 할수가 없네요. ^^;;
혹시 이부분에 대한 유익한 정보 가지고 계신분들께서는 답변부탁드립니다 ~
-
Quiet 2012.06.21 16:26 어제(6월 20일) 공개된 7-Zip 9.28 버전부터 압축 알고리듬 기본 값이 LZMA에서 LZMA2로 변경되었습니다.
9.28 이후 버전부터 LZMA2를 사용하기 위해 옵션을 변경할 필요는 없어졌으니 참고하세요.
P.S. LZMA2 방식으로 압축된 7z 파일을 제대로 못푸는 건 해당 프로그램 자체 문제이니 최신 버전 또는 다른 프로그램으로 바꾸세요.
P.S.2 압축 시 LZMA2가 LZMA보다 느린 경우는, 가용 메모리가 부족한 상황에서 무리하게 압축 레벨을 올려 디스크 IO가 빈번해질 경우를 제외하고는 없다고 봐도 됩니다(메모리 사용량 LZMA2 > LZMA). 별 다른 지식이 없는 상태에서 압축 레벨을 Normal 초과 지정해서 사용하거나, 파라미터를 이용해 압축 방법에 대한 튜닝을 하지 마세요.
-
번개 2022.02.16 11:27
LZMA가 멀티코어 지원못해서 LZMA2를 만든거죠
LZMA2가 CPU 멀티코어지원입니다
요즘은 슈퍼컴퓨터에 메모리도 넉넉?해서 최고압축률로 LZMA2 사용합니다
좋은 정보 감사합니다.