[Purdue-pm] Missed Presentation
andy at petdance.com
Wed Apr 11 10:28:47 PDT 2007
On Apr 11, 2007, at 11:41 AM, Mark Senn wrote:
> o Right after some of these common cases were eliminated from $_
> a "study" command was done to (probably) make the rest of the
> ~2000 regexes run faster.
study is not helpful in the vast majority of cases. All it does is
make a table of where the first occurrence of each of 256 bytes is in
the string. This means that if you have a 1,000-character string,
and you search for lots of strings that begin with a constant
character, then the matcher can jump right to it. For example:
"This is a very long [... 900 characters skipped...] string that I
have here, ending at position 1000"
Now, if you are matching this against the regex /Icky/, the matcher
will try to find the first letter "I" that matches. That may take
scanning through the first 900+ characters until you get to it. But
what study does is build a table of the 256 possible bytes and where
they first appear, so that in this case, the scanner can jump right
to that position and start matching.
Andy Lester => andy at petdance.com => www.petdance.com => AIM:petdance
More information about the Purdue-pm