I have been messing with parallel all morning, trying to get it to do the same things that I see in the videos, tutorial and examples.
If you’ve not heard of it, parallel should (and by all accounts usually does) split CPU-intensive jobs across processors, which should drastically reduce the time they require to finish.
But I’m not getting much in the way of speed increases, and in some cases it seems to be taking longer.
I’ve tried most combinations I could think of, done them all again as root, even followed examples letter-for-letter from the explanatory videos.
But in almost every case I’m getting much the same performance from functions, so long as they don’t bottleneck at hard drive writes, or something like that.
The coolest thing about parallel — that of course I can’t take advantage of 🙄 — is that it can farm out work to other machines.
Yes, that’s what I meant. It can distribute the workload to networked computers and retrieve the results when they all finish.
I think that trumps xargs
, which I often see mentioned in the same breath as parallel, because it will take a --max-procs
argument and split out to several processors.
But hey, if I could set four computers on the task of compressing my family photos, I’d be all for that.
I’m going to keep tinkering with parallel and if I can get it working in a promising way, I’ll let it make cameos in future posts.
But you’ve got to earn a place on the big screen, friend.