mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-12-23 05:07:54 +00:00
parallel: ETA format changed. SHM+joblog testsuite fixed.
This commit is contained in:
parent
4ef63ba2e1
commit
e014e33743
|
@ -204,24 +204,42 @@ cc:Sandro Cazzaniga <kharec@mandriva.org>,
|
|||
Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>,
|
||||
Jesse Alama <jesse.alama@gmail.com>
|
||||
|
||||
Subject: GNU Parallel 20140222 ('Sochi') released
|
||||
Subject: GNU Parallel 20140222 ('Со́чи') released
|
||||
|
||||
GNU Parallel 20140222 ('Sochi') has been released. It is available for download at: http://ftp.gnu.org/gnu/parallel/
|
||||
GNU Parallel 20140222 ('Со́чи') has been released. It is available for download at: http://ftp.gnu.org/gnu/parallel/
|
||||
|
||||
The --compress change is so big that this release is of alpha quality.
|
||||
|
||||
New in this release:
|
||||
|
||||
* --tollef has been retired.
|
||||
|
||||
* --compress has be redesigned due to bugs.
|
||||
|
||||
* GNU Parallel was cited in: Speaker Verification and Keyword Spotting
|
||||
Systems for Forensic Applications
|
||||
http://lantana.tenet.res.in/website_files/thesis/Phd/srikanth.pdf
|
||||
|
||||
* GNU Parallel was used (unfortunately without citation) in:
|
||||
Performance and Energy Efficiency of Common Compression /
|
||||
Decompression Utilities
|
||||
http://www.researchgate.net/publication/243962643_Performance_and_Energy_Efficiency_of_Common_CompressionDecompression_Utilities_An_Experimental_Study_in_Mobile_and_Workstation_Computer_Platforms/file/3deec51d1dbc0474f9.pdf
|
||||
|
||||
* GNU Parallel is co-distributed with RepeatExplorer
|
||||
http://www.vcru.wisc.edu/simonlab/bioinformatics/programs/repeatexplorer/README.txt
|
||||
|
||||
* Convert MP3 to a scrolling spectrum waterfall plot video
|
||||
http://jdesbonnet.blogspot.dk/2014/02/convert-mp3-to-scrolling-spectrum.html
|
||||
|
||||
* PHP wrapper class for the GNU Parallel tool
|
||||
https://github.com/geopal-solutions/gnu-parallel-wrapper/tree/master
|
||||
|
||||
* Single-Thread-Programme auf Multicore-Rechnern parallelisieren
|
||||
http://www.adlerweb.info/blog/2014/02/08/linux-single-thread-programme-auf-multicore-rechnern-parallelisieren
|
||||
|
||||
* Распараллеливаем процессы для ускорения вычислений и выполнения заданий в Linux
|
||||
http://savepearlharbor.com/?p=210480
|
||||
|
||||
* Bug fixes and man page updates.
|
||||
|
||||
|
||||
|
|
|
@ -1624,7 +1624,7 @@ sub progress {
|
|||
} else {
|
||||
$this_eta = $Private::last_eta;
|
||||
}
|
||||
$eta = sprintf("ETA: %ds %dleft %.2favg ", $this_eta, $left, $avgtime);
|
||||
$eta = sprintf("ETA: %ds Left: %d AVG: %.2fs ", $this_eta, $left, $avgtime);
|
||||
if($opt::bar) {
|
||||
my $arg = $Global::newest_job ?
|
||||
$Global::newest_job->{'commandline'}->simple_replace_placeholders($Global::replace{"{}"}) : "";
|
||||
|
|
|
@ -3,6 +3,13 @@
|
|||
# Simple jobs that never fails
|
||||
# Each should be taking 30-100s and be possible to run in parallel
|
||||
# I.e.: No race conditions, no logins
|
||||
|
||||
# Assume /tmp/shm is easy to fill up
|
||||
export SHM=/tmp/shm/parallel
|
||||
mkdir -p $SHM
|
||||
sudo umount -l $SHM
|
||||
sudo mount -t tmpfs -o size=10% none $SHM
|
||||
|
||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -k -j4 -L1
|
||||
echo '### Test race condition on 8 CPU (my laptop)';
|
||||
seq 1 5000000 > /tmp/parallel_test;
|
||||
|
@ -11,7 +18,7 @@ echo '### Test race condition on 8 CPU (my laptop)';
|
|||
echo '**'
|
||||
|
||||
echo "### Test --tmpdir running full. bug #40733 was caused by this"
|
||||
stdout parallel -j1 --tmpdir /run/shm cat /dev/zero ::: dummy
|
||||
stdout parallel -j1 --tmpdir $SHM cat /dev/zero ::: dummy
|
||||
|
||||
echo '**'
|
||||
|
||||
|
|
|
@ -143,7 +143,7 @@ echo '### Test {#}'
|
|||
seq 1 10 | parallel -k echo {#}
|
||||
|
||||
echo '### Test --seqreplace and line too long'
|
||||
seq 1 100 | stdout parallel -k --seqreplace I echo $(perl -e 'print "I"x130000') \|wc
|
||||
seq 1 100 | stdout parallel -k --seqreplace I echo $(perl -e 'print "I"x130000') \|wc | uniq
|
||||
|
||||
echo '### bug #37042: -J foo is taken from the whole command line - not just the part before the command'
|
||||
echo '--tagstring foo' > ~/.parallel/bug_37042_profile;
|
||||
|
|
|
@ -1,25 +1,36 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Assume /dev/shm is easy to fill up
|
||||
mkdir -p /dev/shm/parallel
|
||||
SHM=/tmp/shm/parallel
|
||||
mkdir -p $SHM
|
||||
sudo umount -l $SHM
|
||||
sudo mount -t tmpfs -o size=10% none $SHM
|
||||
|
||||
echo '3 x terminated is OK' >&2
|
||||
echo '### Test $TMPDIR'
|
||||
TMPDIR=/dev/shm/parallel stdout timeout -k 1 6 parallel head -c 2000m '<'{} >/dev/null ::: /dev/zero &
|
||||
seq 1 200 | parallel -j1 "df /dev/shm | parallel -k --colsep ' +' echo {4}|tail -n 1;sleep 0.1" \
|
||||
| stdout timeout -k 1 10 perl -ne 'BEGIN{$a=<>} $b=<>; if ($a-1000 > $b) { print "More than 1 MB gone. Good!\n"; exit }'
|
||||
TMPDIR=$SHM stdout timeout -k 1 6 parallel pv -qL10m {} ::: /dev/zero >/dev/null &
|
||||
PID=$!
|
||||
seq 1 200 | parallel -j1 "df $SHM | parallel -k --colsep ' +' echo {4}|tail -n 1;sleep 0.1" \
|
||||
| stdout timeout -k 1 10 perl -ne 'BEGIN{$a=<>} $b=<>;
|
||||
if ($a-1000 > $b) { print "More than 1 MB gone. Good!\n";exit }'
|
||||
kill $PID
|
||||
wait
|
||||
sleep 0.1
|
||||
|
||||
echo '### Test --tmpdir'
|
||||
stdout timeout -k 1 6 parallel --tmpdir /dev/shm/parallel head -c 2000m '<'{} >/dev/null ::: /dev/zero &
|
||||
seq 1 200 | parallel -j1 "df /dev/shm | parallel -k --colsep ' +' echo {4}|tail -n 1;sleep 0.1" \
|
||||
stdout timeout -k 1 6 parallel --tmpdir $SHM pv -qL10m {} ::: /dev/zero >/dev/null &
|
||||
PID=$!
|
||||
seq 1 200 | parallel -j1 "df $SHM | parallel -k --colsep ' +' echo {4}|tail -n 1;sleep 0.1" \
|
||||
| stdout timeout -k 1 10 perl -ne 'BEGIN{$a=<>} $b=<>; if ($a-1000 > $b) { print "More than 1 MB gone. Good!\n"; exit }'
|
||||
kill $PID
|
||||
wait
|
||||
sleep 0.1
|
||||
|
||||
echo '### Test $TMPDIR and --tmpdir'
|
||||
TMPDIR=/tmp stdout timeout -k 1 6 parallel --tmpdir /dev/shm/parallel head -c 2000m '<'{} >/dev/null ::: /dev/zero &
|
||||
seq 1 200 | parallel -j1 "df /dev/shm | parallel -k --colsep ' +' echo {4}|tail -n 1;sleep 0.1" \
|
||||
TMPDIR=/tmp stdout timeout -k 1 6 parallel --tmpdir $SHM pv -qL10m {} ::: /dev/zero >/dev/null &
|
||||
PID=$!
|
||||
seq 1 200 | parallel -j1 "df $SHM | parallel -k --colsep ' +' echo {4}|tail -n 1;sleep 0.1" \
|
||||
| stdout timeout -k 1 10 perl -ne 'BEGIN{$a=<>} $b=<>; if ($a-1000 > $b) { print "More than 1 MB gone. Good!\n"; exit }'
|
||||
kill $PID
|
||||
wait
|
||||
sleep 0.1
|
||||
|
|
|
@ -258,7 +258,6 @@ o
|
|||
10
|
||||
### Test --seqreplace and line too long
|
||||
1 1 130001
|
||||
1 1 130001
|
||||
parallel: Error: Command line too long (260009 >= 131071) at number 9: 10...
|
||||
### bug #37042: -J foo is taken from the whole command line - not just the part before the command
|
||||
foo tag_with_foo
|
||||
|
|
|
@ -90,14 +90,14 @@ echo '### -l -n with pipe'
|
|||
echo '### bug #39360: --joblog does not work with --pipe'
|
||||
### bug #39360: --joblog does not work with --pipe
|
||||
seq 100 | parallel --joblog - --pipe wc | tr '0-9' 'X'
|
||||
Seq Host Starttime Runtime Send Receive Exitval Signal Command
|
||||
X : XXXXXXXXXX.XXX X.XXX X X X X wc
|
||||
Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
|
||||
X : XXXXXXXXXX.XXX X.XXX X X X X wc
|
||||
XXX XXX XXX
|
||||
echo '### bug #39572: --tty and --joblog do not work'
|
||||
### bug #39572: --tty and --joblog do not work
|
||||
seq 1 | parallel --joblog - -u true | tr '0-9' 'X'
|
||||
Seq Host Starttime Runtime Send Receive Exitval Signal Command
|
||||
X : XXXXXXXXXX.XXX X.XXX X X X X true X
|
||||
Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
|
||||
X : XXXXXXXXXX.XXX X.XXX X X X X true X
|
||||
echo '### How do we deal with missing $HOME'
|
||||
### How do we deal with missing $HOME
|
||||
unset HOME; stdout perl -w $(which parallel) -k echo ::: 1 2 3
|
||||
|
|
Loading…
Reference in a new issue