Skip to content

git checkout optimisation - part 3

Kjetil Barvik git 2 versions In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest3 patches 6 repliesIn review
  2. v12 patches 0 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3fix compile error when USE_NSEC is definedbuiltin-fetch-pack.c+2 -20 replies
2/3make USE_NSEC work as expectedcache.h read-cache.c unpack-trees.c+65 -193 replies
3/3verify_uptodate(): add ce_uptodate(ce) testunpack-trees.c+1 -10 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH/RFC v2 0/3] git checkout optimisation - part 3

Changes sine v1
(v1 was posted with subject "The ext4 filesystem and racy git")

-- patch 2/3 --
Added missing timestamp => timestamp.(u)sec update for unpack-trees.c

-- patch 3/3 --
New patch which removes some 14300 lstat(2) calls, and the total is now at 41677 calls, or 1.382 calls/unique string to lstat() for the reference 'git checkout'-test to Linux tag v2.6.27.

Total reduction so far for all the lstat/git checkout optimisation patches has been 120954 - 41677 = 79277 calls. Some 14400 fstat(2) calls is added, but those should be faster than simmilar lstat() calls.

(patch-series based on master)

Kjetil Barvik (3):
fix compile error when USE_NSEC is defined
make USE_NSEC work as expected
verify_uptodate(): add ce_uptodate(ce) test

 builtin-fetch-pack.c |    4 +-
 cache.h              |    6 ++--
 read-cache.c         |   70 ++++++++++++++++++++++++++++++++++++++++----------
 unpack-trees.c       |   10 +++++--
 4 files changed, 68 insertions(+), 22 deletions(-)