Released as 20140X22 ('Boko Haram').

This commit is contained in:
Ole Tange 2014-05-22 14:53:33 +02:00
parent 30b54613e8
commit 92366d743e
16 changed files with 172 additions and 65 deletions

37
NEWS
View file

@ -1,3 +1,40 @@
20140522
* Use --semaphoretimeout to ignore the semaphore lock after a while.
* {%} introduced as job slot replacement string. It has known bugs.
* --slotreplace changes slot replacement string.
* GNU Parallel officially in Solaris 11.2beta
https://blogs.oracle.com/alanc/entry/solaris_11_2_changes_to
* GNU Parallel was cited in: A Comparison of Antenna Placement
Algorithms http://abhinavjauhri.com/publications/eap.pdf
* Using GNU Parallel on a PBS cluster (nice use of --shebang-wrap)
https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/capacity-computing
* BioLite uses GNU Parallel: https://bitbucket.org/caseywdunn/biolite
* Isitdown uses GNU Parallel: http://www.isi.edu/~calvin/isitdown.md
* Convert FLAC to MP3 with GNU parallel
http://www.blogobramje.nl/posts/Convert_FLAC_to_MP3_with_GNU_parallel/
* JD Edwards Business Function Documentation
http://www.azertech.net/content/jd-edwards-business-function-documentation
* Tools of the trade http://blog.eikeland.se/2014/05/01/tools-of-the-trade/
* How I start a bioinformatics project
http://nickloman.github.io/2014/05/14/how-i-start-a-bioinformatics-project/
* No:The-Me GNU Parallel http://adityalaghate.in/gnu-parallel.html
* Bug fixes and man page updates.
20140422
* --pipepart is a highly efficient alternative to --pipe if the input

12
README
View file

