From: Ævar Arnfjörð Bjarmason Date: Fri, 23 Mar 2018 14:36:06 GMT Subject: Re: The most efficient way to test if repositories share the same objects Message-ID: <87lgeiyi3t.fsf@evledraar.gmail.com> In-Reply-To: <179c3cf0-72bd-559a-1e00-b18ce97e8136@linuxfoundation.org> 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.