Re: [PATCH 3/3] revision: insert unsorted, then sort in prepare_revision_walk()
- From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
- Date
- Apr 3, 2012, 03:44 UTC
- Message-ID
- <CACsJy8CSohtWUV_BT-d+tGX9R4LUr1K=jgFh841nST01QLSGuA@mail.gmail.com>
- In-Reply-To
- <CAJo=hJsprQtjDChtrSMcne+OCeUx=NVxLHs3k_qnYLzO=aQWuw@mail.gmail.com>
On Mon, Apr 2, 2012 at 11:51 PM, Shawn Pearce <spearce@spearce.org> wrote:
Show 27 quoted lines
> On Mon, Apr 2, 2012 at 09:49, Martin Fick <mfick@codeaurora.org> wrote: >> On Monday, April 02, 2012 10:39:59 am Shawn Pearce wrote: >>> On Mon, Apr 2, 2012 at 09:24, Martin Fick >> <mfick@codeaurora.org> wrote: >>> > On Saturday, March 31, 2012 04:11:01 pm René Scharfe >> wrote: >>> Git can't really do the same thing as "cache the >>> RevWalk". Its spawning a new process that needs to >>> decompress and parse each commit object to determine its >>> timestamp so the commits can be sorted into the priority >>> queue. This is still an O(N) operation given N >>> references. >> >> While I suspect this has been suggested before, an ondisk >> cache of commits to timestamps would probably help here with >> large repos. Such a cache could make even new processes >> able to create this list much quicker. Since this cache >> would contain immutable data, even if it is out of date it >> would likely provided significant improvements by providing >> most of the timestamps leaving only a few to parse from >> newer commits? > > Probably. But we tend to hate caches in Git because they can get stale > and need to be rebuilt, and are redundant with the base data. The > mythical "pack v4" work was going to approach this problem by storing > the commit timestamps uncompressed in a more machine friendly format. > Unfortunately the work has been stalled for years.
which reminds me, hello Nico!
On Sat, Feb 18, 2012 at 10:34 PM, Nicolas Pitre <nico@fluxnic.net> wrote:
Show 9 quoted lines
>> By the way, is latest packv4 code available somewhere to fetch? > > Well, not yet. Incidentally, I'm going in the Caribbeans for a week in > a week, with no kids and only my wife who is going to be busy with scuba > diving activities. Like I did last year, I'm going to take some time to > pursue my work on Pack v4 during that time. And I intend to publish it > when I come back, whatever state it is in, so someone else can complete > the work eventually (I have too much to do to spend significant time on > Git these days).
How's the packv4 work going? Is it in a public place? I hope somebody else may have spare time and be motivated enough to finish it.
-- Duy