Released as 20210722 ('Blue Unity')

This commit is contained in:
Ole Tange 2021-07-22 22:31:06 +02:00
parent 56693a99ac
commit 80544cbfc8
28 changed files with 176 additions and 117 deletions

17
NEWS
View file

@ -1,3 +1,20 @@
20210722
New in this release:
* --results no longer prints the result to standard output (stdout) as voted in https://lists.gnu.org/archive/html/parallel/2020-12/msg00003.html
* parset supports associative arrays in bash, ksh, zsh.
* Online HTML is now generated by Sphinx.
* Bug fixes and man page updates.
News about GNU Parallel:
* Cleaning Up Scanned Documents with Open Source Tools https://kaerumy.medium.com/cleaning-up-scanned-documents-with-open-source-tools-9d87e15305b
20210622
New in this release:

24
README
View file

@ -57,11 +57,11 @@ document.
Full installation of GNU Parallel is as simple as:
wget https://ftpmirror.gnu.org/parallel/parallel-20210622.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20210622.tar.bz2.sig
gpg parallel-20210622.tar.bz2.sig
bzip2 -dc parallel-20210622.tar.bz2 | tar xvf -
cd parallel-20210622
wget https://ftpmirror.gnu.org/parallel/parallel-20210722.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20210722.tar.bz2.sig
gpg parallel-20210722.tar.bz2.sig
bzip2 -dc parallel-20210722.tar.bz2 | tar xvf -
cd parallel-20210722
./configure && make && sudo make install
@ -70,11 +70,11 @@ Full installation of GNU Parallel is as simple as:
If you are not root you can add ~/bin to your path and install in
~/bin and ~/share:
wget https://ftpmirror.gnu.org/parallel/parallel-20210622.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20210622.tar.bz2.sig
gpg parallel-20210622.tar.bz2.sig
bzip2 -dc parallel-20210622.tar.bz2 | tar xvf -
cd parallel-20210622
wget https://ftpmirror.gnu.org/parallel/parallel-20210722.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20210722.tar.bz2.sig
gpg parallel-20210722.tar.bz2.sig
bzip2 -dc parallel-20210722.tar.bz2 | tar xvf -
cd parallel-20210722
./configure --prefix=$HOME && make && make install
Or if your system lacks 'make' you can simply copy src/parallel
@ -122,8 +122,8 @@ will love you for it.
When using programs that use GNU Parallel to process data for
publication please cite:
Tange, O. (2021, June 22). GNU Parallel 20210622 ('Protasevich').
Zenodo. https://doi.org/10.5281/zenodo.5013933
Tange, O. (2021, July 22). GNU Parallel 20210722 ('Blue Unity').
Zenodo. https://doi.org/10.5281/zenodo.5123056
Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015,
2016, 2017, 2018, 2019, 2020, 2021 Ole Tange, http://ole.tange.dk and

