Паралельне стиснення bzip2
Використання кількох ядер ЦП для стиснення Bzip2
BZIP2 стискає дані, розділяючи їх на блоки та обробляючи кожен блок незалежно. Aspose.ZIP пропонує функцію, яка дозволяє використовувати кілька ядер ЦП для паралельної обробки цих блоків, значно прискорюючи процес стиснення великих файлів.
За замовчуванням стиснення є однопотоковим, але за допомогою Aspose.ZIP ви можете ввімкнути паралельну обробку, налаштувавши властивість CompressionThreads
. Вам просто потрібно вказати кількість потоків, які ви хочете використовувати. Якщо ви встановите для CompressionThreads
значення більше за одиницю, Bzip2 залучатиме вказану кількість ядер ЦП.
Навіщо використовувати багатоядерне стиснення?
Використання всіх доступних ядер ЦП є особливо вигідним при роботі з великими наборами даних або коли продуктивність є пріоритетом. Цей підхід скорочує час, необхідний для стиснення великих файлів, розподіляючи навантаження між кількома ядрам.
У наступному прикладі параметр
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 }