20 лет проекту GNU Parallel
GNU parallel — утилита командной строки, за авторством Оле Танге (Ole Tange), позволяющая выполнять задачи на одном или нескольких компьютерах параллельно. Ссылка на GIT-репозиторий — https://git.savannah.gnu.org/cgit/parallel.git.
Показать
В прошлом году я нашел старую резервную копию с самой первой версией 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 года.
Похоже Parallel сохраняет актуальность по сей день. Утилита упомянается в 1000 научных статьях и число цитирований растёт из года в год. Статьи охватывают широкий спектр вопросов, начиная с обрезки фруктовых деревьев, заканчивая проверкой программ марсохдов или исследованиям COVID-19.
Больше всего споров за минувшие 20 лет вызвала необходимость уведомления о цитировании. Подробнее можно узнать из описания параметра
--citation
в документации.
Источник — https://www.gnu.org/software/parallel/20th-birthday.html