LINUX.ORG.RU

GNU Parallel 20181222 ('Jacob Sparre')

 , , , ,


1

2

GNU Parallel — это инструмент командной оболочки, созданный Оле Танге. Написан на языке Perl, предназначен для выполнения задач параллельно на одном или нескольких компьютерах. Задача может быть однострочником или небольшим скриптом, который должен выполниться для каждой строки ввода. Примеры такого ввода — списки файлов, хостов, пользователей, ссылок или таблиц. Задачей также может быть команда, читающая из пайпа. GNU Parallel может разделять ввод и перенаправлять его выполняющимся параллельно командам.

Если вы уже пользуетесь xargs и tee — использовать GNU Parallel будет очень просто, так как он совместим с аргументами xargs. Если вы пишете циклы в командной оболочке, то обнаружите, что GNU Parallel может заменить большинство циклов и ускорить их за счёт распараллеливания. GNU Parallel может заменять даже вложенные циклы.

GNU Parallel гарантирует, что вывод команд получается таким же, каким был бы при последовательном запуске. Это позволяет использовать вывод GNU Parallel в качестве ввода для других программ.

Новое в этом выпуске:

>>> Получите книжку: GNU Parallel 2018

>>> Источник

Задача может быть однострочником или небольшим скриптом, который должен выполниться для каждой строки ввода.

Совершенно любая программа, способная запуститься из коншоли, ок да?

anonymous ()

предназначен для выполнения задач параллельно на одном или нескольких компьютерах

"Несколько компьютеров" это про то что оно по ssh может "прокинуть" задачу или там что-то серверное завезли?

micronekodesu ★★ ()

лайфхак для работы, о котором вы быстро забудете;

А что там столько всего на мунспике? Я только баш-команды понял.

anonymous ()
Ответ на: комментарий от anonymous

Пора бы уже выучить мунспик, 2019 на дворе. Но гайд какой-то скучный, видимо автор не очень долго использует линукс и гнутые утилиты. Я бы даже сказал вообще ни о чём.

anonymous ()
Ответ на: комментарий от actionless

бан для следующего, кто запостит новость про параллель

Да вроде нет дублей в неподтверждённых. Или где-то поблизости анальная драма с запретом софтины на лоре?

sleeply4cat ()
Ответ на: комментарий от anonymous

Если тебе надо на живопохапе или живоскрипте, то это не сюда. И чего это оно тяжёлое? По сравнению с чем? Perl5 имеет очень маленький оверхед, не то что эти ваши пистоны и джавасквирты.

anonymous ()
Ответ на: комментарий от sleeply4cat

Эта софтина по частоте релизов умудрилась обогнать даже лису/хром, отчего надоела ЛОРчанам ещё при позапрошлом релизе. И это при том, что про прошлый никто новостей не постил, ввиду бана и ЛОРоканикул у регулярного постера.

Moondancer ()
Ответ на: комментарий от Moondancer

Ансибл поддерживает прозрачное распараллеливание (сбор выхлопа в том порядке, в котором был бы без распараллеливания)?

А можно более детально юзкейс, с примером? Чего в Ansible сделать нельзя?

Kroz ★★★★★ ()
Ответ на: комментарий от sleeply4cat

нет, у параллели просто ультраминорные изменения каждые пару недель, но из-за того что версия не семантическая (1.2.3), а тупо дата вместо версии, то не очевидно что это апдейты уровня 1.2.3.1 -> 1.2.3.2

к тому же половина чэнджлога — упоминание слова parallel в блогах

actionless ★★★★★ ()
Последнее исправление: actionless (всего исправлений: 1)
Ответ на: комментарий от Moondancer

Временные баны на ЛОРе не практикуются. Собственно, их даже движок не поддерживает.

Руками — можно. Собственно, случаи разбана были. И если бы модераторы считали это полезным (я считаю, но я не модератор), баны на недельку-месяц можно было бы делать и без автоматической поддержки со стороны движка. Хотя с поддержкой было бы удобнее, не спорю.

В любом случае, основное препятствие — не техническое.

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от actionless

я за недельный бан для следующего кто запостит новость про параллель, чисто в педагогических целях

У тебя где-то свербит от того, что один из проектов GNU быстро развивается и часто обновляется? Мне вот например, этот проект совсем не мешает, и в любом случае новости про него содержательнее и ближе к тематике ресурса, чем клоунада про CoCи и SJW, например.

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

я тут объяснил почему: GNU Parallel 20181222 ('Jacob Sparre') (комментарий)

P.S. сам параллель использую в нескольких скриптах, но речь не о полезности программы, а таких новостей

actionless ★★★★★ ()
Последнее исправление: actionless (всего исправлений: 2)
Ответ на: комментарий от actionless

