Thread (1 message) 1 message, 1 author, 2022-09-26

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help