Re: [PATCH 0/9] Prefix-compress on-disk index entries
- From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
- Date
- Apr 4, 2012, 12:34 UTC
- Message-ID
- <CACsJy8A+cJtzKdqJSWbmjT1LgP10LB69-NHfOv8S6BusGcMeFw@mail.gmail.com>
- In-Reply-To
- <1333493596-14202-1-git-send-email-gitster@pobox.com>
On Wed, Apr 4, 2012 at 5:53 AM, Junio C Hamano <gitster@pobox.com> wrote:
> This is still rough,
but nice cleanups
Show 19 quoted lines
> 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