On Sat, 02 Mar 2013 12:17:54 -0500, Andrei Alexandrescu <[email protected]> wrote:

On 3/1/13 8:29 PM, Steven Schveighoffer wrote:
On Fri, 01 Mar 2013 20:05:34 -0500, cvk012c
<[email protected]> wrote:

In my latest version of D script I didn't use splitter at all. I used
string specific indexOf function. Still result is very bad. For text
based protocols, such as SIP, performance of string manipulating
functions is very important. Unfortunately, looks like it is not D
strongest point at this time.

indexOf uses the same mechanism as splitter to find the separators. If
it doesn't improve anything, I'd say that is where the problem lies
(std.algorithm.find).

find and indexOf on arrays are on par with handwritten loops.

This is not a personal attack, please don't take it that way. My anecdotal tests with hand writing a custom splitter range to handle the OP's program gave me a 40% savings. Whether it's find or not, I'm not sure, but there definitely is room for improvement. Using indexOf instead of splitter seems to result in the same time usage, so something that is common between the two would be a logical choice to target.

It would be interesting to examine the assembly differences, but I haven't got the time right now.

-Steve

Reply via email to