Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
as I try to improve the performance of my little skript and even google can't answer my question, I come here to ask for a bit of your wisdom, since you were always able to help me in the past :)
in my skript I have some regular expressions, which get executed several million times within few minutes. currently they get compiled every time, with this compiling eating several percent of total execution time, so it would be great to precompile them to avoid that compile each and every time.
example:
$string1 =~ s/$string2//g;where $string1 changes often, but $string2 is used a few million times. after I read some texts in the net, I would replace it by
$string2 = qr/$string2/g; $string1 =~ s/$string2//;
Problem: this does not compile because of the /g option.
after rewriting it to
$string2 = qr/$string2/; $string1 =~ s/$string2//g;
it now does compile, but the profiler shows me, that the precompile doesn't work and the regexp still gets compiled each and everytime :(
is there anything I can do to avoid that compilation and speed up my skript?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: precompiling regular expressions
by ikegami (Patriarch) on Oct 21, 2010 at 18:51 UTC | |
by Anonymous Monk on Oct 22, 2010 at 10:09 UTC | |
by ikegami (Patriarch) on Oct 22, 2010 at 10:34 UTC | |
|
Re: precompiling regular expressions
by CountZero (Bishop) on Oct 21, 2010 at 18:02 UTC | |
by Anonymous Monk on Oct 22, 2010 at 02:58 UTC | |
|
Re: precompiling regular expressions
by ambrus (Abbot) on Oct 22, 2010 at 09:03 UTC | |
|
Re: precompiling regular expressions
by Anonymous Monk on Oct 21, 2010 at 19:07 UTC | |
by Anonymous Monk on Oct 22, 2010 at 02:51 UTC |