Slower than Python
Steven Schveighoffer
schveiguy at yahoo.com
Mon Mar 4 10:59:29 PST 2013
On Sat, 02 Mar 2013 12:20:22 -0500, Andrei Alexandrescu
<SeeWebsiteForEmail at erdani.org> wrote:
> On 3/1/13 6:26 PM, Steven Schveighoffer wrote:
>> On Fri, 01 Mar 2013 18:22:54 -0500, Steven Schveighoffer
>> <schveiguy at yahoo.com> wrote:
>>
>>> So it's just pure heuristics. Not hard to see how that would affect a
>>> 10 million cycle program.
>>>
>>> We may be able to create a string-specific version of splitter that
>>> would take advantage of the representation.
>>
>> Just found a disturbing artifact: splitter(message, '\n') is more than
>> twice as slow as splitter(message, "\n")
>>
>> -Steve
>
> That is a problem. Could you please file a but report?
http://d.puremagic.com/issues/show_bug.cgi?id=9645
In trying to make a minimal test case, I found that the algorithm performs
worse vs. the substring version as the number of content characters
between separators grows. It actually starts out performing better than
the substring version, by quite a bit (I would think we should be able to
optimize there as well, the difference was about half) when the ratio is
1:1 (i.e. splitting "ababababa" on 'a' or "a"), but gets worse as you put
more content between the separators. That should be a large clue.
-Steve
More information about the Digitalmars-d
mailing list