> Can you explain why you need this? To me it seems odd not to use all the cores you paid for.
I was trying to simulate running on a smaller machine how long the task takes for sharing with a friend. Anyway, ++ for parsort supporting the -j argument; to be consistent with parallel -j. Ditto for parsort checking the PARALLEL environment variable if it has -jN or -j N; this too for consistency with parallel.
> There's a current phobia of having a machine actually using all it's cores and a misconception that the users can do a better job of scheduling than the scheduler!
No, not at all. Having the -j option to parsort is desirable on larger NUMA-aware machines. This is true when a node is busy and wish to run on the other node. Surely, one can use nodeadm or taskset. But why default to spawning all those processes only for the OS to task switch more on that particular node.
++ for parsort supporting -j, to be consistent with parallel at the very least.