Назад | Перейти на главную страницу

Как повысить эффективность параллельного чтения GNU из сжатого потока?

Другой вопрос является продолжением предыдущего [1]

У меня есть сжатый файл, и я передаю его в программу на Python, например

bzcat data.bz2 | parallel --no-notice -j16 --pipe python parse.py > result.txt

Parse.py может читать из stdin continusuoly и печатать в stdout

Мой экземпляр ec2 - это 16 ядер, но из верхней команды он показывает только среднюю нагрузку от 3 до 4.

Из ps, Я вижу много чего вроде ..

sh -c 'dd bs=1 count=1 of=/tmp/7D_YxccfY7.chr 2>/dev/null';       

Я знаю, что могу улучшить -a in.txtдля повышения производительности, но в моем случае я веду потоковую передачу с bz2 (я не могу точно сказать, так как у меня недостаточно места на диске)

Как повысить эффективность моего дела?

[1] Gnu parallel не использует весь процессор

Увеличьте размер блока:

--block 100m