Released as 20200922 ('Ginsburg')

This commit is contained in:
Ole Tange 2020-09-23 17:41:03 +02:00
parent 7398301e68
commit f0b40c126c
28 changed files with 266 additions and 184 deletions

12
NEWS
View file

@ -1,3 +1,15 @@
20200922
* New CPU detection for GNU/Linux.
* Bug fixes and man page updates.
News about GNU Parallel:
* Aug 21, 2020 - More Unix tools
https://floki.blog/2020/08/more_unix_tools
20200822 20200822
New in this release: New in this release:

24
README
View file

@ -57,11 +57,11 @@ document.
Full installation of GNU Parallel is as simple as: Full installation of GNU Parallel is as simple as:
wget https://ftpmirror.gnu.org/parallel/parallel-20200822.tar.bz2 wget https://ftpmirror.gnu.org/parallel/parallel-20200922.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20200822.tar.bz2.sig wget https://ftpmirror.gnu.org/parallel/parallel-20200922.tar.bz2.sig
gpg parallel-20200822.tar.bz2.sig gpg parallel-20200922.tar.bz2.sig
bzip2 -dc parallel-20200822.tar.bz2 | tar xvf - bzip2 -dc parallel-20200922.tar.bz2 | tar xvf -
cd parallel-20200822 cd parallel-20200922
./configure && make && sudo make install ./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 If you are not root you can add ~/bin to your path and install in
~/bin and ~/share: ~/bin and ~/share:
wget https://ftpmirror.gnu.org/parallel/parallel-20200822.tar.bz2 wget https://ftpmirror.gnu.org/parallel/parallel-20200922.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20200822.tar.bz2.sig wget https://ftpmirror.gnu.org/parallel/parallel-20200922.tar.bz2.sig
gpg parallel-20200822.tar.bz2.sig gpg parallel-20200922.tar.bz2.sig
bzip2 -dc parallel-20200822.tar.bz2 | tar xvf - bzip2 -dc parallel-20200922.tar.bz2 | tar xvf -
cd parallel-20200822 cd parallel-20200922
./configure --prefix=$HOME && make && make install ./configure --prefix=$HOME && make && make install
Or if your system lacks 'make' you can simply copy src/parallel 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 When using programs that use GNU Parallel to process data for
publication please cite: publication please cite:
Tange, O. (2020, August 22). GNU Parallel 20200822 ('Beirut'). Tange, O. (2020, September 22). GNU Parallel 20200922 ('Ginsburg').
Zenodo. https://doi.org/10.5281/zenodo.3996295 Zenodo. https://doi.org/10.5281/zenodo.4045386
Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015,
2016, 2017, 2018, 2019, 2020 Ole Tange, http://ole.tange.dk and Free 2016, 2017, 2018, 2019, 2020 Ole Tange, http://ole.tange.dk and Free

20
configure vendored
View file

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

View file

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

View file

@ -1,18 +1,12 @@
Quote of the month: Quote of the month:
My favorite man page is that of GNU parallel.
-- Jeroen Janssens @jeroenhjanssens@twitter
It's not a data migration party until GNU Parallel is involved... It's not a data migration party until GNU Parallel is involved...
involved involved
involved involved
-- rrees @rrees@twitter -- rrees @rrees@twitter
Great tool, gets jobs done fast. My favorite man page is that of GNU parallel.
Great tool, gets jobs done fast. -- Jeroen Janssens @jeroenhjanssens@twitter
Great tool, gets jobs done fast.
-- Paul F. De La Cruz @pdelacruzcc@twitter
I get a weird sense of satisfaction every single time I see the I get a weird sense of satisfaction every single time I see the
lovely logo of #GNU Parallel (plus, what an underrated piece of lovely logo of #GNU Parallel (plus, what an underrated piece of
@ -78,6 +72,9 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html
=== Used === === Used ===
My favorite man page is that of GNU parallel.
-- Jeroen Janssens @jeroenhjanssens@twitter
Gnu parallel is also awesome, fwiw. Gnu parallel is also awesome, fwiw.
-- Rogan Dawes @RoganDawes@twitter -- Rogan Dawes @RoganDawes@twitter

View file

@ -192,27 +192,28 @@ from:tange@gnu.org
to:parallel@gnu.org, bug-parallel@gnu.org to:parallel@gnu.org, bug-parallel@gnu.org
stable-bcc: Jesse Alama <jessealama@fastmail.fm> stable-bcc: Jesse Alama <jessealama@fastmail.fm>
Subject: GNU Parallel 20200922 ('Ginsburg/Kenosha/Belarus/Lukashenko/California/Malmö') released <<[stable]>> Subject: GNU Parallel 20200922 ('Ginsburg') released <<[stable]>>
GNU Parallel 20200922 ('') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/ GNU Parallel 20200922 ('Ginsburg') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
<<No new functionality was introduced so this is a good candidate for a stable release.>> <<No new functionality was introduced so this is a good candidate for a stable release.>>
Quote of the month: Quote of the month:
<<>> Great tool, gets jobs done fast.
Great tool, gets jobs done fast.
Great tool, gets jobs done fast.
-- Paul F. De La Cruz @pdelacruzcc@twitter
New in this release: New in this release:
* No new functionality * New CPU detection for GNU/Linux.
* Bug fixes and man page updates. * Bug fixes and man page updates.
News about GNU Parallel: News about GNU Parallel:
https://floki.blog/2020/08/more_unix_tools * Aug 21, 2020 - More Unix tools https://floki.blog/2020/08/more_unix_tools
https://computeontario.ca/event/webinar-options-for-solving-jobs-with-many-tasks/
Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html 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="290" vrev="1" srcmd5="a85169cae00a0e4ea737a0dcc7610790"> <directory name="parallel" rev="291" vrev="1" srcmd5="772589241980cede15670091c1a016e5">
<entry name="PKGBUILD" md5="3568bb74a45413f6c3280ab141f01c2b" size="936" mtime="1598138648" /> <entry name="PKGBUILD" md5="14b62b28eedfea3c3830ffbb3d54c79c" size="936" mtime="1600848731" />
<entry name="parallel-20200822.tar.bz2" md5="e3ce6ff94d5ba94218f3ab58dd81c0b6" size="2102282" mtime="1598138648" /> <entry name="parallel-20200922.tar.bz2" md5="d8bc0c44c37dd1ccc4d7bc42f98062c0" size="2101992" mtime="1600848732" />
<entry name="parallel.spec" md5="77efee1567858f2f53f6d4c7b243e2f0" size="4876" mtime="1598138649" /> <entry name="parallel.spec" md5="b71e6e62334c5ebe26c4b400b1725318" size="4876" mtime="1600848732" />
<entry name="parallel_20200822.dsc" md5="a81b6e0c9bb5bc165f2da177f401804f" size="556" mtime="1598138649" /> <entry name="parallel_20200922.dsc" md5="50e740b90ee7dfa6927fa73b5387052b" size="556" mtime="1600848732" />
<entry name="parallel_20200822.tar.gz" md5="a2de27efd1fa57afecd4aeb4a3959661" size="2295089" mtime="1598138649" /> <entry name="parallel_20200922.tar.gz" md5="f6c79896a62bc45280fce08ec1a7a092" size="2295683" mtime="1600848733" />
</directory> </directory>

