Re: [PATCH/RFC v2 2/2] Replace strlen() with ce_namelen()
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:54:14
Thomas Gummerer [off-list ref] writes:
Replace strlen(ce->name) with ce_namelen() in a couple of places which gives us some additional bits of performance. Signed-off-by: Thomas Gummerer <redacted>
Very sensible, with or without the previous patch. I am kind of surprised that we are very good and have only these three places that had these unnecessary pessimization.
quoted hunk
--- read-cache.c | 4 ++-- unpack-trees.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)diff --git a/read-cache.c b/read-cache.c index ea75c89..a77877a 100644 --- a/read-cache.c +++ b/read-cache.c@@ -1124,7 +1124,7 @@ int refresh_index(struct index_state *istate, unsigned int flags, const char **p continue; if (pathspec && - !match_pathspec(pathspec, ce->name, strlen(ce->name), 0, seen)) + !match_pathspec(pathspec, ce->name, ce_namelen(ce), 0, seen)) filtered = 1; if (ce_stage(ce)) {@@ -1852,7 +1852,7 @@ int read_index_unmerged(struct index_state *istate) if (!ce_stage(ce)) continue; unmerged = 1; - len = strlen(ce->name); + len = ce_namelen(ce); size = cache_entry_size(len); new_ce = xcalloc(1, size); memcpy(new_ce->name, ce->name, len);diff --git a/unpack-trees.c b/unpack-trees.c index 9981dd3..abd0988 100644 --- a/unpack-trees.c +++ b/unpack-trees.c@@ -1289,7 +1289,7 @@ static int verify_clean_subdirectory(struct cache_entry *ce, * First let's make sure we do not have a local modification * in that directory. */ - namelen = strlen(ce->name); + namelen = ce_namelen(ce); for (i = locate_in_src_index(ce, o); i < o->src_index->cache_nr; i++) {