Настройки многопоточности для архивов Unix в C#
Обзор
XZ, Bzip2 и Lzip широко распространены в Linux. Благодаря своей блочной структуре их можно сжимать в несколько потоков. API Aspose.ZIP предоставляет свойства CompressionThreads для всех из них, чтобы использовать несколько ядер ЦП при сжатии. Установка более одного значения влечет за собой многоядерное сжатие; если оставить его одним (опция по умолчанию), это приведет к сжатию с использованием одного ядра ЦП.
Многопоточное сжатие XZ
В XzArchiveSettings
есть свойство
CompressionThreads.
В следующем примере кода показано, как сжать файл с помощью экземпляра XzArchive.
Шаги: Создайте архив XZ с многопоточным сжатием на C# </а>
- Откройте поток файлов для архива XZ, используя FileMode.Create для записи сжатых данных.
- Откройте исходный файл (data.bin) с помощью FileMode.Open и установите его в качестве данных для сжатия.
- Создайте экземпляр XzArchiveSettings, указав: — CheckType как Crc32 для проверки целостности. — Для CompressionThreads установлено значение 4 для многопоточного сжатия.
- Создайте экземпляр XzArchive, передав созданные выше настройки.
- Используйте SetSource, чтобы назначить исходный файл для сжатия.
- Сохраните сжатый архив XZ методом Save.
Многопоточное сжатие Bzip2
В Bzip2SaveOptions
есть свойство
CompressionThreads.
В следующем примере кода показано, как сжать файл с помощью экземпляра Bzip2Archive.
Шаги: Создайте архив Bzip2 с максимальным сжатием и многопоточностью на C#< /strong></а>
- Откройте поток файлов для архива Bzip2 с помощью FileMode.Create для хранения сжатых выходных данных.
- Откройте исходный файл (data.bin) с помощью FileMode.Open и FileAccess.Read для чтения несжатых данных.
- Создайте экземпляр Bzip2Archive и используйте метод SetSource, чтобы назначить исходный файл для сжатия.
- Используйте метод Save, чтобы сжать данные в архив Bzip2, передав:
- Bzip2SaveOptions(9) для установки максимального уровня сжатия. — Установите для CompressionThreads значение 4 для многопоточного сжатия.
Многопоточное сжатие Lzip
В XzArchiveSettings
есть свойство
CompressionThreads.
В следующем примере кода показано, как сжать файл с помощью экземпляра XzArchive.