On Wed, Apr 4, 2012 at 5:53 AM, Junio C Hamano <gitster@xxxxxxxxx> 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 -- 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