This is the rebased version since last time [1] with s/free_index_shm/release_index_shm/ as suggested by David Turner. It introduces a daemon that can cache index data in memory so that subsequent git processes can avoid reading (and more importantly, verifying) the index from disk. Together with split-index it should keep index I/O cost down to minimum. The series can also be found at [2]. One of the factors that affected my design was Windows support. We now have Dscho back, he can evaluate my approach for Windows. This daemon is the foundation for watchman support later to reduce refresh time. To be posted shortly after this. [0] http://mid.gmane.org/1406548995-28549-1-git-send-email-pclouds@xxxxxxxxx [2] http://github.com/pclouds/git/commits/index-helper Nguyễn Thái Ngọc Duy (9): trace.c: add GIT_TRACE_PACK_STATS for pack usage statistics read-cache.c: fix constness of verify_hdr() read-cache: allow to keep mmap'd memory after reading index-helper: new daemon for caching index and related stuff trace.c: add GIT_TRACE_INDEX_STATS for index statistics index-helper: add --strict daemonize(): set a flag before exiting the main process index-helper: add --detach index-helper: add Windows support .gitignore | 1 + Documentation/git-index-helper.txt (new) | 56 +++++++ Documentation/git.txt | 4 + Makefile | 9 ++ builtin/gc.c | 2 +- cache.h | 12 +- config.mak.uname | 3 + daemon.c | 2 +- git-compat-util.h | 1 + git.c | 1 + index-helper.c (new) | 264 +++++++++++++++++++++++++++++++ read-cache.c | 147 ++++++++++++++++- setup.c | 4 +- sha1_file.c | 24 +++ shm.c (new) | 163 +++++++++++++++++++ shm.h (new) | 23 +++ trace.c | 16 ++ trace.h | 1 + 18 files changed, 721 insertions(+), 12 deletions(-) create mode 100644 Documentation/git-index-helper.txt create mode 100644 index-helper.c create mode 100644 shm.c create mode 100644 shm.h -- 2.2.0.513.g477eb31 -- 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