Re: The most efficient way to test if repositories share the same objects
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Mar 23, 2018, 14:36 UTC
- 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:
Show 22 quoted lines
> 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.