annex.jobs=cpus etc

Added the ability to run one job per CPU (core), by setting annex.jobs=cpus,
or using option --jobs=cpus or -Jcpus.

Built with future expansion in mind, including not defaulting matching on
Concurrency so more constructors can later be added, and using "cpu"
instead of "0".
This commit is contained in:
Joey Hess 2019-05-10 13:24:31 -04:00
parent 459bbd9005
commit 82186ca58f
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
20 changed files with 105 additions and 32 deletions

View file

@ -1 +1,10 @@
Can you add a global config flag to tell parallelizable commands to use all available cores? Often I forget to add -JN when it would have sped things up.
> Added as --jobs=cpus / annex.jobs=cpus. This will allow
> later expansion, perhaps `--jobs=cpus-1` to leave a spare core
> or `--jobs=remotes*2` to run two jobs per remote, or things like that.
>
> It's a bit more typing than -J0, but since it can be configured once in
> annex.jobs, that seemed an acceptable tradeoff to future proof it.
>
> [[done]] --[[Joey]]