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

Re: Back to Remedial Perl for Me: map{} function

by dchetlin (Friar)
on Dec 16, 2000 at 01:33 UTC ( #46938=note: print w/replies, xml ) Need Help??

in reply to Back to Remedial Perl for Me: map{} function

A note on efficiency:

`map EXPR, LIST' is in general quite a bit faster than `map BLOCK LIST', so you should probably try to use EXPRs rather than BLOCKs whenever possible in a map.

For instance, here are your first examples recoded as EXPRs:

my @adjusted_array = map $_ * 10, @array;

my %hash = map split /-/, @array;

Why is it faster? Using the BLOCK introduces a new scope, which adds some extra ops and time to start and finish. BLOCKs do give you extra power and flexibility, but try to use them only when necessary.


Replies are listed 'Best First'.
(tye)Re: Back to Remedial Perl for Me: map{} function
by tye (Sage) on Dec 18, 2000 at 23:54 UTC

    Why is it faster?

    Because the optimizer is "broken". (:

            - tye (but my friends call me "Tye")

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://46938]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (3)
As of 2018-05-24 04:23 GMT
Find Nodes?
    Voting Booth?