On Monday, 27 June 2016 at 05:10:37 UTC, chmike wrote:
If you store the string size in a four byte field, you get a hard to beat fast strlen. :)


If you have the constrain to work with null terminated strings, then it could be interesting to look at SIMD as was suggested or use one of the following algorithms to test the presence of a 0 byte in a 4 byte or 8 byte integer when simd is not available.

https://graphics.stanford.edu/~seander/bithacks.html#ZeroInWord

Ending strings with a single null byte/char is to save space. It was critical in the 70´s when C was created and memory space was very limited. That's not the case anymore and I guess the reason why you assume that ending a string with 4 null chars is OK.
  • 4x faster strlen with 4 ch... Jay Norwood via Digitalmars-d-announce
    • Re: 4x faster strlen ... David Nadlinger via Digitalmars-d-announce
      • Re: 4x faster str... Jay Norwood via Digitalmars-d-announce
        • Re: 4x faster... chmike via Digitalmars-d-announce
          • Re: 4x fa... chmike via Digitalmars-d-announce
            • Re: ... Ola Fosheim Grøstad via Digitalmars-d-announce
              • ... Jay Norwood via Digitalmars-d-announce
                • ... Ola Fosheim Grøstad via Digitalmars-d-announce
                • ... Jay Norwood via Digitalmars-d-announce
                • ... Ola Fosheim Grøstad via Digitalmars-d-announce
                • ... Jay Norwood via Digitalmars-d-announce
                • ... Ola Fosheim Grøstad via Digitalmars-d-announce
                • ... Mike Parker via Digitalmars-d-announce
              • ... Ola Fosheim Grøstad via Digitalmars-d-announce
        • Re: 4x faster... Brad Roberts via Digitalmars-d-announce

Reply via email to