20
configure vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for parallel 20210622.
# Generated by GNU Autoconf 2.69 for parallel 20210722.
#
# Report bugs to <bug-parallel@gnu.org>.
#
@ -579,8 +579,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel'
PACKAGE_VERSION='20210622'
PACKAGE_STRING='parallel 20210622'
PACKAGE_VERSION='20210722'
PACKAGE_STRING='parallel 20210722'
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
PACKAGE_URL=''
@ -1214,7 +1214,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures parallel 20210622 to adapt to many kinds of systems.
\`configure' configures parallel 20210722 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1281,7 +1281,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of parallel 20210622:";;
short | recursive ) echo "Configuration of parallel 20210722:";;
esac
cat <<\_ACEOF
@ -1357,7 +1357,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
parallel configure 20210622
parallel configure 20210722
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@ -1374,7 +1374,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by parallel $as_me 20210622, which was
It was created by parallel $as_me 20210722, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@ -2237,7 +2237,7 @@ fi
# Define the identity of the package.
PACKAGE='parallel'
VERSION='20210622'
VERSION='20210722'
cat >>confdefs.h <<_ACEOF
@ -2880,7 +2880,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by parallel $as_me 20210622, which was
This file was extended by parallel $as_me 20210722, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -2942,7 +2942,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
parallel config.status 20210622
parallel config.status 20210722
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

View file

@ -1,4 +1,4 @@
AC_INIT([parallel], [20210622], [bug-parallel@gnu.org])
AC_INIT([parallel], [20210722], [bug-parallel@gnu.org])
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([

View file

@ -10,7 +10,6 @@ Quote of the month:
parallel is my new kink
-- python_noob_001@reddit
@GnuParallel the best thing ever and it's not up for debate #EOchat
-- Nathan Thomas @DrNASApants@twitter
@ -20,9 +19,6 @@ Quote of the month:
GNU Parallel is one of the most helpful tools I've been using recently, and it's just something like: parallel -j4 'gzip {}' ::: folder/*.csv
-- Milton Pividori @miltondp@twitter
We use gnu parallel now - and happier for it.
-- Ben Davies @benjamindavies@twitter
This is a fantastic tool, and I wish I had upgraded from xargs years ago!
-- Stuart Anderson
@ -117,6 +113,9 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html
=== Used ===
We use gnu parallel now - and happier for it.
-- Ben Davies @benjamindavies@twitter
GNU Parallel makes my life so much easier.
I'm glad I don't have to implement multi-threaded Python scripts on the regular.
-- Fredrick Brennan @fr_brennan@twitter

View file

@ -22,7 +22,7 @@ With the same things that goes in the announce mail
Start termux on Android
Start: wssh mac ping fi.dk
cd testsuite; make mem; make
cd testsuite; make mem; make polar; make long; make short
== Update version ==
@ -101,9 +101,9 @@ lbry://@GnuParallel#4/parallel-20210322.tar.bz2
# Tags: gnu parallel software
file_path="parallel-20210622.tar.bz2"
title="GNU Parallel $YYYYMMDD ('$SPCTAG') [stable]"
name="GNU-Parallel-$YYYYMMDD-$SPCTAG"
file_path="`pwd`/parallel-$YYYYMMDD.tar.bz2"
title="GNU Parallel $YYYYMMDD ('$SPCTAG')"
name="GNU-Parallel-$YYYYMMDD-$TAG"
author="Ole Tange"
license="GNU GPLv3 or later"
thumbnail_url=https://www.gnu.org/software/parallel/logo-gray+black10000.png
@ -144,8 +144,8 @@ http://www.gnu.org/software/parallel/parset.html
http://www.gnu.org/software/parallel/parsort.html
http://www.gnu.org/software/parallel/niceload.html
cp src/*.pdf src/*.html ../parallel-web/parallel
cp src/parallel.html ../parallel-web/parallel/man.html
cp -r src/*.pdf src/sphinx/build/html/* ../parallel-web/parallel
cp ../parallel-web/parallel/parallel.html ../parallel-web/parallel/man.html
pushd ../parallel-web/parallel
# Bug at Savannah makes this take 30 seconds
@ -252,33 +252,24 @@ from:tange@gnu.org
to:parallel@gnu.org, bug-parallel@gnu.org
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
Subject: GNU Parallel 20210722 ('Branson+VSS Unity/Bill Cosby/Moïse/Derek Chauvin') released <<[stable]>>
Subject: GNU Parallel 20210722 ('Blue Unity') released <<[stable]>>
GNU Parallel 20210722 ('') <<[stable]>> has been released. It is available for download at: lbry://@GnuParallel:4
GNU Parallel 20210722 ('Blue Unity') <<[stable]>> has been released. It is available for download at: lbry://@GnuParallel:4
<<No new functionality was introduced so this is a good candidate for a stable release.>>
Please help spreading GNU Parallel by making a testimonial video like Juan Sierra Pons: http://www.elsotanillo.net/wp-content/uploads/GnuParallel_JuanSierraPons.mp4
It does not have to be as detailed as Juan's. It is perfectly fine if you just say your name, and what field you are using GNU Parallel for.
Quote of the month:
<<>>
New in this release:
* --results no longer prints the result to standard output (stdout).
* parset can save in associative arrays in bash/ksh/zsh.
* Online HTML is now generated by Sphinx.
<<>>
* Bug fixes and man page updates.
News about GNU Parallel:
<<>>
Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html

View file

@ -1,7 +1,7 @@
<directory name="parallel" rev="310" vrev="1" srcmd5="4097379f67c84ee069ce4f44248f5d36">
<entry name="PKGBUILD" md5="3da589d7ca2d32a2f3706757a9823072" size="936" mtime="1624380019" />
<entry name="parallel-20210622.tar.bz2" md5="cde9fdb71b04e150f7b2c9fb2956d9b6" size="2250984" mtime="1624380019" />
<entry name="parallel.spec" md5="ede78937a7985a62235441e7d08befb9" size="5630" mtime="1624380019" />
<entry name="parallel_20210622.dsc" md5="734afb9792b55742b326aeff8fd546d9" size="556" mtime="1624380019" />
<entry name="parallel_20210622.tar.gz" md5="484cd5c717fabf9c81ca64754e14a618" size="2491911" mtime="1624380020" />
<directory name="parallel" rev="311" vrev="1" srcmd5="4db07b555bac8c95b748e4b27d7b8ec2">
<entry name="PKGBUILD" md5="efe5dba5d697d74243ed766562a7ced1" size="936" mtime="1626984745" />
<entry name="parallel-20210722.tar.bz2" md5="bc317c08d26f81c81ef764b8e421a0e1" size="2248888" mtime="1626984745" />
<entry name="parallel.spec" md5="4657b2121ab380c968d795952d8405a3" size="5630" mtime="1626984745" />
<entry name="parallel_20210722.dsc" md5="abe14d022d2190009c72ba95cd1c332b" size="556" mtime="1626984746" />
<entry name="parallel_20210722.tar.gz" md5="f378ff0a5e4aeb3599747bf94f08b2b7" size="2490792" mtime="1626984746" />
</directory>

View file

@ -1,7 +1,7 @@
Summary: Shell tool for executing jobs in parallel
Name: parallel
Version: 20210622
Version: 20210722
Release: 1.3
License: GPL-3.0-or-later
Group: Productivity/File utilities

View file

@ -2,8 +2,6 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
SUBDIRS = sphinx
bin_SCRIPTS = parallel sql niceload parcat parset parsort \
env_parallel env_parallel.ash env_parallel.bash \
env_parallel.csh env_parallel.dash env_parallel.fish \
@ -344,6 +342,12 @@ parallel_cheat_bw.pdf: parallel_cheat_bw.fodt
sem: parallel
ln -fs parallel sem
sphinx: parallel.rst env_parallel.rst sem.rst sql.rst \
niceload.rst parallel_tutorial.rst parallel_book.rst \
parallel_design.rst parallel_alternatives.rst parcat.rst \
parset.rst parsort.rst
cd sphinx && make
DISTCLEANFILES = parallel.1 env_parallel.1 sem.1 sql.1 niceload.1 \
parallel_tutorial.7 parallel_book.7 parallel_design.7 \
parallel_alternatives.7 parcat.1 parset.1 parsort.1 \

View file

@ -385,7 +385,7 @@ _parset_main() {
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20210623 (GNU parallel `parallel --minversion 1`)"
echo "parset 20210722 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2021 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -384,7 +384,7 @@ _parset_main() {
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20210623 (GNU parallel `parallel --minversion 1`)"
echo "parset 20210722 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2021 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -385,7 +385,7 @@ _parset_main() {
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20210623 (GNU parallel `parallel --minversion 1`)"
echo "parset 20210722 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2021 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -363,7 +363,7 @@ _parset_main() {
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20210623 (GNU parallel `parallel --minversion 1`)"
echo "parset 20210722 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2021 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -365,7 +365,7 @@ _parset_main() {
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20210623 (GNU parallel `parallel --minversion 1`)"
echo "parset 20210722 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2021 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -390,7 +390,7 @@ _parset_main() {
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20210623 (GNU parallel `parallel --minversion 1`)"
echo "parset 20210722 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2021 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -355,7 +355,7 @@ _parset_main() {
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20210623 (GNU parallel `parallel --minversion 1`)"
echo "parset 20210722 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2021 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -26,7 +26,7 @@
use strict;
use Getopt::Long;
$Global::progname="niceload";
$Global::version = 20210623;
$Global::version = 20210722;
Getopt::Long::Configure("bundling","require_order");
get_options_from_array(\@ARGV) || die_usage();
if($opt::version) {

View file

@ -2223,7 +2223,7 @@ sub check_invalid_option_combinations() {
sub init_globals() {
# Defaults:
$Global::version = 20210623;
$Global::version = 20210722;
$Global::progname = 'parallel';
$::name = "GNU Parallel";
$Global::infinity = 2**31;
@ -5034,8 +5034,8 @@ sub usage() {
"If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:",
"",
" Tange, O. (2021, June 22). GNU Parallel 20210622 ('Protasevich').",
" Zenodo. https://doi.org/10.5281/zenodo.5013933",
" Tange, O. (2021, July 22). GNU Parallel 20210722 ('Blue Unity').",
" Zenodo. https://doi.org/10.5281/zenodo.5123056",
"",
# Before changing this line, please read
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice
@ -5065,8 +5065,8 @@ sub citation_notice() {
"If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:",
"",
" Tange, O. (2021, June 22). GNU Parallel 20210622 ('Protasevich').",
" Zenodo. https://doi.org/10.5281/zenodo.5013933",
" Tange, O. (2021, July 22). GNU Parallel 20210722 ('Blue Unity').",
" Zenodo. https://doi.org/10.5281/zenodo.5123056",
"",
# Before changing this line, please read
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and
@ -5189,20 +5189,20 @@ sub citation() {
"If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:",
"",
"\@software{tange_2021_5013933,",
"\@software{tange_2021_5123056,",
" author = {Tange, Ole},",
" title = {GNU Parallel 20210622 ('Protasevich')},",
" month = Jun,",
" title = {GNU Parallel 20210722 ('Blue Unity')},",
" month = Jul,",
" year = 2021,",
" note = {{GNU Parallel is a general parallelizer to run",
" multiple serial command line programs in parallel",
" without changing them.}},",
" publisher = {Zenodo},",
" doi = {10.5281/zenodo.5013933},",
" url = {https://doi.org/10.5281/zenodo.5013933}",
" doi = {10.5281/zenodo.5123056},",
" url = {https://doi.org/10.5281/zenodo.5123056}",
"}",
"",
"(Feel free to use \\nocite{tange_2021_5013933})",
"(Feel free to use \\nocite{tange_2021_5123056})",
"",
# Before changing this line, please read
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and

View file

@ -1639,9 +1639,9 @@ Activate additional replacement strings: {+/} {+.} {+..} {+...} {..}
B<{##}> is the total number of jobs to be run. It is incompatible with
B<-X>/B<-m>/B<--xargs>.
B<{0%}> zero-padded jobslot. (beta testing)
B<{0%}> zero-padded jobslot.
B<{0#}> zero-padded sequence number. (beta testing)
B<{0#}> zero-padded sequence number.
B<{choose_k}> is inspired by n choose k: Given a list of n elements,
choose k. k is the number of input sources and n is the number of
@ -1817,7 +1817,8 @@ Swap activity is computed as (swap-in)*(swap-out) which in practice is
a good value: swapping out is not a problem, swapping in is not a
problem, but both swapping in and out usually indicates a problem.
B<--memfree> may give better results, so try using that first.
B<--memfree> and B<--memsuspend> may give better results, so try using
those first.
=item B<--record-env>
@ -1868,9 +1869,9 @@ it to the command.
Only used with B<--pipe>.
=item B<--results> I<name>
=item B<--results> I<name> (alpha testing)
=item B<--res> I<name>
=item B<--res> I<name> (alpha testing)
Save the output into files.

View file

@ -1321,7 +1321,7 @@ Contrary to B<rush> this also works if the value is complex like:
My brother's 12" records
B<14. B<Preset variable> (`-v`), avoid repeatedly writing verbose replacement strings>
B<14. Preset variable (`-v`), avoid repeatedly writing verbose replacement strings>
14$ # naive way
echo read_1.fq.gz | rush 'echo {:^_1} {:^_1}_2.fq.gz'
@ -3174,6 +3174,10 @@ not, all the long jobs may end up in the same queue, so you may see:
time ./parallel-bash.bash -p 4 -c sleep {}
(12 seconds)
Because it uses bash lists, the total number of jobs is limited to
167000..265000 depending on your environment. You get a segmentation
fault, when you reach the limit.
Ctrl-C does not stop spawning new jobs. Ctrl-Z does not suspend
running jobs.
@ -3258,29 +3262,6 @@ https://vicerveza.homeunix.net/~viric/soft/ts/
https://github.com/chapmanjacobd/que
https://github.com/ExpectationMax/simple_gpu_scheduler
simple_gpu_scheduler --gpus 0 1 2 < gpu_commands.txt
parallel -j3 --shuf CUDA_VISIBLE_DEVICES='{=1 $_=slot()-1 =} {=uq;=}' < gpu_commands.txt
simple_hypersearch "python3 train_dnn.py --lr {lr} --batch_size {bs}" -p lr 0.001 0.0005 0.0001 -p bs 32 64 128 | simple_gpu_scheduler --gpus 0,1,2
parallel --header : --shuf -j3 -v CUDA_VISIBLE_DEVICES='{=1 $_=slot()-1 =}' python3 train_dnn.py --lr {lr} --batch_size {bs} ::: lr 0.001 0.0005 0.0001 ::: bs 32 64 128
simple_hypersearch "python3 train_dnn.py --lr {lr} --batch_size {bs}" --n-samples 5 -p lr 0.001 0.0005 0.0001 -p bs 32 64 128 | simple_gpu_scheduler --gpus 0,1,2
parallel --header : --shuf CUDA_VISIBLE_DEVICES='{=1 $_=slot()-1; seq() > 5 and skip() =}' python3 train_dnn.py --lr {lr} --batch_size {bs} ::: lr 0.001 0.0005 0.0001 ::: bs 32 64 128
touch gpu.queue
tail -f -n 0 gpu.queue | simple_gpu_scheduler --gpus 0,1,2 &
echo "my_command_with | and stuff > logfile" >> gpu.queue
touch gpu.queue
tail -f -n 0 gpu.queue | parallel -j3 CUDA_VISIBLE_DEVICES='{=1 $_=slot()-1 =} {=uq;=}' &
# Needed to fill job slots once
seq 3 | parallel echo true >> gpu.queue
# Add jobs
echo "my_command_with | and stuff > logfile" >> gpu.queue
# Needed to flush output from completed jobs
seq 3 | parallel echo true >> gpu.queue
https://github.com/Overv/outrun#outrun
=head1 TESTING OTHER TOOLS

View file

@ -29,12 +29,13 @@ The B<parset> and B<env_parset> functions are defined as part of
B<env_parallel>.
If I<variablename> is a single variable name, this will be treated as
the destination variable and made into an array.
the destination variable. If the variable is defined as an associative
array (using B<typeset -A myassoc>), this will be used. Otherwise the
variable will be made into a normal array.
If I<variablename> contains multiple names separated by ',' or space,
the names will be the destination variables. The number of names must
be at least the number of jobs - otherwise some tmp files will not be
cleaned up.
be at least the number of jobs.
=head1 OPTIONS
@ -82,8 +83,8 @@ B<parset> can read from stdin (standard input) if it is a file:
parset res echo < parallel_input_file
but B<parset> can not be part of a pipe. In particular this means it
cannot read from a pipe or write to a pipe:
but B<parset> can I<not> be part of a pipe. In particular this means
it cannot read from a pipe or write to a pipe:
seq 10 | parset res echo Does not work

View file

@ -37,7 +37,8 @@ Sort stdin (standard input) numerically:
=head1 PERFORMANCE
B<parsort> is faster on files, because these can be read in parallel.
B<parsort> is faster on a file than on stdin (standard input), because
different parts of a file can be read in parallel.
On a 48 core machine you should see a speedup of 3x over B<sort>.
@ -121,7 +122,7 @@ GetOptions(
"help" => \$opt::dummy,
) || exit(255);
$Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1];
$Global::version = 20210623;
$Global::version = 20210722;
if($opt::version) { version(); exit 0; }
@Global::sortoptions =
shell_quote(@ARGV_before[0..($#ARGV_before-$#ARGV-1)]);

View file

@ -13,6 +13,9 @@ BUILDDIR = build
all: copy
make html
install:
true dummy
copy:
cp -a ../*.rst source/

View file

@ -18,19 +18,23 @@
#
import os
import sys
import subprocess
sys.path.insert(0, os.path.abspath('.'))
short_version = (subprocess.run(['parallel', '--minversion', '1'], stdout=subprocess.PIPE)).stdout.decode('utf-8')
year = short_version[0:4]
# -- Project information -----------------------------------------------------
project = 'GNU Parallel'
copyright = '2021, Ole Tange'
copyright = year+', Ole Tange'
author = 'Ole Tange'
# The short X.Y version
version = ''
version = short_version
# The full version, including alpha/beta/rc tags
release = '20210122'
release = short_version
# -- General configuration ---------------------------------------------------

View file

@ -11,19 +11,69 @@ Welcome to GNU Parallel's documentation!
========================================
.. toctree::
:maxdepth: 3
:caption: Contents:
:maxdepth: 1
:caption: parallel
parallel
.. toctree::
:maxdepth: 3
:caption: sem
sem
.. toctree::
:maxdepth: 3
:caption: env_parallel
env_parallel
.. toctree::
:maxdepth: 3
:caption: parset
parset
.. toctree::
:maxdepth: 3
:caption: parsort
parsort
.. toctree::
:maxdepth: 3
:caption: parallel_design
parallel_design
.. toctree::
:maxdepth: 3
:caption: parallel_tutorial
parallel_tutorial
.. toctree::
:maxdepth: 3
:caption: parallel_alternatives
parallel_alternatives
.. toctree::
:maxdepth: 3
:caption: parcat
parcat
.. toctree::
:maxdepth: 3
:caption: niceload
niceload
.. toctree::
:maxdepth: 3
:caption: sql
sql

View file

@ -600,7 +600,7 @@ $Global::Initfile && unlink $Global::Initfile;
exit ($err);
sub parse_options {
$Global::version = 20210623;
$Global::version = 20210722;
$Global::progname = 'sql';
# This must be done first as this may exec myself

View file

@ -3,7 +3,10 @@
# SPDX-License-Identifier: GPL-3.0-or-later
### Full test set (except mem)
testsuite: 3
testsuite: short
true
all: mem short long polar
true
3: ../src/parallel tests-to-run/* wanted-results/* startdb prereqlocal prereqremote
@ -51,6 +54,10 @@ local: ../src/parallel tests-to-run/*local* wanted-results/*local* prereqlocal i
short: ../src/parallel tests-to-run/* wanted-results/* prereqlocal installparallel
TRIES=1 time bash Start.sh '' 'polar|mem|100s|300s'
# long
long: ../src/parallel tests-to-run/* wanted-results/* prereqlocal installparallel
TRIES=1 time bash Start.sh '00s' NONE
# short and local
localshort: ../src/parallel tests-to-run/*local* wanted-results/*local* prereqlocal installparallel
TRIES=1 time bash Start.sh local 'mem|100s|300s'

View file

@ -214,7 +214,7 @@ env_parallel -u -S$MASTER doit ::: 1 |
# eval 'myfunc2() { echo '$(perl -e 'print "x"x120000')'; }'
# env_parallel myfunc ::: a | wc # Fail too big env
# Supported keylength:
# Supported SSH keylength:
# 16300:
# debian-ppc netbsd openbsd qnx aix centos freebsd hpux hpux-ia64
# macosx mandriva miros raspbian redhat scosysv suse tru64 unixware