Merge branch 'nd/trace-index-ops'

* nd/trace-index-ops:
  trace: measure where the time is spent in the index-heavy operations
This commit is contained in:
Junio C Hamano
2018-02-15 14:55:44 -08:00
5 changed files with 18 additions and 0 deletions

View File

@ -1371,6 +1371,7 @@ int refresh_index(struct index_state *istate, unsigned int flags,
const char *typechange_fmt;
const char *added_fmt;
const char *unmerged_fmt;
uint64_t start = getnanotime();
modified_fmt = (in_porcelain ? "M\t%s\n" : "%s: needs update\n");
deleted_fmt = (in_porcelain ? "D\t%s\n" : "%s: needs update\n");
@ -1441,6 +1442,7 @@ int refresh_index(struct index_state *istate, unsigned int flags,
replace_index_entry(istate, i, new);
}
trace_performance_since(start, "refresh index");
return has_errors;
}
@ -1871,6 +1873,7 @@ static void freshen_shared_index(const char *shared_index, int warn)
int read_index_from(struct index_state *istate, const char *path,
const char *gitdir)
{
uint64_t start = getnanotime();
struct split_index *split_index;
int ret;
char *base_sha1_hex;
@ -1881,6 +1884,7 @@ int read_index_from(struct index_state *istate, const char *path,
return istate->cache_nr;
ret = do_read_index(istate, path, 0);
trace_performance_since(start, "read cache %s", path);
split_index = istate->split_index;
if (!split_index || is_null_sha1(split_index->base_sha1)) {
@ -1904,6 +1908,7 @@ int read_index_from(struct index_state *istate, const char *path,
freshen_shared_index(base_path, 0);
merge_base_index(istate);
post_read_index_from(istate);
trace_performance_since(start, "read cache %s", base_path);
free(base_path);
return ret;
}
@ -2233,6 +2238,7 @@ void update_index_if_able(struct index_state *istate, struct lock_file *lockfile
static int do_write_index(struct index_state *istate, struct tempfile *tempfile,
int strip_extensions)
{
uint64_t start = getnanotime();
int newfd = tempfile->fd;
git_SHA_CTX c;
struct cache_header hdr;
@ -2373,6 +2379,7 @@ static int do_write_index(struct index_state *istate, struct tempfile *tempfile,
return -1;
istate->timestamp.sec = (unsigned int)st.st_mtime;
istate->timestamp.nsec = ST_MTIME_NSEC(st);
trace_performance_since(start, "write index, changed mask = %x", istate->cache_changed);
return 0;
}