Actually, parallel is a drop in for xargs as xargs has been around longer. Parallel has a few big improvements:
* Grouped output (prevents one process from writing output in the middle of another's output)
* In-order output (task a output first, task b output second even though they ran in parallel)
* Better handling of special characters
* Remote execution
* Grouped output (prevents one process from writing output in the middle of another's output) * In-order output (task a output first, task b output second even though they ran in parallel) * Better handling of special characters * Remote execution
More here: https://www.gnu.org/software/parallel/parallel_alternatives....