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

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

by dchetlin (Friar)
on Dec 16, 2000 at 01:33 UTC ( [id://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.

-dlc

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?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://46938]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (4)
As of 2024-04-25 15:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found