git-annex has good support for running commands in parallel, but there are still some things that could be improved, tracked here:

  • Maybe support -Jn in more commands. Just needs changing a few lines of code and testing each.

  • Maybe extend --jobs/ for more control. --jobs=cpus is already supported; it might be good to have --jobs=cpus-1 to leave a spare cpu to avoid contention, or --jobs=remotes*2 to run 2 jobs per remote.