From: Martin Langhoff Date: Fri, 07 Sep 2007 00:33:57 GMT Subject: Re: Git's database structure Message-ID: <46a038f90709061733s3b8f15b7se3e4002c1f69a04d@mail.gmail.com> In-Reply-To: <9e4733910709050912i57ed7137o6abb02ee741d394b@mail.gmail.com> On 9/6/07, Jon Smirl wrote: > Use blame for an example. Blame has to crawl every commit to see if it Sure. Build a quick dedicated index for that and measure - cost (size and commit/fetch costs) - benefit - frequency of usage git is a special-purpouse DB that does great for certain access patterns. Have a look at monotone for a design that looks a lot like git but is backed by a general purpouse DB and does equally poorly for all access patterns ;-) > It keeps doing this until it figures out the last > author for every line in the file. Worse case blame has to crawl every > commit in the data store. Yep. Can we get a minimal-cost index with just enough hints that can speed up blame, and perhaps git log with/very/deep/path? Probably! That's worth pursuing sure. martin