Ну тут, судя по чейнджлогу, не только про блоги. Наверное, стоило бы перевести в мини-новости. Но уж точно не фильтровать, и тем более, призывать к бану.

Новость точно более тематическая, чем соседнее обсуждение антихарассмента на 17, блин, страницах.

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от anonymous

Perl5 имеет очень маленький оверхед, не то что эти ваши пистоны и джавасквирты

машинное время стоит на порядки меньше времени программиста. разница в оверхедах - проценты и дрочить на это могут только те, у кого «перл головного мозга». искать ископаемое, которое может разобрать чужую (ди и свою двухгодичной давности) перловку - то еще удовольствие. там (в 90-ых) одни маразматики застряли, которым перл нанес необратимые повреждения головного мозга, несовместимые с развитием.

anonymous ()

Я бы советовал автору постить новости на более других ресурсах, чем ЛОР, очевидно же, что местному кислотному сообществу всё «нинужно» и «уже есть ансибл».

Alve ★★★★★ ()
Ответ на: комментарий от anonymous

мне, как пользователю parallel, совершенно наплевать на время программиста, который написал данное поделие. это его проблема, а не моя. но вот на тормоза js или пистона не наплевать, т.к. с ними я сталкиваюсь непосредственно.

anonymous ()
Ответ на: комментарий от anonymous

Но оказалось, что перл довольно удобен. Например, поддерживаются такие конструкции:

parallel convert -scale 25% {} '{=s/_hi\.png/.jpg/=}'
Если бы сабж был написан на питоне, то и код между {= =} был бы на питоне и, следовательно, не такой стандартный, короткий и изящный.

legolegs ★★★★★ ()
Ответ на: комментарий от legolegs

Если бы сабж был написан на питоне, то и код между {= =} был бы на питоне и, следовательно, не такой стандартный, короткий и изящный.

про «изящные» однострочники на перле анекдоты ходят. а они «стандартные» в каком мире? в том, где кроме перла ничего не знают и все лепят на нем? тогда конечно, без перла вам вилы.

anonymous ()
Ответ на: комментарий от anonymous

но вот на тормоза js или пистона не наплевать, т.к. с ними я сталкиваюсь непосредственно.

бред про тормоза питона в запускалке программ удаленно никому не интересен. я же не призываю вас бросить теплый ламповый перл, без которого вы не можете. только не надо при этом рассказывать, какой он весь из себя стремительный. если вы, как та принцесса, которая горошину через десять перин почувствовала, ощущаете, что программы на других скриптовых языках тормозят, то либо у вас железо из тех же 90-ых, что и перл, либо вы сравниваете скорость скриптов, несоизмеримых по сложности и функционалу.

anonymous ()
Ответ на: комментарий от hobbit

мелкие изменения в перл скрипте тематичнее политических активистов саботирующих опенсорс? :)

хотя это уже точно теперь оффтоп

сторгуемся на мини-новосте :D

actionless ★★★★★ ()
Ответ на: комментарий от Kroz

Я не утверждал, что нельзя, я спросил, умеет ли такое Ansible. Потому что это киллер-фича сабжа, собственно (причём по сравнению с xargs, Ansible вообще из другой оперы и основные задачи у него другие — не распараллеливать задачи, а дублировать их на куче машин).

Moondancer ()

GNU Parallel — это инструмент командной оболочки, созданный Оле Танге. Написан на языке Perl

А что мне нужно сделать что бы мой скрипт поддерживала GNU, как сейчас поддерживают Parallel?

bigfrogg ()
Ответ на: комментарий от hobbit

случаи разбана были

Во-первых, не все после этого возвращались. Во-вторых, модераторы забывают разбанить руками, им надо напоминать. Если за забаненного никто не вступится и не напомнит, ему приходится ещё учётку заводить, а тогда модераторы препочитают и подавно не разбанивать — пускай прокачивает новую, раз завёл.

Moondancer ()
Ответ на: комментарий от hobbit

стоило бы перевести в мини-новости

По моим наблюдениям, разжалование в мини-новости определяется обычно не важностью, а размером. Если многабукаф без катов, и каты добавлять модераторам/корректорам лень, то низводят в мини-новости, если на главной отображается кратенько — так и выводят.

Moondancer ()
Ответ на: комментарий от anonymous

машинное время стоит на порядки меньше времени программиста

Время программиста напрямую зависит от машинного времени. Чем быстрее программа перекомпилируется/перезапускается, тем быстрее она отлаживается.

ископаемое

Обоснуй. Чем плох пёрл как современный язык? У его экосистемы есть все черты современных хипстаязычков; собственно, они с пёрла и пошли.

Moondancer ()