I am striking this whole post as this didn't work out very well. Somehow the main point just got completely lost. Perl is not a great character by character language and its just not the right way to use Perl, but somehow I wasn't able to get this across. Oooops.
Yes. You are correct!!.
This whole thread is a bit weird as the idea of processing a char at a time is sort of "anti-Perl".
The code should be: while (my $var =shift @string){}
But that makes no difference.
Rate Split Substr pre_splitted Shift
Split 8851/s -- -73% -94% -98%
Substr 32226/s 264% -- -80% -95%
pre_splitted 158028/s 1685% 390% -- -73%
Shift 587199/s 6534% 1722% 272% --
The main point is that shift() is very, very fast, but Perl will work with regex even faster. I mean so what do you do with these chars that were read individually?
Update:
Well Darn! the code above is not right, and I think I could write some faster "get a character" code, but that is just not the point at all!
|