Параллельное сжатие 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.