View file

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

View file

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

View file

@ -2160,7 +2160,7 @@ sub check_invalid_option_combinations() {
sub init_globals() { sub init_globals() {
# Defaults: # Defaults:
$Global::version = 20200823; $Global::version = 20200922;
$Global::progname = 'parallel'; $Global::progname = 'parallel';
$::name = "GNU Parallel"; $::name = "GNU Parallel";
$Global::infinity = 2**31; $Global::infinity = 2**31;
@ -4919,8 +4919,8 @@ sub usage() {
"If you use programs that use GNU Parallel to process data for an article in a", "If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:", "scientific publication, please cite:",
"", "",
" Tange, O. (2020, August 22). GNU Parallel 20200822 ('Beirut').", " Tange, O. (2020, September 22). GNU Parallel 20200922 ('Ginsburg').",
" Zenodo. https://doi.org/10.5281/zenodo.3996295", " Zenodo. https://doi.org/10.5281/zenodo.4045386",
"", "",
# Before changing this line, please read # Before changing this line, please read
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice
@ -4950,8 +4950,8 @@ sub citation_notice() {
"If you use programs that use GNU Parallel to process data for an article in a", "If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:", "scientific publication, please cite:",
"", "",
" Tange, O. (2020, August 22). GNU Parallel 20200822 ('Beirut').", " Tange, O. (2020, September 22). GNU Parallel 20200922 ('Ginsburg').",
" Zenodo. https://doi.org/10.5281/zenodo.3996295", " Zenodo. https://doi.org/10.5281/zenodo.4045386",
"", "",
# Before changing this line, please read # Before changing this line, please read
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and
@ -5064,20 +5064,20 @@ sub citation() {
"If you use programs that use GNU Parallel to process data for an article in a", "If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:", "scientific publication, please cite:",
"", "",
"\@software{tange_2020_3996295,", "\@software{tange_2020_4045386,",
" author = {Tange, Ole},", " author = {Tange, Ole},",
" title = {GNU Parallel 20200822 ('Beirut')},", " title = {GNU Parallel 20200922 ('Ginsburg')},",
" month = Aug,", " month = Sep,",
" year = 2020,", " year = 2020,",
" note = {{GNU Parallel is a general parallelizer to run", " note = {{GNU Parallel is a general parallelizer to run",
" multiple serial command line programs in parallel", " multiple serial command line programs in parallel",
" without changing them.}},", " without changing them.}},",
" publisher = {Zenodo},", " publisher = {Zenodo},",
" doi = {10.5281/zenodo.3996295},", " doi = {10.5281/zenodo.4045386},",
" url = {https://doi.org/10.5281/zenodo.3996295}", " url = {https://doi.org/10.5281/zenodo.4045386}",
"}", "}",
"", "",
"(Feel free to use \\nocite{tange_2020_3996295})", "(Feel free to use \\nocite{tange_2020_4045386})",
"", "",
# Before changing this line, please read # Before changing this line, please read
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and

View file

@ -652,9 +652,13 @@ exec'ing a Perl wrapper to monitor the parent pid and kill the child
if the parent pid becomes 1, then Ctrl-C works and stderr is kept on if the parent pid becomes 1, then Ctrl-C works and stderr is kept on
stderr. stderr.
Ctrl-C does, however, kill the ssh connection, so any output from
a remote dying process is lost.
To be able to kill all (grand)*children a new process group is To be able to kill all (grand)*children a new process group is
started. started.
=head3 --nice =head3 --nice
B<nice>ing the remote process is done by B<setpriority(0,0,$nice)>. A B<nice>ing the remote process is done by B<setpriority(0,0,$nice)>. A

View file

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

View file

@ -8,9 +8,9 @@ testsuite: 3
make stopvm make stopvm
### Limited testsets - run once ### Limited testsets - run once
# No 100s, mem, polarhome, tutorial # No 100s, 300s, mem, polarhome, tutorial
1: ../src/parallel tests-to-run/* wanted-results/* prereqlocal startdb prereqremote 1: ../src/parallel tests-to-run/* wanted-results/* prereqlocal startdb prereqremote
TRIES=1 time bash Start.sh '' '100s|mem|polarhome|tutorial' || true TRIES=1 time bash Start.sh '' '00s|mem|polarhome|tutorial' || true
touch ~/.parallel/will-cite touch ~/.parallel/will-cite
make stopvm make stopvm
@ -26,9 +26,9 @@ tutorial: ../src/parallel tests-to-run/*tutorial* wanted-results/*tutorial* prer
touch ~/.parallel/will-cite touch ~/.parallel/will-cite
make stopvm make stopvm
# 100s # 100s and 300s
100s: ../src/parallel tests-to-run/*100s* wanted-results/*100s* prereqlocal 100s: ../src/parallel tests-to-run/*00s* wanted-results/*00s* prereqlocal
time bash Start.sh 100s NONE || true time bash Start.sh 00s NONE || true
touch ~/.parallel/will-cite touch ~/.parallel/will-cite
make stopvm make stopvm
@ -88,10 +88,10 @@ prereqremote: installparallel startvm
parallel -j0 --timeout 10 --tag ssh vagrant@parallel-server{} parallel --minversion 20121021 ::: 1 2 || (echo parallel on remote required for testsuite; /bin/true) parallel -j0 --timeout 10 --tag ssh vagrant@parallel-server{} parallel --minversion 20121021 ::: 1 2 || (echo parallel on remote required for testsuite; /bin/true)
startvm: startvm:
parallel 'cd vagrant/generic/{} && vagrant up' ::: centos8 freebsd11 freebsd12 rhel8 parallel --tag -k 'cd vagrant/generic/{} && vagrant up' ::: centos8 freebsd11 freebsd12 rhel8
stopvm: stopvm:
parallel 'cd vagrant/generic/{} && vagrant suspend' ::: centos8 freebsd11 freebsd12 rhel8 parallel --tag -k 'cd vagrant/generic/{} && vagrant suspend' ::: centos8 freebsd11 freebsd12 rhel8
startdb: startdb:
true should start Oracle in vagrant true should start Oracle in vagrant

View file

@ -46,15 +46,24 @@ run_test() {
} }
export -f run_test export -f run_test
create_monitor_script() {
# Create a monitor script # Create a monitor script
echo forever "'echo; pstree -lp '"$$"'; pstree -l'" $$ >/tmp/monitor echo forever "'echo; pstree -lp '"$$"'; pstree -l'" $$ >/tmp/monitor
chmod 755 /tmp/monitor chmod 755 /tmp/monitor
}
log_rotate() {
# Log rotate # Log rotate
mkdir -p log mkdir -p log
seq 10 -1 1 | seq 10 -1 1 |
parallel -j1 mv log/testsuite.log.{} log/testsuite.log.'{= $_++ =}' parallel -j1 mv log/testsuite.log.{} log/testsuite.log.'{= $_++ =}'
mv testsuite.log log/testsuite.log.1 mv testsuite.log log/testsuite.log.1
date }
create_monitor_script
log_rotate
printf "\033[48;5;78;38;5;0m `date` \033[00m\n"
mkdir -p actual-results mkdir -p actual-results
ls -t tests-to-run/*${1}*.sh | egrep -v "${2}" | ls -t tests-to-run/*${1}*.sh | egrep -v "${2}" |
parallel --tty -tj1 run_test | tee testsuite.log parallel --tty -tj1 run_test | tee testsuite.log
@ -66,4 +75,4 @@ else
rm -rf src-passing-testsuite rm -rf src-passing-testsuite
cp -a ../src src-passing-testsuite cp -a ../src src-passing-testsuite
fi fi
date printf "\033[48;5;208;38;5;0m `date` \033[00m\n"

View file

@ -1,14 +1,10 @@
#!/bin/bash #!/bin/bash
echo "### These tests requires VirtualBox running with the following images" echo "### These tests requires VirtualBox running with the following images"
echo `whoami`"@freebsd7"
SERVER1=freebsd11 SERVER1=freebsd11
SSHUSER1=vagrant SSHUSER1=vagrant
SSHLOGIN1=$SSHUSER1@$SERVER1 SSHLOGIN1=$SSHUSER1@$SERVER1
echo $SSHUSER1@$SERVER1
#VBoxManage startvm FreeBSD71 >/dev/null 2>&1
#ping -c 1 freebsd7.tange.dk >/dev/null 2>&1
ssh $SSHLOGIN1 touch .parallel/will-cite ssh $SSHLOGIN1 touch .parallel/will-cite
scp -q .*/src/{parallel,sem,sql,niceload,env_parallel*} $SSHLOGIN1:bin/ scp -q .*/src/{parallel,sem,sql,niceload,env_parallel*} $SSHLOGIN1:bin/
@ -97,9 +93,8 @@ unset TMPDIR
# we get 'shopt'-errors and 'declare'-errors. # we get 'shopt'-errors and 'declare'-errors.
# We can safely ignore those. # We can safely ignore those.
export LC_ALL=C
PARALLEL_SHELL=sh env_parallel --env _ -vj9 -k --joblog /tmp/jl-`basename $0` --retries 3 \ PARALLEL_SHELL=sh env_parallel --env _ -vj9 -k --joblog /tmp/jl-`basename $0` --retries 3 \
-S $SSHLOGIN1 --tag '{} 2>&1' \ -S $SSHLOGIN1 --tag '{} 2>&1' \
::: $(compgen -A function | grep par_ | sort) \ ::: $(compgen -A function | grep par_ | sort) \
2> >(grep -Ev 'shopt: not found|declare: not found') 2> >(grep -Ev 'shopt: not found|declare: not found')
#VBoxManage controlvm FreeBSD71 savestate

View file

@ -596,18 +596,28 @@ par_test_cpu_detection_cpuinfo() {
hOfZ08YsNAENX1FX hOfZ08YsNAENX1FX
' | unpack ' | unpack
} }
cpu14() {
echo '1-1-1-1 Intel Xeon X5675 (mandriva.p)'
echo '
KLUv/QRonQYAwsolIjBpzABoi2gVcBKev0FN8WI7YcCuNoTmTbB1dAmqC8N6MAf9xOhcS6B+
oOLc0Qb145avJCV9NqgRCTRE5ZAsLCJ3UOm9nwP6Pbd+2qihgkUvysD6XJ2vNKuvSDiO7aw/
UJ2JJoBuk5QfQVrssW26Wen4rx+YManHlUC3TAuQBw/M+Gkv5FqfpKYfJIAxwZfHWZafaSUx
ExcgQEik8g6fj08zd4EHssVA93AJ8C7xnA3qlYxXshyLBYN1XHECyZgjRUkKjzkkLOUQtuV4
YQqnBNP0ggo=
' | unpack
}
export -f $(compgen -A function | grep ^cpu) export -f $(compgen -A function | grep ^cpu)
test_one() { test_one() {
eval cpu$1 | head -n1 eval $1 | head -n1
export PARALLEL_CPUINFO="$(eval cpu$1 | tail -n +2)" export PARALLEL_CPUINFO="$(eval $1 | tail -n +2)"
echo $(parallel --number-of-sockets) \ echo $(parallel --number-of-sockets) \
$(parallel --number-of-cores) \ $(parallel --number-of-cores) \
$(parallel --number-of-threads) \ $(parallel --number-of-threads) \
$(parallel --number-of-cpus) $(parallel --number-of-cpus)
} }
export -f test_one export -f test_one
compgen -A function | grep ^cpu | parallel -j0 -k test_one {#} compgen -A function | grep ^cpu | sort | parallel -j0 -k test_one
} }
par_test_cpu_detection_lscpu() { par_test_cpu_detection_lscpu() {
@ -721,7 +731,7 @@ par_test_cpu_detection_lscpu() {
echo ' echo '
' | unpack ' | unpack
} }
cpu11() { Venter_cpu11() {
echo '1-4-8-4 4-core/8 thread Lenovo T480' echo '1-4-8-4 4-core/8 thread Lenovo T480'
echo ' echo '
' | unpack ' | unpack
@ -770,18 +780,31 @@ par_test_cpu_detection_lscpu() {
UzgEXRjGXoiIssGUkUUTqd0xvoBOHpTCmkWxrpQel//TQhslTAKUqRruSw== UzgEXRjGXoiIssGUkUUTqd0xvoBOHpTCmkWxrpQel//TQhslTAKUqRruSw==
' | unpack ' | unpack
} }
cpu14() {
echo '1-1-1-1 Intel Xeon X5675 (mandriva.p)'
echo '
KLUv/QRo1QwABt5WJBCNWAGjFDHykUWSQEvNjTGJMp1z5pZCA7MA9TKhFAAAEwwAAlEASgBI
AI5SkwOF5Y6KYGPe2WtyYNBQJBYf+BmNhuHwhoUCGNfhAQwAd9Q+Bs8wd5RyC8W3mjtK4tpj
j0usy+2ECAubBNfgjoLaIyMEN7IUd5SM3atRcmcRX8r5ztvXxuyOSb/6vowv+117fpu/0PdF
LvGjI+Y4YiluI+sONYkVxjZ5ddqnVyLxYxEk3OFYFuWO2knrL0SZrsaiSTgYisUD3X0ZZ4Px
HQKCcNJzym+QOcJLougixzkdijF6eOVZuvZ8JmSzYdQ/d9aekPwE7xzTlvQn5Mt2X/b0+PTe
IS25h9M3i8n4kfg0azkT7tuIQfYuNyLyckyaskUczAUc09YSCL9ne7iC6V4JQWzCfTBqjj1M
sxpLoqEozR3V3F6M4sN67nlAmHsv+4TKkb8oD7Pdb5RJv9gYKBAixjTqEIhm1AHKWTCgrkEE
YstArr0BOSgXJ4Xmpu4j9PRpQcgRCckdf4fcSFol9GuGecuj5uBxngHakML8
' | unpack
}
export -f $(compgen -A function | grep ^cpu) export -f $(compgen -A function | grep ^cpu)
test_one() { test_one() {
eval cpu$1 | head -n1 eval $1 | head -n1
export PARALLEL_LSCPU="$(eval cpu$1 | tail -n +2)" export PARALLEL_LSCPU="$(eval $1 | tail -n +2)"
echo $(parallel --number-of-sockets) \ echo $(parallel --number-of-sockets) \
$(parallel --number-of-cores) \ $(parallel --number-of-cores) \
$(parallel --number-of-threads) \ $(parallel --number-of-threads) \
$(parallel --number-of-cpus) $(parallel --number-of-cpus)
} }
export -f test_one export -f test_one
compgen -A function | grep ^cpu | parallel -j0 -k test_one {#} compgen -A function | grep ^cpu | sort | parallel -j0 -k test_one
} }
par_null_resume() { par_null_resume() {

View file

@ -23,6 +23,7 @@ par_few_duplicate_run() {
parallel --sqlworker $DBURL & parallel --sqlworker $DBURL &
wait wait
) | wc -l) ) | wc -l)
sql "$1" "drop table $TABLE;"
if [ $lines -gt 105 ] ; then if [ $lines -gt 105 ] ; then
echo Error: $lines are more than 5% duplicates echo Error: $lines are more than 5% duplicates
else else

View file

@ -157,7 +157,9 @@ par_big_var_func_name() {
} }
#macsshlogin=ota@mac #macsshlogin=ota@mac
macsshlogin=macosx.p #macsshlogin=macosx.p
macsshlogin=$(parallel --halt now,success=1 ssh {} echo {} ::: ota@mac macosx.p)
scp /usr/local/bin/parallel $macsshlogin:bin/ scp /usr/local/bin/parallel $macsshlogin:bin/
export LC_ALL=C export LC_ALL=C

View file

@ -84,6 +84,15 @@ perl -ne '$/="\n\n"; /^Output/../^[^O]\S/ and next; /^ / and print;' ../../src/
s{tried 1}{}; s{tried 1}{};
s/^\s*\n//; s/^\s*\n//;
s/^Second done\n//; s/^Second done\n//;
# Changed citation
s/Tange, O. .* GNU Parallel .*//;
s:https.//doi.org/10.5281/.*::;
s/.software.tange_.*//;
s/title.*= .*Parallel .*//;
s/month.*= .*//;
s/doi.*=.*//;
s/url.*= .*doi.org.*//;
s/.Feel free to use .nocite.*//;
' | ' |
perl -ne '/GTK2_RC_FILES/ and next; perl -ne '/GTK2_RC_FILES/ and next;
/GTK_RC_FILES/ and next; /GTK_RC_FILES/ and next;

View file

@ -1,5 +1,5 @@
### These tests requires VirtualBox running with the following images ### These tests requires VirtualBox running with the following images
tange@freebsd7 vagrant@freebsd11
par_compress_pipe par_compress_pipe 2>&1 par_compress_pipe par_compress_pipe 2>&1
par_compress_pipe Test --compress --pipe par_compress_pipe Test --compress --pipe
par_compress_pipe 1000 1000 3893 par_compress_pipe 1000 1000 3893

View file

@ -714,30 +714,46 @@ par_test_XI_mI a7 b1 2 3 4 5 6 7
par_test_XI_mI a8 b1 2 3 4 5 6 7 8 par_test_XI_mI a8 b1 2 3 4 5 6 7 8
par_test_XI_mI a9 b1 2 3 4 5 6 7 8 9 par_test_XI_mI a9 b1 2 3 4 5 6 7 8 9
par_test_XI_mI a10 b1 2 3 4 5 6 7 8 9 10 par_test_XI_mI a10 b1 2 3 4 5 6 7 8 9 10
par_test_cpu_detection 2-8-8-8 Xeon 8 core server in Germany par_test_cpu_detection_cpuinfo 2-8-8-8 Xeon 8 core server in Germany
par_test_cpu_detection 2 8 8 8 par_test_cpu_detection_cpuinfo 2 8 8 8
par_test_cpu_detection 1-4-8-4 Core i7-3632QM Acer laptop par_test_cpu_detection_cpuinfo 4-48-48-48 Dell R815 4 CPU 48-core
par_test_cpu_detection 1 4 8 4 par_test_cpu_detection_cpuinfo 4 24 48 24
par_test_cpu_detection 1-2-4-2 Core i5-2410M laptop firewall par_test_cpu_detection_cpuinfo 1-4-8-4 4-core/8 thread Lenovo T480
par_test_cpu_detection 1 2 4 2 par_test_cpu_detection_cpuinfo 1 4 8 4
par_test_cpu_detection 1-2-2-2 dual core laptop(?) par_test_cpu_detection_cpuinfo 4-64-64-64 Dell R815 4 CPU 64-core
par_test_cpu_detection 1 2 2 2 par_test_cpu_detection_cpuinfo 4 32 64 32
par_test_cpu_detection 2-24-48-24 24-core (maxwell?) par_test_cpu_detection_cpuinfo 1-2-2-2 AMD Neo N36L Dual-Core Processor
par_test_cpu_detection 2 24 48 24 par_test_cpu_detection_cpuinfo 1 2 2 2
par_test_cpu_detection 1-2-2-2 HP Laptop Compaq 6530b par_test_cpu_detection_cpuinfo 1-4-8-4 Core i7-3632QM Acer laptop
par_test_cpu_detection 1 2 2 2 par_test_cpu_detection_cpuinfo 1 4 8 4
par_test_cpu_detection 1-8-8-8 Huawei P Smart Octa-core (4x2.36 GHz Cortex-A53 & 4x1.7 GHz Cortex-A53) par_test_cpu_detection_cpuinfo 1-2-4-2 Core i5-2410M laptop firewall
par_test_cpu_detection 1 8 8 8 par_test_cpu_detection_cpuinfo 1 2 4 2
par_test_cpu_detection 1-4-4-4 x96 quad-core Android TV-box par_test_cpu_detection_cpuinfo 1-2-2-2 AMD Opteron 244 dual core laptop(?)
par_test_cpu_detection 1 4 4 4 par_test_cpu_detection_cpuinfo 1 2 2 2
par_test_cpu_detection 1-6-6-6 Kramses 200 USD laptop 6-core par_test_cpu_detection_cpuinfo 2-24-48-24 24-core (maxwell?)
par_test_cpu_detection 1 6 6 6 par_test_cpu_detection_cpuinfo 2 24 48 24
par_test_cpu_detection 4-48-48-48 Dell R815 4 CPU 48-core par_test_cpu_detection_cpuinfo 1-2-2-2 HP Laptop Compaq 6530b
par_test_cpu_detection 4 24 48 24 par_test_cpu_detection_cpuinfo 1 2 2 2
par_test_cpu_detection 1-4-8-4 4-core/8 thread Lenovo T480 par_test_cpu_detection_cpuinfo 1-8-8-8 Huawei P Smart Octa-core (4x2.36 GHz Cortex-A53 & 4x1.7 GHz Cortex-A53)
par_test_cpu_detection 1 4 8 4 par_test_cpu_detection_cpuinfo 1 8 8 8
par_test_cpu_detection 4-64-64-64 Dell R815 4 CPU 64-core par_test_cpu_detection_cpuinfo 1-4-4-4 x96 quad-core Android TV-box
par_test_cpu_detection 4 32 64 32 par_test_cpu_detection_cpuinfo 1 4 4 4
par_test_cpu_detection_cpuinfo 1-6-6-6 Kramses 200 USD laptop 6-core
par_test_cpu_detection_cpuinfo 1 6 6 6
par_test_cpu_detection_lscpu 2-8-8-8 Xeon 8 core server in Germany
par_test_cpu_detection_lscpu 2 8 8 8
par_test_cpu_detection_lscpu 4-64-64-64 Dell R815 4 CPU 64-core
par_test_cpu_detection_lscpu 4 8 8 8
par_test_cpu_detection_lscpu 1-2-2-2 AMD Neo N36L Dual-Core Processor
par_test_cpu_detection_lscpu 1 2 2 2
par_test_cpu_detection_lscpu 1-4-8-4 Core i7-3632QM Acer laptop
par_test_cpu_detection_lscpu 1 4 8 4
par_test_cpu_detection_lscpu 1-2-4-2 Core i5-2410M laptop firewall
par_test_cpu_detection_lscpu 1 2 4 2
par_test_cpu_detection_lscpu 1-8-8-8 Huawei P Smart Octa-core (4x2.36 GHz Cortex-A53 & 4x1.7 GHz Cortex-A53)
par_test_cpu_detection_lscpu 2 8 8 8
par_test_cpu_detection_lscpu 1-4-4-4 x96 quad-core Android TV-box
par_test_cpu_detection_lscpu 1 4 4 4
par_test_gt_quoting ### Test of quoting of > bug par_test_gt_quoting ### Test of quoting of > bug
par_test_gt_quoting >/dev/null par_test_gt_quoting >/dev/null
par_test_gt_quoting ### Test of quoting of > bug if line continuation par_test_gt_quoting ### Test of quoting of > bug if line continuation

View file

@ -1,9 +1,9 @@
make[1]: Entering directory '~/privat/parallel/testsuite' make[1]: Entering directory '~/privat/parallel/testsuite'
parallel 'cd vagrant/generic/{} && vagrant suspend' ::: centos8 freebsd11 freebsd12 rhel8 parallel --tag -k 'cd vagrant/generic/{} && vagrant suspend' ::: centos8 freebsd11 freebsd12 rhel8
==> default: Saving VM state and suspending execution... centos8 ==> default: Saving VM state and suspending execution...
==> default: Saving VM state and suspending execution... freebsd11 ==> default: Saving VM state and suspending execution...
==> default: Saving VM state and suspending execution... freebsd12 ==> default: Saving VM state and suspending execution...
==> default: Saving VM state and suspending execution... rhel8 ==> default: Saving VM state and suspending execution...
make[1]: Leaving directory '~/privat/parallel/testsuite' make[1]: Leaving directory '~/privat/parallel/testsuite'
par_2gb_record_reading ### Trouble reading a record > 2 GB for certain versions of Perl (substr($a,0,2G+1)="fails") par_2gb_record_reading ### Trouble reading a record > 2 GB for certain versions of Perl (substr($a,0,2G+1)="fails")
par_2gb_record_reading ### perl -e $buf=("x"x(2**31))."x"; substr($buf,0,2**31+1)=""; print length $buf par_2gb_record_reading ### perl -e $buf=("x"x(2**31))."x"; substr($buf,0,2**31+1)=""; print length $buf
@ -36,49 +36,49 @@ par_2gb_records_N parallel: Warning: A record was longer than 1690000003. Increa
par_2gb_records_N 8000000008 par_2gb_records_N 8000000008
par_2gb_records_N 1000000000 par_2gb_records_N 1000000000
make[1]: Entering directory '~/privat/parallel/testsuite' make[1]: Entering directory '~/privat/parallel/testsuite'
parallel 'cd vagrant/generic/{} && vagrant up' ::: centos8 freebsd11 freebsd12 rhel8 parallel --tag -k 'cd vagrant/generic/{} && vagrant up' ::: centos8 freebsd11 freebsd12 rhel8
Bringing machine 'default' up with 'virtualbox' provider... centos8 Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'generic/rhel8' version '3.0.12' is up to date... centos8 ==> default: Checking if box 'generic/centos8' version '3.0.12' is up to date...
==> default: Resuming suspended VM... centos8 ==> default: Resuming suspended VM...
==> default: Booting VM... centos8 ==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes... centos8 ==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2203 centos8 default: SSH address: 127.0.0.1:2204
default: SSH username: vagrant centos8 default: SSH username: vagrant
default: SSH auth method: private key centos8 default: SSH auth method: private key
==> default: Machine booted and ready! centos8 ==> default: Machine booted and ready!
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision` centos8 ==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run. centos8 ==> default: flag to force provisioning. Provisioners marked to run always will still run.
Bringing machine 'default' up with 'virtualbox' provider... freebsd11 Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'generic/freebsd12' version '3.0.12' is up to date... freebsd11 ==> default: Checking if box 'generic/freebsd11' version '3.0.12' is up to date...
==> default: Resuming suspended VM... freebsd11 ==> default: Resuming suspended VM...
==> default: Booting VM... freebsd11 ==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes... freebsd11 ==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2205 freebsd11 default: SSH address: 127.0.0.1:2206
default: SSH username: vagrant freebsd11 default: SSH username: vagrant
default: SSH auth method: private key freebsd11 default: SSH auth method: private key
==> default: Machine booted and ready! freebsd11 ==> default: Machine booted and ready!
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision` freebsd11 ==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run. freebsd11 ==> default: flag to force provisioning. Provisioners marked to run always will still run.
Bringing machine 'default' up with 'virtualbox' provider... freebsd12 Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'generic/centos8' version '3.0.12' is up to date... freebsd12 ==> default: Checking if box 'generic/freebsd12' version '3.0.12' is up to date...
==> default: Resuming suspended VM... freebsd12 ==> default: Resuming suspended VM...
==> default: Booting VM... freebsd12 ==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes... freebsd12 ==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2204 freebsd12 default: SSH address: 127.0.0.1:2205
default: SSH username: vagrant freebsd12 default: SSH username: vagrant
default: SSH auth method: private key freebsd12 default: SSH auth method: private key
==> default: Machine booted and ready! freebsd12 ==> default: Machine booted and ready!
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision` freebsd12 ==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run. freebsd12 ==> default: flag to force provisioning. Provisioners marked to run always will still run.
Bringing machine 'default' up with 'virtualbox' provider... rhel8 Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'generic/freebsd11' version '3.0.12' is up to date... rhel8 ==> default: Checking if box 'generic/rhel8' version '3.0.12' is up to date...
==> default: Resuming suspended VM... rhel8 ==> default: Resuming suspended VM...
==> default: Booting VM... rhel8 ==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes... rhel8 ==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2206 rhel8 default: SSH address: 127.0.0.1:2203
default: SSH username: vagrant rhel8 default: SSH username: vagrant
default: SSH auth method: private key rhel8 default: SSH auth method: private key
==> default: Machine booted and ready! rhel8 ==> default: Machine booted and ready!
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision` rhel8 ==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run. rhel8 ==> default: flag to force provisioning. Provisioners marked to run always will still run.
make[1]: Leaving directory '~/privat/parallel/testsuite' make[1]: Leaving directory '~/privat/parallel/testsuite'

View file

@ -1,11 +1,16 @@
par_few_duplicate_run $CSV par_few_duplicate_run $CSV par_few_duplicate_run $CSV par_few_duplicate_run $CSV
par_few_duplicate_run $CSV ### With many workers there will be some duplicates par_few_duplicate_run $CSV ### With many workers there will be some duplicates
par_few_duplicate_run $CSV Error:
par_few_duplicate_run $CSV csv:///%2Frun%2Fshm%2Fcsv is not a valid DBURL
par_few_duplicate_run $CSV
par_few_duplicate_run $CSV sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
par_few_duplicate_run $CSV OK par_few_duplicate_run $CSV OK
par_few_duplicate_run $MYSQL par_few_duplicate_run $MYSQL par_few_duplicate_run $MYSQL par_few_duplicate_run $MYSQL
par_few_duplicate_run $MYSQL ### With many workers there will be some duplicates par_few_duplicate_run $MYSQL ### With many workers there will be some duplicates
par_few_duplicate_run $MYSQL OK par_few_duplicate_run $MYSQL OK
par_few_duplicate_run $PG par_few_duplicate_run $PG par_few_duplicate_run $PG par_few_duplicate_run $PG
par_few_duplicate_run $PG ### With many workers there will be some duplicates par_few_duplicate_run $PG ### With many workers there will be some duplicates
par_few_duplicate_run $PG DROP TABLE
par_few_duplicate_run $PG OK par_few_duplicate_run $PG OK
par_few_duplicate_run $SQLITE par_few_duplicate_run $SQLITE par_few_duplicate_run $SQLITE par_few_duplicate_run $SQLITE
par_few_duplicate_run $SQLITE ### With many workers there will be some duplicates par_few_duplicate_run $SQLITE ### With many workers there will be some duplicates

View file

@ -304,8 +304,6 @@ parallel: Warning: Only enough file handles to run 2 jobs in parallel.
parallel: Warning: Running 'parallel -j0 -N 2 --pipe parallel -j0' or parallel: Warning: Running 'parallel -j0 -N 2 --pipe parallel -j0' or
parallel: Warning: raising 'ulimit -n' or 'nofile' in /etc/security/limits.conf parallel: Warning: raising 'ulimit -n' or 'nofile' in /etc/security/limits.conf
parallel: Warning: or /proc/sys/fs/file-max may help. parallel: Warning: or /proc/sys/fs/file-max may help.
parallel: Warning: No more file handles.
parallel: Warning: Raising ulimit -n or /etc/security/limits.conf may help.
echo 'bug #34241: --pipe should not spawn unneeded processes - part 2' echo 'bug #34241: --pipe should not spawn unneeded processes - part 2'
bug #34241: --pipe should not spawn unneeded processes - part 2 bug #34241: --pipe should not spawn unneeded processes - part 2
seq 500 | parallel --tmpdir . -j10 --pipe --block 1k --files wc >/dev/null; ls *.par | wc -l; rm *.par; seq 500 | parallel --tmpdir . -j10 --pipe --block 1k --files --dry-run wc >/dev/null; echo No .par should exist; stdout ls *.par seq 500 | parallel --tmpdir . -j10 --pipe --block 1k --files wc >/dev/null; ls *.par | wc -l; rm *.par; seq 500 | parallel --tmpdir . -j10 --pipe --block 1k --files --dry-run wc >/dev/null; echo No .par should exist; stdout ls *.par

View file

@ -108,6 +108,7 @@ a1.gifb1c1 a2.gifb2c2 a3.gifb3c3 a4.gifb4c4 a5.gifb5c5 a6.gifb6c6
echo '### Test -m with 10000 args'; seq 10000 | perl -pe 's/$/.gif/' | parallel -j1 -km echo a{}b{.}c{.} | tee >(wc; sleep 1) >(md5sum; sleep 1) >/dev/null; wait; sleep 1 echo '### Test -m with 10000 args'; seq 10000 | perl -pe 's/$/.gif/' | parallel -j1 -km echo a{}b{.}c{.} | tee >(wc; sleep 1) >(md5sum; sleep 1) >/dev/null; wait; sleep 1
### Test -m with 10000 args ### Test -m with 10000 args
c606aec1723ee5cc15f2a1b95d83d3cf - c606aec1723ee5cc15f2a1b95d83d3cf -
2 29996 186684
echo '### Test -X with 10000 args and 5 expansions' echo '### Test -X with 10000 args and 5 expansions'
### Test -X with 10000 args and 5 expansions ### Test -X with 10000 args and 5 expansions
seq 10000 | perl -pe 's/$/.gif/' | parallel -j1 -kX echo a{}b{.}c{.}{.}{} | wc -l seq 10000 | perl -pe 's/$/.gif/' | parallel -j1 -kX echo a{}b{.}c{.}{.}{} | wc -l

View file

@ -1,4 +1,4 @@
MAXTIME=50 RETRIES=3 MAXPROC=100 MAXINNERPROC=3 MAXTIME=50 RETRIES=3 MAXPROC=84 MAXINNERPROC=3
### Filter out working servers ### Filter out working servers
1d0 1d0
< openstep < openstep
@ -36,6 +36,7 @@ bin/parallel macosx copy macosx bin/parallel parallel
bin/parallel redhat copy redhat bin/parallel parallel bin/parallel redhat copy redhat bin/parallel parallel
bin/parallel netbsd copy netbsd bin/parallel parallel bin/parallel netbsd copy netbsd bin/parallel parallel
bin/parallel openbsd copy openbsd bin/parallel parallel bin/parallel openbsd copy openbsd bin/parallel parallel
bin/parallel debian copy debian bin/parallel parallel
bin/parallel freebsd copy freebsd bin/parallel parallel bin/parallel freebsd copy freebsd bin/parallel parallel
bin/parallel hurd copy hurd bin/parallel parallel bin/parallel hurd copy hurd bin/parallel parallel
bin/parallel minix copy minix bin/parallel parallel bin/parallel minix copy minix bin/parallel parallel
@ -61,6 +62,7 @@ bin/env_parallel macosx copy macosx bin/env_parallel env_parallel
bin/env_parallel redhat copy redhat bin/env_parallel env_parallel bin/env_parallel redhat copy redhat bin/env_parallel env_parallel
bin/env_parallel netbsd copy netbsd bin/env_parallel env_parallel bin/env_parallel netbsd copy netbsd bin/env_parallel env_parallel
bin/env_parallel openbsd copy openbsd bin/env_parallel env_parallel bin/env_parallel openbsd copy openbsd bin/env_parallel env_parallel
bin/env_parallel debian copy debian bin/env_parallel env_parallel
bin/env_parallel freebsd copy freebsd bin/env_parallel env_parallel bin/env_parallel freebsd copy freebsd bin/env_parallel env_parallel
bin/env_parallel hurd copy hurd bin/env_parallel env_parallel bin/env_parallel hurd copy hurd bin/env_parallel env_parallel
bin/env_parallel minix copy minix bin/env_parallel env_parallel bin/env_parallel minix copy minix bin/env_parallel env_parallel
@ -86,6 +88,7 @@ bin/env_parallel.ash macosx copy macosx bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash redhat copy redhat bin/env_parallel.ash env_parallel.ash bin/env_parallel.ash redhat copy redhat bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash netbsd copy netbsd bin/env_parallel.ash env_parallel.ash bin/env_parallel.ash netbsd copy netbsd bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash openbsd copy openbsd bin/env_parallel.ash env_parallel.ash bin/env_parallel.ash openbsd copy openbsd bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash debian copy debian bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash freebsd copy freebsd bin/env_parallel.ash env_parallel.ash bin/env_parallel.ash freebsd copy freebsd bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash hurd copy hurd bin/env_parallel.ash env_parallel.ash bin/env_parallel.ash hurd copy hurd bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash minix copy minix bin/env_parallel.ash env_parallel.ash bin/env_parallel.ash minix copy minix bin/env_parallel.ash env_parallel.ash
@ -111,6 +114,7 @@ bin/env_parallel.bash macosx copy macosx bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash redhat copy redhat bin/env_parallel.bash env_parallel.bash bin/env_parallel.bash redhat copy redhat bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash netbsd copy netbsd bin/env_parallel.bash env_parallel.bash bin/env_parallel.bash netbsd copy netbsd bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash openbsd copy openbsd bin/env_parallel.bash env_parallel.bash bin/env_parallel.bash openbsd copy openbsd bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash debian copy debian bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash freebsd copy freebsd bin/env_parallel.bash env_parallel.bash bin/env_parallel.bash freebsd copy freebsd bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash hurd copy hurd bin/env_parallel.bash env_parallel.bash bin/env_parallel.bash hurd copy hurd bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash minix copy minix bin/env_parallel.bash env_parallel.bash bin/env_parallel.bash minix copy minix bin/env_parallel.bash env_parallel.bash
@ -136,6 +140,7 @@ bin/env_parallel.csh macosx copy macosx bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh redhat copy redhat bin/env_parallel.csh env_parallel.csh bin/env_parallel.csh redhat copy redhat bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh netbsd copy netbsd bin/env_parallel.csh env_parallel.csh bin/env_parallel.csh netbsd copy netbsd bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh openbsd copy openbsd bin/env_parallel.csh env_parallel.csh bin/env_parallel.csh openbsd copy openbsd bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh debian copy debian bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh freebsd copy freebsd bin/env_parallel.csh env_parallel.csh bin/env_parallel.csh freebsd copy freebsd bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh hurd copy hurd bin/env_parallel.csh env_parallel.csh bin/env_parallel.csh hurd copy hurd bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh minix copy minix bin/env_parallel.csh env_parallel.csh bin/env_parallel.csh minix copy minix bin/env_parallel.csh env_parallel.csh
@ -161,8 +166,6 @@ bin/env_parallel.dash macosx copy macosx bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash redhat copy redhat bin/env_parallel.dash env_parallel.dash bin/env_parallel.dash redhat copy redhat bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash netbsd copy netbsd bin/env_parallel.dash env_parallel.dash bin/env_parallel.dash netbsd copy netbsd bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash openbsd copy openbsd bin/env_parallel.dash env_parallel.dash bin/env_parallel.dash openbsd copy openbsd bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash freebsd copy freebsd bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash hurd copy hurd bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash minix copy minix bin/env_parallel.dash env_parallel.dash bin/env_parallel.dash minix copy minix bin/env_parallel.dash env_parallel.dash
bin/env_parallel.fish qnx copy qnx bin/env_parallel.fish env_parallel.fish bin/env_parallel.fish qnx copy qnx bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish pidora copy pidora bin/env_parallel.fish env_parallel.fish bin/env_parallel.fish pidora copy pidora bin/env_parallel.fish env_parallel.fish
@ -186,6 +189,7 @@ bin/env_parallel.fish macosx copy macosx bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish redhat copy redhat bin/env_parallel.fish env_parallel.fish bin/env_parallel.fish redhat copy redhat bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish netbsd copy netbsd bin/env_parallel.fish env_parallel.fish bin/env_parallel.fish netbsd copy netbsd bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish openbsd copy openbsd bin/env_parallel.fish env_parallel.fish bin/env_parallel.fish openbsd copy openbsd bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish debian copy debian bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish freebsd copy freebsd bin/env_parallel.fish env_parallel.fish bin/env_parallel.fish freebsd copy freebsd bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish hurd copy hurd bin/env_parallel.fish env_parallel.fish bin/env_parallel.fish hurd copy hurd bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish minix copy minix bin/env_parallel.fish env_parallel.fish bin/env_parallel.fish minix copy minix bin/env_parallel.fish env_parallel.fish
@ -211,6 +215,7 @@ bin/env_parallel.ksh macosx copy macosx bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh redhat copy redhat bin/env_parallel.ksh env_parallel.ksh bin/env_parallel.ksh redhat copy redhat bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh netbsd copy netbsd bin/env_parallel.ksh env_parallel.ksh bin/env_parallel.ksh netbsd copy netbsd bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh openbsd copy openbsd bin/env_parallel.ksh env_parallel.ksh bin/env_parallel.ksh openbsd copy openbsd bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh debian copy debian bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh freebsd copy freebsd bin/env_parallel.ksh env_parallel.ksh bin/env_parallel.ksh freebsd copy freebsd bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh hurd copy hurd bin/env_parallel.ksh env_parallel.ksh bin/env_parallel.ksh hurd copy hurd bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh minix copy minix bin/env_parallel.ksh env_parallel.ksh bin/env_parallel.ksh minix copy minix bin/env_parallel.ksh env_parallel.ksh
@ -236,6 +241,7 @@ bin/env_parallel.mksh macosx copy macosx bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh redhat copy redhat bin/env_parallel.mksh env_parallel.mksh bin/env_parallel.mksh redhat copy redhat bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh netbsd copy netbsd bin/env_parallel.mksh env_parallel.mksh bin/env_parallel.mksh netbsd copy netbsd bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh openbsd copy openbsd bin/env_parallel.mksh env_parallel.mksh bin/env_parallel.mksh openbsd copy openbsd bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh debian copy debian bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh freebsd copy freebsd bin/env_parallel.mksh env_parallel.mksh bin/env_parallel.mksh freebsd copy freebsd bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh hurd copy hurd bin/env_parallel.mksh env_parallel.mksh bin/env_parallel.mksh hurd copy hurd bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh minix copy minix bin/env_parallel.mksh env_parallel.mksh bin/env_parallel.mksh minix copy minix bin/env_parallel.mksh env_parallel.mksh
@ -261,6 +267,7 @@ bin/env_parallel.pdksh macosx copy macosx bin/env_parallel.pdksh env_parallel.pd
bin/env_parallel.pdksh redhat copy redhat bin/env_parallel.pdksh env_parallel.pdksh bin/env_parallel.pdksh redhat copy redhat bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh netbsd copy netbsd bin/env_parallel.pdksh env_parallel.pdksh bin/env_parallel.pdksh netbsd copy netbsd bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh openbsd copy openbsd bin/env_parallel.pdksh env_parallel.pdksh bin/env_parallel.pdksh openbsd copy openbsd bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh debian copy debian bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh freebsd copy freebsd bin/env_parallel.pdksh env_parallel.pdksh bin/env_parallel.pdksh freebsd copy freebsd bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh hurd copy hurd bin/env_parallel.pdksh env_parallel.pdksh bin/env_parallel.pdksh hurd copy hurd bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh minix copy minix bin/env_parallel.pdksh env_parallel.pdksh bin/env_parallel.pdksh minix copy minix bin/env_parallel.pdksh env_parallel.pdksh
@ -286,6 +293,7 @@ bin/env_parallel.sh macosx copy macosx bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh redhat copy redhat bin/env_parallel.sh env_parallel.sh bin/env_parallel.sh redhat copy redhat bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh netbsd copy netbsd bin/env_parallel.sh env_parallel.sh bin/env_parallel.sh netbsd copy netbsd bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh openbsd copy openbsd bin/env_parallel.sh env_parallel.sh bin/env_parallel.sh openbsd copy openbsd bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh debian copy debian bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh freebsd copy freebsd bin/env_parallel.sh env_parallel.sh bin/env_parallel.sh freebsd copy freebsd bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh hurd copy hurd bin/env_parallel.sh env_parallel.sh bin/env_parallel.sh hurd copy hurd bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh minix copy minix bin/env_parallel.sh env_parallel.sh bin/env_parallel.sh minix copy minix bin/env_parallel.sh env_parallel.sh
@ -311,6 +319,7 @@ bin/env_parallel.tcsh macosx copy macosx bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh redhat copy redhat bin/env_parallel.tcsh env_parallel.tcsh bin/env_parallel.tcsh redhat copy redhat bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh netbsd copy netbsd bin/env_parallel.tcsh env_parallel.tcsh bin/env_parallel.tcsh netbsd copy netbsd bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh openbsd copy openbsd bin/env_parallel.tcsh env_parallel.tcsh bin/env_parallel.tcsh openbsd copy openbsd bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh debian copy debian bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh freebsd copy freebsd bin/env_parallel.tcsh env_parallel.tcsh bin/env_parallel.tcsh freebsd copy freebsd bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh hurd copy hurd bin/env_parallel.tcsh env_parallel.tcsh bin/env_parallel.tcsh hurd copy hurd bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh minix copy minix bin/env_parallel.tcsh env_parallel.tcsh bin/env_parallel.tcsh minix copy minix bin/env_parallel.tcsh env_parallel.tcsh
@ -336,6 +345,7 @@ bin/env_parallel.zsh macosx copy macosx bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh redhat copy redhat bin/env_parallel.zsh env_parallel.zsh bin/env_parallel.zsh redhat copy redhat bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh netbsd copy netbsd bin/env_parallel.zsh env_parallel.zsh bin/env_parallel.zsh netbsd copy netbsd bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh openbsd copy openbsd bin/env_parallel.zsh env_parallel.zsh bin/env_parallel.zsh openbsd copy openbsd bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh debian copy debian bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh freebsd copy freebsd bin/env_parallel.zsh env_parallel.zsh bin/env_parallel.zsh freebsd copy freebsd bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh hurd copy hurd bin/env_parallel.zsh env_parallel.zsh bin/env_parallel.zsh hurd copy hurd bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh minix copy minix bin/env_parallel.zsh env_parallel.zsh bin/env_parallel.zsh minix copy minix bin/env_parallel.zsh env_parallel.zsh
@ -361,6 +371,7 @@ bin/parcat macosx copy macosx bin/parcat parcat
bin/parcat redhat copy redhat bin/parcat parcat bin/parcat redhat copy redhat bin/parcat parcat
bin/parcat netbsd copy netbsd bin/parcat parcat bin/parcat netbsd copy netbsd bin/parcat parcat
bin/parcat openbsd copy openbsd bin/parcat parcat bin/parcat openbsd copy openbsd bin/parcat parcat
bin/parcat debian copy debian bin/parcat parcat
bin/parcat freebsd copy freebsd bin/parcat parcat bin/parcat freebsd copy freebsd bin/parcat parcat
bin/parcat hurd copy hurd bin/parcat parcat bin/parcat hurd copy hurd bin/parcat parcat
bin/parcat minix copy minix bin/parcat parcat bin/parcat minix copy minix bin/parcat parcat
@ -567,8 +578,7 @@ redhat OK readonly tmp
scosysv Error in tempfile() using /XXXXXXXX.arg: Parent directory (/) is not writable scosysv Error in tempfile() using /XXXXXXXX.arg: Parent directory (/) is not writable
scosysv at ~/bin/parallel line 0000 scosysv at ~/bin/parallel line 0000
scosysv OK readonly tmp scosysv OK readonly tmp
solaris Error in tempfile() using /XXXXXXXX.arg: Parent directory (/) is not writable solaris Error in tempfile() using /XXXXXXXX.arg: Could not create temp file /XXXXXXXX.arg: Permission denied at ~/bin/parallel line 0000
solaris at ~/bin/parallel line 0000
solaris OK readonly tmp solaris OK readonly tmp
solaris-x86 Error in tempfile() using /XXXXXXXX.arg: Could not create temp file /XXXXXXXX.arg: Permission denied at ~/bin/parallel line 0000 solaris-x86 Error in tempfile() using /XXXXXXXX.arg: Could not create temp file /XXXXXXXX.arg: Permission denied at ~/bin/parallel line 0000
solaris-x86 OK readonly tmp solaris-x86 OK readonly tmp

View file

@ -1368,8 +1368,8 @@ See 'man parallel' for details
Academic tradition requires you to cite works you base your article on. Academic tradition requires you to cite works you base your article on.
If you use programs that use GNU Parallel to process data for an article in a If you use programs that use GNU Parallel to process data for an article in a
scientific publication, please cite: scientific publication, please cite:
Tange, O. (2020, June 22). GNU Parallel VERSION ('Floyd').
Zenodo. https://doi.org/10.5281/zenodo.3903853 Zenodo.
This helps funding further development; AND IT WON'T COST YOU A CENT. This helps funding further development; AND IT WON'T COST YOU A CENT.
If you pay 10000 EUR you should feel free to use GNU Parallel without citing. If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
parallel --version parallel --version
@ -1390,19 +1390,18 @@ Your version is at least VERSION.
Academic tradition requires you to cite works you base your article on. Academic tradition requires you to cite works you base your article on.
If you use programs that use GNU Parallel to process data for an article in a If you use programs that use GNU Parallel to process data for an article in a
scientific publication, please cite: scientific publication, please cite:
@software{tange_2020_3903853,
author = {Tange, Ole}, author = {Tange, Ole},
title = {GNU Parallel VERSION ('Floyd')},
month = Jun,
year = 2020, year = 2020,
note = {{GNU Parallel is a general parallelizer to run note = {{GNU Parallel is a general parallelizer to run
multiple serial command line programs in parallel multiple serial command line programs in parallel
without changing them.}}, without changing them.}},
publisher = {Zenodo}, publisher = {Zenodo},
doi = {10.5281/zenodo.3903853},
url = {https://doi.org/10.5281/zenodo.3903853} url = {
} }
(Feel free to use \nocite{tange_2020_3903853})
This helps funding further development; AND IT WON'T COST YOU A CENT. This helps funding further development; AND IT WON'T COST YOU A CENT.
If you pay 10000 EUR you should feel free to use GNU Parallel without citing. If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
More about funding GNU Parallel and the citation notice: More about funding GNU Parallel and the citation notice:

View file

@ -42,8 +42,8 @@ def 3
2 6 48 2 6 48
2 6 48 2 6 48
### Test --table-size --tablesize ### Test --table-size --tablesize
83 81
83 81
### Test --debug ### Test --debug
dburl mysql://tange:tange@localhost:3306/tange dburl mysql://tange:tange@localhost:3306/tange
databasedriver mysql user tange password tange host localhost port 3306 database tange query databasedriver mysql user tange password tange host localhost port 3306 database tange query