27.01.2022

20 лет проекту GNU Parallel

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 года.

Похоже Parallel сохраняет актуальность по сей день. Утилита упомянается в 1000 научных статьях и число цитирований растёт из года в год. Статьи охватывают широкий спектр вопросов, начиная с обрезки фруктовых деревьев, заканчивая проверкой программ марсохдов или исследованиям COVID-19.

Больше всего споров за минувшие 20 лет вызвала необходимость уведомления о цитировании. Подробнее можно узнать из описания параметра --citation в документации.

>>> Подробности

Источник.