Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: Speed of Perl Regex Engine

by Jenda (Abbot)
on Nov 29, 2012 at 16:43 UTC ( #1006298=note: print w/replies, xml ) Need Help??

in reply to Speed of Perl Regex Engine

You said you build the regex and pass it to the program as a parameter ... how do you use it then?

my $regexp = @ARGV[1]; ... next if ($global =~ /$regexp/); ...
my $regexp = @ARGV[1]; ... next if ($global =~ /$regexp/o); ...
my $regexp = qr/@ARGV[1]/; ... next if ($global =~ $regexp); ...

The first version compiles the regexp each time you use it, the other two just once. For a longer regexp this may make a big difference.

Enoch was right!
Enjoy the last years of Rome.

Replies are listed 'Best First'.
Re^2: Speed of Perl Regex Engine
by runrig (Abbot) on Nov 29, 2012 at 19:30 UTC
    I believe in later versions of Perl (>= 5.6), this is no longer true. As long as $regexp doesn't change, /$regexp/ isn't compiled again, making "/o" (mostly) obsolete.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1006298]
Discipulus hitting the edge: panic: gen_constant_list JMPENV_PUSH returned 2 at -e line 1.
[choroba]: Discipulus Writing one-liners in XS?

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (7)
As of 2018-02-21 13:45 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (280 votes). Check out past polls.