Re: [PATCH 4/4] diff-lib: parallelize run_diff_files for submodules
From: Junio C Hamano <hidden>
Date: 2022-09-26 17:43:44
Phillip Wood [off-list ref] writes:
quoted
+ if (!strcmp(k, "status.parallelsubmodules")) { + s->parallel_jobs_submodules = git_config_int(k, v); + if (s->parallel_jobs_submodules < 0) + die(_("status.parallelsubmodules cannot be negative"));What does a value of zero mean?
Good question. I don't remember what the code in the patch I read actually does, but I would imagine we would want to be able to say: - I do not trust the parallel mode yet, just use the single process method that we have always been using. - I do not know how many cores I have, just use a reasonable default parallelism. - I want to use N processes because I know better than auto-scaling based on num_cpus. And the value of 1 would be a reasonable way to express the first one, and 0 would be a reasonable thing to do for the second one.
quoted
-int run_diff_files(struct rev_info *revs, unsigned int option) +int run_diff_files(struct rev_info *revs, unsigned int option, int parallel_jobs)Another possibility would be to add a member to struct diff_opts,
Yes, absolutely. Somewhere that is reachable from rev_info structure would be more appropriate. Thanks.