It really depends on the OS and the version of the OS. In
my test cases on OSX and CentOS5 and centOS6, I see
measurable improvements.
> On Nov 23, 2015, at 3:12 PM, Christophe JAILLET
> <christophe.jail...@wanadoo.fr> wrote:
>
> Hi Jim,
>
> Do you have done some benchmark and have results to share?
>
> I tried to do some but the benefit of the optimized version is not that
> clear, at least on my system:
> gcc 5.2.1
> Linux linux 4.2.0-18-generic #22-Ubuntu SMP Fri Nov 6 18:25:50 UTC 2015
> x86_64 x86_64 x86_64 GNU/Linux
>
> I've tried to trick gcc in order to avoid some optimization. (gcc does its
> best to remove/inline/remove from loop known standard C functions)
> I've check asm output to be more confident on the code generated by gcc.
>
> Based on my own results only, and without any becnhmark, I would -1 a
> backport.
> For small strings (below identical char), your implementation looks faster,
> but above 4 identical chars it looks slower
>
> I can provide my test program if interested.
>
>
> best regards,
> CJ
>
>
> Le 20/11/2015 19:53, Jim Jagielski a écrit :
>> Implemented in r1715401
>>
>> If people want to nit-pick about naming and wish to
>> rename it to something else, be my guest.
>>
>>> On Nov 20, 2015, at 1:03 PM, Yann Ylavic<ylavic....@gmail.com> wrote:
>>>
>>> +1
>>>
>>> On Fri, Nov 20, 2015 at 6:17 PM, Jim Jagielski<j...@jagunet.com> wrote:
>>>> We use str[n]casecmp quite a bit. The rub is that some
>>>> platforms use a sensible implementation (such as OSX) which
>>>> uses a upper-lowercase map and is v. fast, and others
>>>> use a brain-dead version which does an actual tolower() of
>>>> each char in the string as it tests. We actually try to
>>>> handle this in many cases by doing a switch/case test on the
>>>> 1st char to fast path the strncasecmp, resulting in ugly code.
>>>>
>>>> This is crazy.
>>>>
>>>> I propose a ap_strncasecmp/ap_strcasecmp which we should use.
>>>> Ideally, it would be in apr but no need to wait for that
>>>> to happen :)
>>>>
>>>> Unless people have heartburn about this, I will add next week.
>