diff options
author | Ben Peart <benpeart@microsoft.com> | 2017-10-18 16:27:25 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-11-08 02:39:41 +0100 |
commit | 00ec50e56d136de41f43c33f39cdbee83f3e4458 (patch) | |
tree | 31f42fd87d978a2d4d3515d7bfa916e4427eb8c7 /cache.h | |
parent | Git 2.14.3 (diff) | |
download | git-00ec50e56d136de41f43c33f39cdbee83f3e4458.tar.xz git-00ec50e56d136de41f43c33f39cdbee83f3e4458.zip |
read_index_from(): speed index loading by skipping verification of the entry order
There is code in post_read_index_from() to catch out of order
entries when reading an index file. This order verification is ~13%
of the cost of every call to read_index_from().
Update check_ce_order() so that it skips this verification unless
the "verify_ce_order" global variable is set.
Teach fsck to force this verification.
The effect can be seen using t/perf/p0002-read-cache.sh:
Test HEAD HEAD~1
--------------------------------------------------------------------------------------
0002.1: read_cache/discard_cache 1000 times 0.41(0.04+0.04) 0.50(0.00+0.10) +22.0%
Signed-off-by: Ben Peart <benpeart@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'cache.h')
-rw-r--r-- | cache.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -720,6 +720,7 @@ extern int hold_locked_index(struct lock_file *, int); extern void set_alternate_index_output(const char *); extern int verify_index_checksum; +extern int verify_ce_order; /* Environment bits from configuration mechanism */ extern int trust_executable_bit; |