Git development
 help / color / mirror / Atom feed
From: Junio C Hamano <junkio@cox.net>
To: ebiederm@xmission.com (Eric W. Biederman)
Cc: git@vger.kernel.org
Subject: Re: [PATCH] Implement limited context matching in git-apply.
Date: Mon, 10 Apr 2006 12:29:00 -0700	[thread overview]
Message-ID: <7vacat9qmb.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <m1irphhj1p.fsf_-_@ebiederm.dsl.xmission.com> (Eric W. Biederman's message of "Mon, 10 Apr 2006 03:33:06 -0600")

ebiederm@xmission.com (Eric W. Biederman) writes:

> If I just loop through all of Andrews patches in order
> and run git-apply --index -C1 I process the entire patchset
> in 1m53s or about 6 patches per second.  So running
> git-mailinfo, git-write-tree, git-commit-tree, and
> git-update-ref everytime has a measurable impact,
> and shows things can be speeded up even more.

Although I haven't "read" it, but just only "looked at" it, the
patch looks OK.  I haven't managed to start beating on it yet
for time constraints.

If you are dealing with the kernel tree, I suspect most time is
spent on write-tree.  Statistically, a typical kernel patch (I
haven't counted the ones in -mm series, but only the ones
actually reacheable from Linus tip) touches only 3 files on
average, so most of the 1,100 tree objects in a typical kernel
tree are computed but found unchanged when write-tree happens.

I suspect we could make a backward incompatible change to the
index file format to record the top-level tree object names
somewhere where normal cache-entry walker would not see.  Then
when anybody makes a modification to invalidate that tree
object, mark that tree (or split that tree to read lower level
trees lazily) to force us recompute the tree object.

Theoretically you could do that recursively to record all 1,100
tree objects but that would make the cache slightly larger (say,
by 100kB).

      parent reply	other threads:[~2006-04-10 19:29 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-10  2:41 [PATCH] Implement --fuzz= option for git-apply Eric W. Biederman
2006-04-10  5:52 ` Eric W. Biederman
2006-04-10  9:33   ` [PATCH] Implement limited context matching in git-apply Eric W. Biederman
2006-04-10 15:25     ` Linus Torvalds
2006-04-10 18:35       ` Eric W. Biederman
2006-04-11 18:23         ` Linus Torvalds
2006-04-13 12:02           ` Eric W. Biederman
2006-04-10 19:29     ` Junio C Hamano [this message]

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=7vacat9qmb.fsf@assigned-by-dhcp.cox.net \
    --to=junkio@cox.net \
    --cc=ebiederm@xmission.com \
    --cc=git@vger.kernel.org \
    /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