Re: [PATCH] Optimize prefixcmp()
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:02
René Scharfe [off-list ref] writes:
prefixcmp() was already optimized before -- only for a different use case. At a number of callsites the prefix is a string literal, which allowed the compiler to perform the strlen() call at compile time. The patch increases the text size considerably: the file "git" is 2,620,938 without and 2,640,450 with the patch in my build (there are 136 callsites in builtin*.c). The new version of prefixcmp() shouldn't be inlined any more, as the benefit of doing so is gone.
Yuck, you are absolutely right. The late thread may have been well intentioned but resulted in this regression. Sorry about that. I presume that all callers with constant prefix are outside performance critical parts? Can we simply uninline the function in that case?