aboutsummaryrefslogtreecommitdiff
path: root/environment.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-11-13 16:36:30 -0800
committerJunio C Hamano <gitster@pobox.com>2008-11-14 19:11:49 -0800
commit671c9b7e315db89081cc69f83a8f405e4aca37bc (patch)
tree0410fb1af855fc65a7d96dd15410db16e41cbc9f /environment.c
parenta0d3ab9c277f1a198ec8e29432c0127d4cf719d2 (diff)
downloadgit-671c9b7e315db89081cc69f83a8f405e4aca37bc.tar.gz
git-671c9b7e315db89081cc69f83a8f405e4aca37bc.tar.xz
Add cache preload facility
This can do the lstat() storm in parallel, giving potentially much improved performance for cold-cache cases or things like NFS that have weak metadata caching. Just use "read_cache_preload()" instead of "read_cache()" to force an optimistic preload of the index stat data. The function takes a pathspec as its argument, allowing us to preload only the relevant portion of the index. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'environment.c')
-rw-r--r--environment.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/environment.c b/environment.c
index bb96ac0a7..e278bce0e 100644
--- a/environment.c
+++ b/environment.c
@@ -43,6 +43,9 @@ unsigned whitespace_rule_cfg = WS_DEFAULT_RULE;
enum branch_track git_branch_track = BRANCH_TRACK_REMOTE;
enum rebase_setup_type autorebase = AUTOREBASE_NEVER;
+/* Parallel index stat data preload? */
+int core_preload_index = 0;
+
/* This is set by setup_git_dir_gently() and/or git_default_config() */
char *git_work_tree_cfg;
static char *work_tree;