Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Efficient walk/iterate along a string

by GrandFather (Cardinal)
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
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?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://873089]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (11)
As of 2014-09-22 14:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (197 votes), past polls