Я ожидаю, что ваше использование процессора настолько низкое, потому что есть ряд факторов, но в первую очередь имейте в виду, что алгоритм сжатия предназначен для скорости, а не для высоких степеней сжатия.
Основная проблема здесь заключается в том, сжимаете ли вы тысячи или тысячи небольших файлов или несколько ГБ огромных файлов.
Если вы сжимаете файлы размером менее 2 МБ, я ожидаю, что большая часть времени, необходимого для сжатия файлов, занимает операции, необходимые для поиска файла в файловой системе, получения жесткого диска, чтобы предоставить вам данные, а затем записи сжатого файла. данные обратно, затем повторите со следующим крошечным файлом. Алгоритм сжатия, вероятно, может обрабатывать около 40-50 МБ / с на современном компьютере (я бы ожидал, но не уверен в этом), и поэтому время поиска и передачи данных на жестких дисках действительно является ограничивающим фактором для этих файлов, время сжатия, вероятно, быть почти нулевым
Для больших файлов вы почти наверняка увидите более высокую загрузку процессора. Я, конечно, вижу, как минимум 1 ядро вырастает до примерно 50% загрузки ЦП (примерно 8-10% общего ЦП на моем 8-ядерном процессоре), когда я говорю ему сжимать большой каталог в моей системе ...
Я действительно считаю, что время поиска жесткого диска - это ваша проблема, в противном случае вам нужно конкретно посмотреть, какие ядра работают во время сжатия, может случиться так, что процедура сжатия может использоваться только одним потоком за раз, хотя я сомневаюсь, что это так.