GNU Parallel — это инструмент командной оболочки для выполнения задач параллельно на одном или нескольких компьютерах. Задача может быть одной командой или небольшим скриптом, который должен выполниться для каждой строки ввода. Примеры такого ввода — списки файлов, хостов, пользователей, ссылок или таблиц. Задачей также может быть команда, читающая из пайпа. GNU Parallel может разделять ввод и перенаправлять его выполняющимся параллельно командам.
Если Вы уже пользуетесь xargs и tee — использовать GNU Parallel будет очень просто, так как он совместим с аргументами xargs. Если Вы пишете циклы в командной оболочке, то обнаружите, что GNU Parallel может заменить большинство циклов и ускорить их за счёт распараллеливания. GNU Parallel может заменять даже вложенные циклы.
GNU Parallel гарантирует, что вывод команд получается таким же, каким был бы при последовательном запуске. Это позволяет использовать вывод GNU Parallel в качестве ввода для других программ.
Новое в этом выпуске:
- Изменён движок экранирования. Вместо \-экранирования GNU Parallel теперь использует '-экранирование в bash/ash/dash/ksh. Это должно улучшить совместимость с различными локалями. Из-за такого крупного изменения выпуск получил статус альфы.
- Изменён подсчёт ЦП. По умолчанию GNU Parallel использует в качестве количества ЦП количество нитей ЦП. Вместо этого можно использовать количество ядер ЦП или гнёзд ЦП с помощью ключей
--use-cores-instead-of-threads
и--use-sockets-instead-of-threads
соответственно. - Распознанное количество гнёзд, ядер и нитей можно вывести ключами
--number-of-sockets
,--number-of-cores
и--number-of-threads
соответственно. env_parallel
теперь поддерживает mksh с помощьюenv_parallel.mksh
- GNU Parallel распространяется как часть Snippy — программы для сравнения геномов
- Исправления ошибок и обновления мануала
>>> Скачать
>>> Подробности
>>> Установить всего за 10 секунд: (wget -O - pi.dk/3 || curl pi.dk/3/) | bash
>>> Источник