Re: [PATCH 1/2] lib/string: Improve strstarts() performance
From: Andy Shevchenko
Date: Mon Apr 07 2025 - 10:54:36 EST
On Mon, Apr 07, 2025 at 10:33:34PM +0800, Zijun Hu wrote:
> On 2025/4/7 21:51, Andy Shevchenko wrote:
> > First of all, this function is supposed to be run against constant string literals.
>
> for strstarts(s, "prefix"), strlen("prefix") should *NOT* be compile
> time constant. it is a loop and unavoidable to have strlen("prefix")
> iterations.
What do you mean by that? Compiler uses __builtin_strlen() and it *IS*
a compile-time constant. Just check it.
> > Second, this commit message has zero proofs to tell if there is actual performance
> > downgrage even in the case when prefix is not a constant string literal.
>
> for either constant string or non constant string. this patch
> eliminating a loop which have strlen()iterations. i feel it is obvious
> it can improve performance.
No, it's not.
--
With Best Regards,
Andy Shevchenko