Паралельне стиснення 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    }

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.