멀티코어 압축 도구

멀티코어 압축 도구

무엇압축 도구멀티 코어 CPU의 이점을 누릴 수 있는 Ubuntu에서 사용할 수 있습니다.

답변1

뭐, 키워드는 이랬지평행한. 또한 모든 압축 도구를 찾은 후평행한나는 다음을 발견했습니다 :

PXZ- Parallel XZ는 여러 코어와 프로세서에서 동시에 입력 파일의 여러 부분에 대한 LZMA 압축을 실행하는 이점을 활용하는 압축 유틸리티입니다. 주요 목표는 모든 리소스를 활용하여 압축 비율에 미치는 영향을 최소화하면서 압축 시간을 단축하는 것입니다.

sudo apt-get install pxz

PLZIP- Lzip은 매우 안전한 무결성 검사와 gzip 또는 bzip2와 유사한 사용자 인터페이스를 갖춘 LZMA 알고리즘을 기반으로 하는 무손실 데이터 압축기입니다. Lzip은 gzip만큼 빠르게 압축을 풀고 bzip2보다 더 잘 압축하므로 소프트웨어 배포 및 데이터 보관에 매우 적합합니다.

Plzip은 lzip 파일 형식을 사용하는 lzip의 대규모 병렬(다중 스레드) 버전입니다. plzip으로 생성된 파일은 lzip과 완벽하게 호환됩니다.

Plzip은 멀티프로세서 시스템에서 대용량 파일을 더 빠르게 압축/압축 해제하기 위한 것으로, 대용량 소프트웨어 파일 배포 및 대규모 데이터 보관에 특히 적합합니다. 충분히 큰 파일의 경우 plzip은 수백 개의 프로세서를 사용할 수 있습니다.

sudo apt-get install plzip

돼지- GZip의 병렬 구현을 의미하는 pigz는 데이터를 압축할 때 다중 프로세서와 다중 코어를 활용하는 gzip의 완전한 기능 대체입니다.

sudo apt-get install pigz

PBZIP2- pbzip2는 pthread를 사용하고 SMP 시스템에서 거의 선형에 가까운 속도 향상을 달성하는 bzip2 블록 정렬 파일 압축기의 병렬 구현입니다. 이 버전의 출력은 bzip2 v1.0.2와 완벽하게 호환됩니다(즉, pbzip2로 압축된 모든 항목은 bzip2로 압축을 풀 수 있습니다).

sudo apt-get install pbzip2

LRZIP- 대용량 파일에 사용할 때 매우 높은 압축률과 속도를 달성할 수 있는 멀티스레드 압축 프로그램입니다. 최대 압축을 위해 zpaq 및 lzma, 최대 속도를 위해 lzo, rzip의 장거리 중복성 감소를 위한 결합된 압축 알고리즘을 사용합니다. RAM 크기가 증가함에 따라 확장되도록 설계되어 압축이 더욱 향상됩니다. 크기 또는 속도 최적화를 선택하면 lzma가 제공할 수 있는 것보다 더 나은 압축을 허용하거나 gzip보다 더 나은 속도를 제공하지만 bzip2 크기 압축 수준을 사용할 수 있습니다.

sudo apt-get install lrzip

작은 압축 벤치마크(Oli가 만든 테스트 사용):

원본 파일 크기 - 100MB
PBZIP2 - 101MB(1% 더 큼)
PXZ - 101MB(1% 더 큼)
PLZIP - 102MB(1% 더 큼)
LRZIP - 101MB(1% 더 큼)
PIGZ - 101MB(1% 더 큼 ) )

작은 압축 벤치마크(텍스트 파일 사용):

원본 파일 크기 - 70KB 텍스트 파일
PBZIP2 - 16.1KB(23%)
PXZ - 15.4KB(22%)
PLZIP - 15.5KB(22.1%)
LRZIP - 15.3KB(21.8%)
PIGZ - 17.4KB(24.8%)

답변2

두 가지 주요 도구가 있습니다. lbzip2그리고 pbzip2. 이들은 본질적으로 bzip2 압축기의 다른 구현입니다. 비교해봤습니다(출력은 정리된 버전이지만 명령을 실행할 수 있어야 합니다).

cd /dev/shm  # we do all of this in RAM!
dd if=/dev/urandom of=bigfile bs=1024 count=102400

$ lbzip2 -zk bigfile 
Time: 0m3.596s
Size: 105335428 

$ pbzip2 -zk bigfile
Time: 0m5.738s6
Size: 10532460

lbzip2무작위 데이터에서 승자가 된 것 같습니다. 압축률은 약간 낮지만 훨씬 빠릅니다. YMMV.

답변3

업데이트:

XZ 유틸리티v5.2.0부터 멀티스레드 압축을 지원하지만 원래는 멀티스레드 압축 해제로 잘못 문서화되었습니다.

예를 들어:tar -cf - source | xz --threads=0 > destination.tar.xz

답변4

Z표준멀티스레딩을 지원합니다.v1.2.0¹. 이는 gzip을 대체하기 위한 매우 빠른 압축 및 압축 해제기이며 최고 수준에서 LZMA2/XZ만큼 효율적으로 압축할 수도 있습니다.

당신은 사용해야합니다이 릴리스 중 하나, 또는 소스에서 최신 버전을 컴파일하여 이러한 이점을 얻으십시오. 다행히도 많은 종속성을 가져오지는 않습니다.

zstd v1.1.0에는 타사 pzstd도 있었습니다.

관련 정보