[Moscow.pm] Универсальная параллелилка?

Харпалёв Иван ivan.kharpalev на gmail.com
Вт Май 27 09:00:41 PDT 2014


Пока ограничился полумерой: распараллеливание обработки файла по  кускам.
Действительно очень просто сделалось на BASH:

n=3 f=input; split -l $(wc -l $f | (read l d; echo $(($l/$n+1)) )) $f
 #порезали на n кусков построчно
for f in x*; do
   perl script.pl $f&
done;
wait;  #надо запускать весь код в новом bash, чтобы wait не ждал
какие-нибудь древние процессы.
cat o* > output


не нашёл в man xargs, как параллелить ((    --- что имели ввиду?

GNU parallel во истину похоже на решение, но увы нет  sudo, чтобы
 поставить его в систему.

очень интересно прозвучало про "обернуть потоки в unix-сокеты" -- поясните
чуток, плиз что имеется ввиду или ссылку какую.

Спасибо!


26 мая 2014 г., 20:25 пользователь Antonio Nikishaev <a на lelf.me> написал:

> Харпалёв Иван <ivan.kharpalev на gmail.com> writes:
>
> > Доброго времени суток, могучий MoscowPM!
> >
> > Есть перловый скрипт, который работает в один поток, и на каждую
> > строку из STDIN выводит одну строку в STDOUT.
> >
> > Есть ли какой софт, чтоб можно было написать
>
> GNU parallel
>
> > cat data | perl paralleler.pl -script=very_complex_script.pl -n=8 | .
> > ..
> >
> > Или посоветуйте, как его писать.
> > Как сделать неблокирующее чтение из воркеров в скрипте мастере?
> >
> > Уважение
> > Иван Харпалёв
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20140527/76ba11bf/attachment.html>


Подробная информация о списке рассылки Moscow-pm