On Fri, Mar 23 2018, Konstantin Ryabitsev wrote: > On 03/22/18 17:44, Junio C Hamano wrote: >> Wouldn't it be more efficient to avoid doing so one-by-one? >> That is, wouldn't >> >> rev-list --max-parents=0 --all >> >> be a bit faster than >> >> for-each-ref | >> while read object type refname >> do >> rev-list --max-parents=0 $refname >> done >> >> I wonder? > > Yeah, you're right -- I forgot that we can pass --all. The check takes > 30 seconds, which is a lot better than 12 hours. :) It's a bit heavy > still, but msm kernel repos are one of the heaviest outliers, so let me > try to run with this. > > Thanks for the suggestion!
Unless you have just one CPU core your script would probably benefit from being wrapped in GNU parallel. I.e.: parallel 'stuff-to-do {}' ::: $(list-of-repos) Or something similar.