4x faster strlen with 4 char sentinel

Jay Norwood via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Mon Jun 27 20:58:23 PDT 2016


On Tuesday, 28 June 2016 at 03:11:26 UTC, Jay Norwood wrote:
> On Tuesday, 28 June 2016 at 01:53:22 UTC, deadalnix wrote:
>> If we were in interview, I'd ask you "what does this returns 
>> if you pass it an empty string ?"

oops.  I see ... need to test for empty string.

nothrow pure size_t strlen2(const(char)* c) {
   if (c is null || *c==0)
      return 0;
   const(char)* c_save = c;
   while (*c){ c+=4; }
   while (*c==0){ c--; }
   c++;
   return c - c_save;
}


More information about the Digitalmars-d-announce mailing list