답변:
기본값은 gz
입니다. 7z
그래도 최고의 결과를 얻습니다 .
1.4Gb virtualbox 컨테이너의 결과는 다음과 같습니다.
최상의 압축 – 크기 (MB) :
7z 493 rar 523 bz2 592 lzh 607 gz 614 Z 614 지퍼 614 .arj 615 이조 737 동물원 890
설치
sudo apt-get install p7zip-full
/dev/urandom
해보십시오. 각 시도마다 다른 결과가 나타납니다. 또는 시도 /dev/zero
: bzip2가 승자입니다 (비율).
이 질문은 매우 오래되었지만 누군가이 솔루션이 유용하다고 생각할 수도 있습니다.
rzip
이후에를 사용하십시오 tar
. 먼저 사전 방법을 사용하여 900MB의 큰 데이터 블록을 압축 한 다음 정리 된 데이터를로 넘깁니다 bzip2
. 다른 강력한 압축 도구 ( bzip2
, lzma
) 보다 훨씬 빠르며 일부 파일은 bzip2
또는 보다 낫게 압축 lzma
됩니다.
예, gz
Linux의 기본 압축 도구입니다. 그것은 빠르며, 나이에도 불구하고 소스 코드와 같은 텍스트 파일을 압축하는 데 여전히 매우 좋은 결과를 제공합니다. 다른 표준 도구는 bzip2
속도가 훨씬 느리지 만입니다.
추가 : lrzip은 최신 버전이며 rzip의 원칙을 확장합니다. 또한 무제한 블록 크기와 압축 방법 (LZMA, Bzip2, Gzip, LZO, ZPAQ 또는 없음)을 선택할 수 있습니다. LZMA가 표준입니다. 백업 또는 다른 Linux / BSD 사용자와 많은 데이터를 공유하는 경우 매우 유용 할 수 있습니다.
나는을 선택합니다 LZMA
. 바이트 오버 헤드가 가장 작고 압축률이 높습니다. ZIP과 LZMA의 비교 : seq.txt
PHP 코드로 두 개의 파일 을 생성했습니다.
$s = '0123456789'; $str = ''; for ($i=0; $i < 1000000; $i++) $str .= $s[$i%10].($i%10==9 ? "\n":""); file_put_contents('seq.txt', $str);
0..9 자리 ~ 1Mb의 데이터 rnd.txt
와 PHP 코드 의 반복 블록을 보유
$s = '0123456789'; $str = ''; for ($i=0; $i < 1000000; $i++) $str .= $s[rand(0,9)].($i%10==9 ? "\n":""); file_put_contents('rnd.txt', $str);
0..9 자리 ~ 1Mb 데이터의 임의 블록을 보유합니다.
압축 결과 :
압축비 :
따라서 LZMA는 ZIP보다 순차적 데이터를 0.2 % 더 효과적으로 압축
하고 ZIP보다 무작위 데이터를 2.8 % 더 효과적으로 압축했습니다.
확실히 LZMA가 이겼습니다!