From: Nguyen Thai Ngoc Duy Date: Wed, 04 Apr 2012 12:34:20 GMT Subject: Re: [PATCH 0/9] Prefix-compress on-disk index entries Message-ID: In-Reply-To: <1333493596-14202-1-git-send-email-gitster@pobox.com> On Wed, Apr 4, 2012 at 5:53 AM, Junio C Hamano wrote: > This is still rough, but nice cleanups > but with this patch I am getting: > >    $ ls -l .git/index* >    -rw-r----- 1 jch eng 25586488 2012-04-03 15:27 .git/index >    -rw-r----- 1 jch eng 14654328 2012-04-03 15:38 .git/index-4 > > in a clone of WebKit repository that has 183175 paths. > > With hot-cache with no local modification: > >    $ time sh -c 'GIT_INDEX_FILE=.git/index-4 git diff' >    real  0m0.469s >    user  0m0.130s >    sys   0m0.330s > >    $ time sh -c 'git diff' >    real  0m0.677s >    user  0m0.290s >    sys   0m0.370s I wonder what causes user time drop from .29s to .13s here. I think the main patch should increase computation, even only slightly, not less. Or is it noise? > The updated format is not documented yet, as I didn't intend (and I still > am not committed) to declare a change along this line the official "v4" > format; I was merely being curious to see how much improvements we can get > from a trivial approach like this. Anything else you have in mind for v4? Any chance we can adopt crc32 instead of sha-1? We could divide the index into many smaller parts for checksum, for example one crc32 every 100 entries, and one (or sha-1) for each extension. It should not complicate the code too much. -- Duy