병렬 bzip2 압축
Contents
[
Hide
Show
]Bzip2 압축을 위해 다중 CPU 코어 사용
BZIP2은 데이터를 블록으로 분할하고 각 블록을 독립적으로 처리하여 데이터를 압축합니다. Aspose.ZIP은 여러 CPU 코어를 활용하여 이러한 블록을 병렬로 처리할 수 있는 기능을 제공하여 대용량 파일의 압축 프로세스 속도를 크게 향상시킵니다.
기본적으로 압축은 단일 스레드이지만 Aspose.ZIP을 사용하면 CompressionThreads
속성을 조정하여 병렬 처리를 활성화할 수 있습니다. 사용하려는 스레드 수를 지정하기만 하면 됩니다. ‘CompressionThreads’를 1보다 큰 값으로 설정하면 Bzip2는 지정된 수의 CPU 코어를 사용합니다.
멀티코어 압축을 사용하는 이유는 무엇입니까?
사용 가능한 모든 CPU 코어를 사용하는 것은 대규모 데이터 세트로 작업하거나 성능이 우선시되는 경우 특히 유리합니다. 이 접근 방식은 작업 부하를 여러 코어에 분산시켜 대용량 파일을 압축하는 데 필요한 시간을 줄여줍니다.
다음 예에서는 CompressionThreads
속성에 Environment.ProcessorCount
를 할당하여 시스템에서 사용 가능한 모든 코어를 사용하도록
CompressionThreads 옵션을 설정합니다.
1 using (Bzip2Archive archive = new Bzip2Archive())
2 {
3 archive.SetSource("data.bin");
4 archive.Save("result.bz2", new Bzip2SaveOptions() { CompressionThreads = Environment.ProcessorCount });
5 }