@ -40,9 +40,9 @@ document.
Full installation of GNU Parallel is as simple as:
wget http://ftpmirror.gnu.org/parallel/parallel-20140422.tar.bz2
bzip2 -dc parallel-20140422.tar.bz2 | tar xvf -
cd parallel-20140422
wget http://ftpmirror.gnu.org/parallel/parallel-20140522.tar.bz2
bzip2 -dc parallel-20140522.tar.bz2 | tar xvf -
cd parallel-20140522
./configure && make && make install
@ -51,9 +51,9 @@ 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 http://ftpmirror.gnu.org/parallel/parallel-20140422.tar.bz2
bzip2 -dc parallel-20140422.tar.bz2 | tar xvf -
cd parallel-20140422
wget http://ftpmirror.gnu.org/parallel/parallel-20140522.tar.bz2
bzip2 -dc parallel-20140522.tar.bz2 | tar xvf -
cd parallel-20140522
./configure --prefix=$HOME && make && make install
Or if your system lacks 'make' you can simply copy src/parallel

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 20140422.
# Generated by GNU Autoconf 2.69 for parallel 20140522.
#
# Report bugs to <bug-parallel@gnu.org>.
#
@ -579,8 +579,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel'
PACKAGE_VERSION='20140422'
PACKAGE_STRING='parallel 20140422'
PACKAGE_VERSION='20140522'
PACKAGE_STRING='parallel 20140522'
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
PACKAGE_URL=''
@ -1194,7 +1194,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 20140422 to adapt to many kinds of systems.
\`configure' configures parallel 20140522 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1260,7 +1260,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of parallel 20140422:";;
short | recursive ) echo "Configuration of parallel 20140522:";;
esac
cat <<\_ACEOF
@ -1327,7 +1327,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
parallel configure 20140422
parallel configure 20140522
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@ -1344,7 +1344,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 20140422, which was
It was created by parallel $as_me 20140522, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@ -2159,7 +2159,7 @@ fi
# Define the identity of the package.
PACKAGE='parallel'
VERSION='20140422'
VERSION='20140522'
cat >>confdefs.h <<_ACEOF
@ -2710,7 +2710,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 20140422, which was
This file was extended by parallel $as_me 20140522, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -2772,7 +2772,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 20140422
parallel config.status 20140522
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

View file

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

View file

@ -221,8 +221,16 @@ GNU Parallel 20140522 ('Boko Haram') has been released. It is available for down
New in this release:
* Use --semaphoretimeout to ignore the semaphore lock after a while.
* {%} introduced as job slot replacement string. It has known bugs.
* --slotreplace changes slot replacement string.
* GNU Parallel officially in Solaris 11.2beta https://blogs.oracle.com/alanc/entry/solaris_11_2_changes_to
* GNU Parallel was cited in: A Comparison of Antenna Placement Algorithms http://abhinavjauhri.com/publications/eap.pdf
* Using GNU Parallel on a PBS cluster (nice use of --shebang-wrap) https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/capacity-computing
* BioLite uses GNU Parallel: https://bitbucket.org/caseywdunn/biolite
@ -231,6 +239,12 @@ New in this release:
* Convert FLAC to MP3 with GNU parallel http://www.blogobramje.nl/posts/Convert_FLAC_to_MP3_with_GNU_parallel/
* JD Edwards Business Function Documentation http://www.azertech.net/content/jd-edwards-business-function-documentation
* Tools of the trade http://blog.eikeland.se/2014/05/01/tools-of-the-trade/
* How I start a bioinformatics project http://nickloman.github.io/2014/05/14/how-i-start-a-bioinformatics-project/
* No:The-Me GNU Parallel http://adityalaghate.in/gnu-parallel.html
* Bug fixes and man page updates.

View file

@ -1,6 +1,6 @@
Summary: Shell tool for executing jobs in parallel
Name: parallel
Version: 20140422
Version: 20140522
Release: 1
License: GPL
Group: Productivity/File utilities

View file

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

View file

@ -733,7 +733,7 @@ sub get_options_from_array {
sub parse_options {
# Returns: N/A
# Defaults:
$Global::version = 20140422;
$Global::version = 20140522;
$Global::progname = 'parallel';
$Global::infinity = 2**31;
$Global::debug = 0;
@ -5167,10 +5167,10 @@ sub print {
# The read is non-blocking: The $in_fh is set to non-blocking.
# 32768 --tag = 5.1s
# 327680 --tag = 4.4s
# 1024000 --tag = 4.4s
# 1024000 --tag = 4.4s
# 3276800 --tag = 4.3s
# 32768000 --tag = 4.7s
# 10240000 --tag = 4.3s
# 10240000 --tag = 4.3s
while(read($in_fh,substr($$partial,length $$partial),3276800)) {
# Append to $$partial
# Find the last \n

Binary file not shown.

View file

@ -168,6 +168,16 @@ The replacement string B<{#}> can be changed with B<--seqreplace>.
To understand replacement strings see B<{}>.
=item B<{%}> (experimental)
Job slot number. This replacement string will be replaced by the job's
sequence number modulo the number of jobs to run in parallel.
The replacement string B<{%}> can be changed with B<--slotreplace>.
To understand replacement strings see B<{}>.
=item B<{>I<n>B<}>
Argument from input source I<n> or the I<n>'th argument. This
@ -395,7 +405,7 @@ I<size> defaults to 1M.
See B<--pipe> for use of this.
=item B<--cat> (alpha testing)
=item B<--cat> (beta testing)
Create a temporary file with content. Normally B<--pipe> will give
data to the program on stdin (standard input). With B<--cat> GNU
@ -553,7 +563,7 @@ See also B<--bg>, B<man sem>.
Implies B<--semaphore>.
=item B<--fifo> (alpha testing)
=item B<--fifo> (beta testing)
Create a temporary fifo with content. Normally B<--pipe> will give
data to the program on stdin (standard input). With B<--fifo> GNU
@ -595,6 +605,8 @@ B<parallel> by a factor of 10.
B<--group> is the default. Can be reversed with B<-u>.
See also: B<--line-buffer> B<--ungroup>
=item B<--help>
@ -786,7 +798,7 @@ B<-l 0> is an alias for B<-l 1>.
Implies B<-X> unless B<-m>, B<--xargs>, or B<--pipe> is set.
=item B<--line-buffer>
=item B<--line-buffer> (alpha testing)
Buffer output on line basis. B<--group> will keep the output together
for a whole job. B<--ungroup> allows output to mixup with half a line
@ -794,7 +806,11 @@ coming from one job and half a line coming from another
job. B<--line-buffer> fits between these two: GNU B<parallel> will
print a full line, but will allow for mixing lines of different jobs.
B<--line-buffer> is slower than both B<--group> and B<--ungroup>.
B<--line-buffer> takes more CPU power than than both B<--group> and
B<--ungroup>, but can be faster than B<--group> if the CPU is not the
limiting factor.
See also: B<--group> B<--ungroup>
=item B<--load> I<max-load>
@ -1076,6 +1092,19 @@ If the stdin (standard input) only contains whitespace, do not run the command.
If used with B<--pipe> this is slow.
=item B<--noswap>
Do not start new jobs on a given computer if there is both swap-in and
swap-out activity.
The swap activity is only sampled every 10 seconds as the sampling
takes 1 second to do.
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.
=item B<--record-env>
Record current environment variables in ~/.parallel/ignored_vars. This
@ -1270,7 +1299,7 @@ operating system and the B<-s> option. Pipe the input from /dev/null
to do anything.
=item B<--semaphore>
=item B<--semaphore> (alpha testing)
Work as a counting semaphore. B<--semaphore> will cause GNU
B<parallel> to start I<command> in the background. When the number of
@ -1307,7 +1336,7 @@ Implies B<--semaphore>.
See also B<man sem>.
=item B<--semaphoretimeout> I<secs> (not implemented)
=item B<--semaphoretimeout> I<secs> (alpha testing)
If the semaphore is not released within secs seconds, take it anyway.
@ -1468,17 +1497,10 @@ The sshloginfile '-' is special, too, it read sshlogins from stdin
(standard input).
=item B<--noswap>
=item B<--slotreplace> I<replace-str>
Do not start new jobs on a given computer if there is both swap-in and
swap-out activity.
The swap activity is only sampled every 10 seconds as the sampling
takes 1 second to do.
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.
Use the replacement string I<replace-str> instead of B<{%}> for
job slot number.
=item B<--silent>
@ -1620,6 +1642,8 @@ B<parallel -u -j0 'sleep {};echo -n start{};sleep {};echo {}end' ::: 1 2 3 4>
It also disables B<--tag>. GNU B<parallel> runs faster with B<-u>. Can
be reversed with B<--group>.
See also: B<--line-buffer> B<--group>
=item B<--extensionreplace> I<replace-str>

View file

@ -244,6 +244,16 @@ The replacement string @strong{@{#@}} can be changed with @strong{--seqreplace}.
To understand replacement strings see @strong{@{@}}.
@item @strong{@{%@}} (experimental)
@anchor{@strong{@{%@}} (experimental)}
Job slot number. This replacement string will be replaced by the job's
sequence number modulo the number of jobs to run in parallel.
The replacement string @strong{@{%@}} can be changed with @strong{--slotreplace}.
To understand replacement strings see @strong{@{@}}.
@item @strong{@{}@emph{n}@strong{@}}
@anchor{@strong{@{}@emph{n}@strong{@}}}
@ -481,8 +491,8 @@ than a single record.
See @strong{--pipe} for use of this.
@item @strong{--cat} (alpha testing)
@anchor{@strong{--cat} (alpha testing)}
@item @strong{--cat} (beta testing)
@anchor{@strong{--cat} (beta testing)}
Create a temporary file with content. Normally @strong{--pipe} will give
data to the program on stdin (standard input). With @strong{--cat} GNU
@ -647,8 +657,8 @@ See also @strong{--bg}, @strong{man sem}.
Implies @strong{--semaphore}.
@item @strong{--fifo} (alpha testing)
@anchor{@strong{--fifo} (alpha testing)}
@item @strong{--fifo} (beta testing)
@anchor{@strong{--fifo} (beta testing)}
Create a temporary fifo with content. Normally @strong{--pipe} will give
data to the program on stdin (standard input). With @strong{--fifo} GNU
@ -690,6 +700,8 @@ together, then disabling grouping with @strong{-u} can speedup GNU
@strong{--group} is the default. Can be reversed with @strong{-u}.
See also: @strong{--line-buffer} @strong{--ungroup}
@item @strong{--help}
@anchor{@strong{--help}}
@ -904,8 +916,8 @@ standard specifies @strong{-L} instead.
Implies @strong{-X} unless @strong{-m}, @strong{--xargs}, or @strong{--pipe} is set.
@item @strong{--line-buffer}
@anchor{@strong{--line-buffer}}
@item @strong{--line-buffer} (alpha testing)
@anchor{@strong{--line-buffer} (alpha testing)}
Buffer output on line basis. @strong{--group} will keep the output together
for a whole job. @strong{--ungroup} allows output to mixup with half a line
@ -913,7 +925,11 @@ coming from one job and half a line coming from another
job. @strong{--line-buffer} fits between these two: GNU @strong{parallel} will
print a full line, but will allow for mixing lines of different jobs.
@strong{--line-buffer} is slower than both @strong{--group} and @strong{--ungroup}.
@strong{--line-buffer} takes more CPU power than than both @strong{--group} and
@strong{--ungroup}, but can be faster than @strong{--group} if the CPU is not the
limiting factor.
See also: @strong{--group} @strong{--ungroup}
@item @strong{--load} @emph{max-load}
@anchor{@strong{--load} @emph{max-load}}
@ -1205,6 +1221,19 @@ If the stdin (standard input) only contains whitespace, do not run the command.
If used with @strong{--pipe} this is slow.
@item @strong{--noswap}
@anchor{@strong{--noswap}}
Do not start new jobs on a given computer if there is both swap-in and
swap-out activity.
The swap activity is only sampled every 10 seconds as the sampling
takes 1 second to do.
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.
@item @strong{--record-env}
@anchor{@strong{--record-env}}
@ -1419,8 +1448,8 @@ operating system and the @strong{-s} option. Pipe the input from /dev/null
(and perhaps specify --no-run-if-empty) if you don't want GNU @strong{parallel}
to do anything.
@item @strong{--semaphore}
@anchor{@strong{--semaphore}}
@item @strong{--semaphore} (alpha testing)
@anchor{@strong{--semaphore} (alpha testing)}
Work as a counting semaphore. @strong{--semaphore} will cause GNU
@strong{parallel} to start @emph{command} in the background. When the number of
@ -1457,8 +1486,8 @@ Implies @strong{--semaphore}.
See also @strong{man sem}.
@item @strong{--semaphoretimeout} @emph{secs} (not implemented)
@anchor{@strong{--semaphoretimeout} @emph{secs} (not implemented)}
@item @strong{--semaphoretimeout} @emph{secs} (alpha testing)
@anchor{@strong{--semaphoretimeout} @emph{secs} (alpha testing)}
If the semaphore is not released within secs seconds, take it anyway.
@ -1639,18 +1668,11 @@ The sshloginfile '.' is special, it read sshlogins from
The sshloginfile '-' is special, too, it read sshlogins from stdin
(standard input).
@item @strong{--noswap}
@anchor{@strong{--noswap}}
@item @strong{--slotreplace} @emph{replace-str}
@anchor{@strong{--slotreplace} @emph{replace-str}}
Do not start new jobs on a given computer if there is both swap-in and
swap-out activity.
The swap activity is only sampled every 10 seconds as the sampling
takes 1 second to do.
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.
Use the replacement string @emph{replace-str} instead of @strong{@{%@}} for
job slot number.
@item @strong{--silent}
@anchor{@strong{--silent}}
@ -1802,6 +1824,8 @@ care about the output. Compare these:
It also disables @strong{--tag}. GNU @strong{parallel} runs faster with @strong{-u}. Can
be reversed with @strong{--group}.
See also: @strong{--line-buffer} @strong{--group}
@item @strong{--extensionreplace} @emph{replace-str}
@anchor{@strong{--extensionreplace} @emph{replace-str}}

View file

@ -124,7 +124,7 @@
.\" ========================================================================
.\"
.IX Title "PARALLEL_TUTORIAL 1"
.TH PARALLEL_TUTORIAL 1 "2014-01-25" "20140422" "parallel"
.TH PARALLEL_TUTORIAL 1 "2014-01-25" "20140522" "parallel"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l

View file

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

Binary file not shown.

View file

@ -190,6 +190,14 @@ when called with @strong{--shebang}).
Size of tables. Show the size of the tables in the database.
@item @strong{--verbose}
@anchor{@strong{--verbose}}
@item @strong{-v}
@anchor{@strong{-v}}
Print which command is sent.
@item @strong{--version}
@anchor{@strong{--version}}

View file

@ -110,9 +110,9 @@ cat ... | parallel --pipe [options] [command [arguments]]
-j n Run n jobs in parallel
-k Keep same order
-X Multiple arguments with context replace
--colsep regexp Split input on regexp for positional replacements
{} {.} {/} {/.} {#} Replacement strings
{3} {3.} {3/} {3/.} Positional replacement strings
--colsep regexp Split input on regexp for positional replacements
{} {.} {/} {/.} {#} {%} Replacement strings
{3} {3.} {3/} {3/.} Positional replacement strings
-S sshlogin Example: foo@server.example.com
--slf .. Use ~/.parallel/sshloginfile as the list of sshlogins