Re: [PATCH 4/4] diff-lib: parallelize run_diff_files for submodules
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 26, 2022, 17:11 UTC
- Message-ID
- <xmqqedvyqcw6.fsf@gitster.g>
- In-Reply-To
- <88b194d9-7c78-c12e-1c29-95f768db7772@gmail.com>
Phillip Wood <phillip.wood123@gmail.com> writes:
Show 6 quoted lines
>> + 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.
>> -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.