GNU parallel — утилита командной строки, позволяющая выполнять задачи на одном или нескольких компьютерах параллельно.
В прошлом году я нашел старую резервную копию с самой первой версией Parallel. В архиве не было исполняемого сценария, тем не менее остался временный файл от emacs (
~parallel
). Это обстоятельство позволило установить дату создания первой версии проекта: 6 января 2002г. На тот момент программа представляла из себя ~15 строк кода на Perl и она до сих пор запускается:
#!/usr/bin/perl
$processes=shift;
chomp(@jobs=<>);
for (@jobs) {
$jobnr++;
push @makefile,
(".PHONY : job$jobnr\n",
"job$jobnr :\n",
"\t$_\n");
}
unshift @makefile, "all : ",(map { "job$_ " } 1 .. $jobnr),"\n";
open (MAKE, "| make -k -f - -j $processes") || die;
print MAKE @makefile;
close MAKE;
Эта версия Parallel не являлась частью GNU, принятие в проект случилось только в апреле 2011 года.
Больше всего споров за минувшие 20 лет вызвала необходимость уведомления о цитировании. Подробнее можно узнать из описания параметра --citation
в документации.
>>> Подробности