faster splitter

Chris via Digitalmars-d digitalmars-d at puremagic.com
Wed Jun 1 07:32:38 PDT 2016


On Wednesday, 1 June 2016 at 13:47:10 UTC, Patrick Schluter wrote:
>>
> What I wanted to say, is that in real life, the input of the 
> search routine is very often run-time user provided data. Think 
> of search box in browsers and apps, command line parameter à la 
> grep, etc. The "string" search function should not 
> catastrophically break down on special input, like 1 character 
> strings, unusual Unicode or when needle==haystack. I only said 
> this to not lose the focus on what is being tried to be 
> achieved here.
> It's often a danger of micro-optimization and unit test focused 
> development, that a lot of time and effort are spent on 
> improvements that are completely irrelevant when checked 
> against what is really needed in real world (i.e. we're full in 
> bike shed territory here).

That's true. We should try to optimize for the worst case, i.e. 
random input. However, it is often the case that the needle is 
known at compile time, e.g. things like

if (input.canFind("foo"))

There might be ways to optimize those cases at compile time.


More information about the Digitalmars-d mailing list