git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Jay Soffian <jaysoffian@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: q: faster way to integrate/merge lots of topic branches?
Date: Wed, 23 Jul 2008 17:06:21 +0200	[thread overview]
Message-ID: <20080723150621.GA8499@elte.hu> (raw)
In-Reply-To: <20080723145622.GA23440@elte.hu>


* Ingo Molnar <mingo@elte.hu> wrote:

> > Shouldn't this be:
> > 
> > [ -f "$CACHE" -a "$CACHE" -nt .git/refs/heads/$BRANCH ] && {
> > 
> > ?
> 
> yeah, i just figured it out too ... the hard way :)
> 
> Updated script below. This works fine across resets in the master 
> branch.
> 
> While it's fast in the empty-merge case, it's not as fast as i'd like 
> it to be in the almost-empty-merge case.

When i update a topic branch, i first get a relatively fast run:

  earth4:~/tip> time todo-merge-all
  merging all branches ...
  Auto-merged arch/x86/kernel/genx2apic_uv_x.c
  Merge made by recursive.
   arch/x86/kernel/genx2apic_uv_x.c |    1 -
   1 files changed, 0 insertions(+), 1 deletions(-)
  ... merge done.

  real    0m6.625s
  user    0m3.740s
  sys     0m2.563s

Then on the next run it's slower:

  earth4:~/tip> time todo-merge-all
  merging all branches ...
  ... merge done.

  real    0m30.823s
  user    0m23.403s
  sys     0m7.545s

that's unfortunate. The freshly updated topic branch was at the end of 
the run, now all other topic branches will have to run slow at least 
once until they become cached again.

Perhaps the cache should update all other current topics to the new 
sha1, to establish the fact that they were not merged this time. (and 
that they are still not to be merged)

(It's still much faster than completely uncached though, because of the 
overlap in sha1's.)

Third (empty) run is fast again, because it's fully cached:

  earth4:~/tip> time todo-merge-all
  merging all branches ...
  ... merge done.

  real    0m3.036s
  user    0m1.360s
  sys     0m1.782s

But it would be nice if the cache worked more intelligently in the 
one-topic-updated-only case as well.

	Ingo

  reply	other threads:[~2008-07-23 15:07 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-23 13:05 q: faster way to integrate/merge lots of topic branches? Ingo Molnar
2008-07-23 13:17 ` Ingo Molnar
2008-07-23 13:49   ` Ingo Molnar
2008-07-23 14:47     ` Jay Soffian
2008-07-23 14:56       ` Ingo Molnar
2008-07-23 15:06         ` Ingo Molnar [this message]
2008-07-23 13:40 ` Andreas Ericsson
2008-07-23 14:02   ` Ingo Molnar
2008-07-23 14:57   ` Miklos Vajna
2008-07-23 13:41 ` Sergey Vlasov
2008-07-23 14:09   ` Ingo Molnar
2008-07-23 14:14     ` Ingo Molnar
2008-07-23 13:56 ` SZEDER Gábor
2008-07-23 14:04   ` Ingo Molnar
2008-07-23 17:59     ` Junio C Hamano
2008-07-23 22:09       ` [PATCH 1/2] builtin-branch.c: remove unused code in append_ref() callback function Junio C Hamano
2008-07-23 22:15       ` [PATCH] builtin-branch.c: optimize --merged and --no-merged Junio C Hamano
2008-07-24  7:16         ` Lars Hjemli
2008-07-24  8:29         ` Nanako Shiraishi
2008-07-24 10:03           ` Lars Hjemli
2008-07-24 15:29       ` q: faster way to integrate/merge lots of topic branches? Ingo Molnar
2008-07-23 18:04     ` Linus Torvalds
2008-07-23 18:12       ` Linus Torvalds
2008-07-23 20:01     ` Junio C Hamano
2008-07-24 15:27       ` Ingo Molnar
2008-07-25  8:46         ` Junio C Hamano
2008-07-23 14:06 ` Björn Steinbrink
2008-07-23 14:06 ` Santi Béjar
2008-07-23 17:59 ` Linus Torvalds
2008-07-23 19:09   ` Pierre Habouzit
2008-07-23 20:27     ` Pierre Habouzit
2008-07-23 20:40       ` Pierre Habouzit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080723150621.GA8499@elte.hu \
    --to=mingo@elte.hu \
    --cc=git@vger.kernel.org \
    --cc=jaysoffian@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).