On Thu, Oct 29, 2015 at 4:50 PM, Ramsay Jones <ramsay@xxxxxxxxxxxxxxxxxxxx> wrote: > > > On 29/10/15 15:51, Stefan Beller wrote: >> On Thu, Oct 29, 2015 at 6:19 AM, Ramsay Jones >> <ramsay@xxxxxxxxxxxxxxxxxxxx> wrote: >> >>> Hmm, is there a way to _not_ fetch in parallel (override the >>> config) from the command line for a given command? >>> >>> ATB, >>> Ramsay Jones >> >> git config submodule.jobs 42 >> git <foo> --jobs 1 # should run just one task, despite having 42 configured > > Heh, yes ... I didn't pose the question quite right ... >> >> It does use the parallel processing machinery though, but with a maximum of >> one subcommand being spawned. Is that what you're asking? > > ... but, despite that, you correctly inferred what I was really > asking about! :) > > I was just wondering what overhead the parallel processing machinery > adds to the original 'non-parallel' code path (for the j=1 case). > I suspect the answer is 'not much', but that's just a guess. > Have you measured it? Totally unscientific: * Make a copy of my current gerrit repository and time the fetch. * That repo contains 5 submodules, one needs fetching time git fetch --recurse-submodules=yes --jobs=1 # this series real 0m7.150s user 0m3.459s sys 0m1.126s time git fetch --recurse-submodules=yes # origin/master real 0m7.667s user 0m3.439s sys 0m1.190s Now let's test a few more times repeatedly to avoid cold caches or network hiccups, (also there is nothing to fetch, so it's more like doing 6 ls-remotes in a row, one for gerrit and 5 submodules) this series, best out of 5: real 0m3.971s user 0m2.447s sys 0m0.452s this series, worst out of 5: real 0m4.229s user 0m2.506s sys 0m0.413s origin/master, best out of 5: real 0m3.968s user 0m2.516s sys 0m0.380s origin/master, worst out of 5: real 0m4.217s user 0m2.472s sys 0m0.408s The ratio of real time taken longer is < 1 % in both the best and worst case. If you really care about 1 % of performance, you'd want to fetch in parallel anyway? > What happens if there is only a single > submodule to fetch? Ok let's see. I created https://github.com/stefanbeller/test-sub-1 to play around with it. However time git fetch --recurse-submodules=yes or time git fetch --recurse-submodules=yes --jobs 100 seems to be lost in the noise. So I am not sure what the question is w.r.t. having just one submodule. > > ATB, > Ramsay Jones > > -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html