Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: declaring lexical variables in shortest scope: performance?

by vr (Curate)
on Mar 31, 2020 at 17:53 UTC ( #11114861=note: print w/replies, xml ) Need Help??


in reply to declaring lexical variables in shortest scope: performance?

Isn't it the case that lexical loop iterator doesn't create a "lexical pad"? If a block, which creates scope, can be written so it doesn't have to create a "pad", then it's surely faster, no?

use strict; use warnings; use Benchmark 'cmpthese'; cmpthese -2, { 1 => sub { my ( $s, $x, $y ) = 0; # for ( 1 .. 1e6 ) { # doesn't matter, if written so for my $i ( 1 .. 1e6 ) { $x = rand; # suppose intermediate $y = rand; # variables are required $s += $x + $y; } $s }, 2 => sub { my ( $s, $i ) = 0; # for $i ( 1 .. 1e6 ) { # doesn't matter, neither for ( 1 .. 1e6 ) { my $x = rand; my $y = rand; $s += $x + $y; } $s }, }; __END__ Rate 2 1 2 6.69/s -- -42% 1 11.6/s 74% --

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (6)
As of 2021-09-17 06:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?