Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

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 pondering the Monastery: (6)
As of 2017-04-28 12:35 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (521 votes). Check out past polls.