rofl0r / jobflow Goto Github PK
View Code? Open in Web Editor NEWruns stuff in parallel (like GNU parallel, but much faster and memory-efficient)
License: MIT License
runs stuff in parallel (like GNU parallel, but much faster and memory-efficient)
License: MIT License
Thanks for the update.
Most of your claims about GNU Parallel are easy to verify. (E.g. run time parallel echo ::: 1
to see the startup time and seq 1000 | time -v parallel true
to see memory usage).
But claiming that Perl's buggy garbage collector is a disadvantage to GNU Parallel is not easy to verify. So if you want to use correct claims, I will encourage you to link to an example that shows the current version of GNU Parallel being affected by Perl's buggy garbage collector.
Having run GNU Parallel on many different architectures and many different versions of Perl (version 5.8.4..5.26.1 on armv7l, sparc, armv6hl, alpha, mips) I have never seen the current version of GNU Parallel being affected by Perl's buggy garbage collector, so I am quite interested in seeing the exact situation in which that happens.
So may I suggest you include a link to a reproducible example showing this actually happening?
Hi
In your description https://github.com/rofl0r/jobflow/blob/master/README.md you write:
this program is inspired by GNU parallel, but has the following differences [...] does not leak memory
I have been unable to find an example of GNU Parallel leaking memory. If you have, could you be kind and let me know? If you do not have an example, consider removing that bullet point as it can be misinterpreted as if GNU Parallel leaks memory.
$ git clone https://github.com/rofl0r/jobflow.git
$ cd jobflow/
$ CFLAGS=" -Wall -Wextra -std=c99 -D_GNU_SOURCE -g -O0 " rcb --force jobflow.c ""
/bin/sh: 1: rcb: not found
make: *** [debug] Error 127
Fixed rcb issue.
$ git clone https://github.com/rofl0r/rcb.git
$ cd rcb
$ cp rcb2make.pl ~/bin/rcb2make
$ cp rcb.pl ~/bin/rcb
$ cd ~/jobflow
$ make
CFLAGS=" -Wall -Wextra -std=c99 -D_GNU_SOURCE -g -O0 " rcb --force jobflow.c ""
[RcB] $CC not set, defaulting to cc
[RcB] $NM not set, defaulting to nm
[RcB] scanning deps...failed to find dependency /home/iqbala/jobflow/../lib/include/optparser.h referenced from /home/iqbala/jobflow/jobflow.c!
failed to find dependency /home/iqbala/jobflow/../lib/include/stringptr.h referenced from /home/iqbala/jobflow/jobflow.c!
failed to find dependency /home/iqbala/jobflow/../lib/include/stringptrlist.h referenced from /home/iqbala/jobflow/jobflow.c!
failed to find dependency /home/iqbala/jobflow/../lib/include/sblist.h referenced from /home/iqbala/jobflow/jobflow.c!
failed to find dependency /home/iqbala/jobflow/../lib/include/strlib.h referenced from /home/iqbala/jobflow/jobflow.c!
failed to find dependency /home/iqbala/jobflow/../lib/include/timelib.h referenced from /home/iqbala/jobflow/jobflow.c!
failed to find dependency /home/iqbala/jobflow/../lib/include/filelib.h referenced from /home/iqbala/jobflow/jobflow.c!
done
[RcB] compiling main file...
[CC] cc -Wall -Wextra -std=c99 -D_GNU_SOURCE -g -O0 -c jobflow.c -o jobflow.o
jobflow.c:25:38: fatal error: ../lib/include/optparser.h: No such file or directory
#include "../lib/include/optparser.h"
^
compilation terminated.
make: *** [debug] Error 1
when using more than 1 process, and not the -buffered option, the output of some processes gets lost.
piping the output into cat > file instead, everything arrives.
linux bug ?
test:
fail:
seq 100 | ./jobflow.out -threads=100 -exec echo {} > test.tmp ; wc -l test.tmp
should return 100, but does not always
success
seq 100 | ./jobflow.out -threads=100 -exec echo {} | cat > test.tmp ; wc -l test.tmp
always returns 100
note missing space between echo and {}
$ seq 1000 | jobflow -threads=100 -exec echo{}
posix_spawn: No such file or directory
posix_spawn: No such file or directory
posix_spawn: No such file or directory
posix_spawn: No such file or directory
...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.