Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: Efficient walk/iterate along a string

by GrandFather (Sage)
on Nov 23, 2010 at 01:02 UTC ( #873089=note: print w/replies, xml ) Need Help??

in reply to Efficient walk/iterate along a string

Perl is a tool that handles complicated string manipulations well, but it's not designed to handle individual characters near so well. For that you need something closer to the silicon like C. However, on a case by case basis it may be that you don't need to handle individual characters and instead can use index or a regex to do much of the heavy lifting. The alternative may be to invest the time in writing an XS module that provides an iterator to efficiently traverse a string returning a character at a time and providing the current index on demand.

True laziness is hard work
  • Comment on Re: Efficient walk/iterate along a string

Replies are listed 'Best First'.
Re^2: Efficient walk/iterate along a string
by DrHyde (Prior) on Nov 23, 2010 at 10:22 UTC
    Please do this - I've occasionally had to solve similar problems, and thought "this is where perl needs pointers", but never had the tuits to actually implement it.

      I suspect that if there was a real need for this and an XS solution does actually provide substantial speed gains over substr or the reverse and chop trick then it'd have already been done.

      Most times a smarter algorithm gives much more bang for the buck than tinkering with an implementation to make the old algorithm a little faster.

      True laziness is hard work

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://873089]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (4)
As of 2017-11-20 01:23 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (282 votes). Check out past polls.