Re: [PATCH] Update SBuf::trim

From: Kinkie <gkinkie_at_gmail.com>
Date: Tue, 3 Jun 2014 16:26:34 +0200

It's in there, it's working, I am OK with this going in; also to trunk
and from there to parser-ng.

+1

On Tue, Jun 3, 2014 at 4:22 PM, Amos Jeffries <squid3_at_treenet.co.nz> wrote:
> On 4/06/2014 1:08 a.m., Alex Rousskov wrote:
>> On 06/03/2014 04:46 AM, Amos Jeffries wrote:
>>
>>> This replaces the SBuf::trim() to use CharacterSet instead of an SBuf()
>>> list of characters and memchr()
>>>
>>> It seems to be faster for CharacterSet lookup than repeated memchr
>>> calls, but Im not certain of that. It is certainly makes simpler parser
>>> code with trim and a predefined CharacterSet than static SBuf set of chars.
>>
>> I agree that CharacterSet membership test should be faster than repeated
>> memchr() calls.
>>
>> No objections to this patch, although I suspect that any code calling
>> SBuf::trim() should actually use Tokenizer instead; we may be optimizing
>> code that should not be used in the first place.
>
> The use-case that brought this up is scanning mime header lines.
>
> Tokenizer tok(...);
> SBuf line;
> while (tok.prefix(line, CharacterSet::LF)) {
> // drop optional trailing CR* sequence
> line.trim(CharacterSet::CR, false, true);
> ... use line content for something.
>
> .. skip tok past the LF, and repeat.
> }
>
> If there are no other objections I will drop this in at some point prior
> to the parser-ng merge. No rush on approval until then.
>
> Amos
>

-- 
    Francesco
Received on Tue Jun 03 2014 - 14:26:42 MDT

This archive was generated by hypermail 2.2.0 : Tue Jun 03 2014 - 12:00:17 MDT