Re: What's cooking in git.git (Aug 2016, #02; Thu, 4)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



(Fixed Nico's address)

Jeff King <peff@xxxxxxxx> wrote:
> On Thu, Aug 04, 2016 at 11:34:35PM +0000, Eric Wong wrote:
> > Junio C Hamano <gitster@xxxxxxxxx> wrote:
> > > [Graduated to "master"]
> > 
> > > * ew/http-walker (2016-07-18) 4 commits
> > >   (merged to 'next' on 2016-07-18 at a430a97)
> > >  + list: avoid incompatibility with *BSD sys/queue.h
> > >   (merged to 'next' on 2016-07-13 at 8585c03)
> > >  + http-walker: reduce O(n) ops with doubly-linked list
> > 
> > Yay!  This finally introduces the Linux kernel linked list
> > into git.  I'm not sure if it's worth the effort to introduce
> > cleanup commits to start using it in places where we already
> > have doubly-linked list implementations:
> > 
> > (+Cc Nicolas and Lukas)
> > * sha1_file.c delta_base_cache_lru is open codes this
> > * builtin/pack-redundant.c could probably be adapted, too
> >  ... any more?
> 
> I just introduced another doubly-linked list in [1]. It adds some MRU
> features on top of the list, but it could in theory be built on top of a
> generic doubly-linked list.

Yes, and you'd be avoiding the extra mallocs and be able to use
list_entry (aka `container_of`) so it could be faster, too.

I was thinking packed_git could also be a doubly-linked list
anyways since it would allow easier removal of unlinked pack
entries.  My use case would be long-running "cat-file --batch"
processes being able to detect unlinked packs after someone
else runs GC.

> It's also possible the delta-base-cache stuff could build on top of that
> same code, but I didn't look closely at it.
> 
> -Peff
> 
> [1] http://public-inbox.org/git/20160729040659.GC22408@xxxxxxxxxxxxxxxxxxxxx/
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]