use strict;
use warnings;
my $c = "foo";
my $d = "print q{$c}, q{\n}";
eval ($d); # print "foo"
my @f = 1..10;
process_f();
sub process_f {
my $g = 'print "$_ " for @f; print "\n";';
eval ($g);
}
my $h = 'my $i = sub { print map {$_ *= 2; "$_ ";} @f; print "\n" }; $i->();';
eval ($h);
####
use strict;
use warnings;
use Benchmark;
our @array2 = 1 .. 1000;
timethese 50000, {
"idiomatic" => q[ $_ +=2 for @array2; ],
"map" => q[ map $_ +=2, @array2; ],
};
####
Benchmark: timing 50000 iterations of idiomatic, map...
idiomatic: 3 wallclock secs ( 2.87 usr + 0.00 sys = 2.87 CPU) @ 17421.60/s (
n=50000)
map: 3 wallclock secs ( 3.04 usr + 0.00 sys = 3.04 CPU) @ 16436.55/s (
n=50000)
Benchmark: timing 50000 iterations of idiomatic, map...
idiomatic: 3 wallclock secs ( 2.87 usr + 0.00 sys = 2.87 CPU) @ 17421.60/s (
n=50000)
map: 3 wallclock secs ( 3.04 usr + 0.00 sys = 3.04 CPU) @ 16436.55/s (
n=50000)
Benchmark: timing 50000 iterations of idiomatic, map...
idiomatic: 3 wallclock secs ( 2.86 usr + 0.00 sys = 2.86 CPU) @ 17513.13/s (
n=50000)
map: 3 wallclock secs ( 3.04 usr + 0.00 sys = 3.04 CPU) @ 16436.55/s (
n=50000)
Benchmark: timing 50000 iterations of idiomatic, map...
idiomatic: 3 wallclock secs ( 2.87 usr + 0.00 sys = 2.87 CPU) @ 17415.53/s (
n=50000)
map: 3 wallclock secs ( 3.04 usr + 0.00 sys = 3.04 CPU) @ 16436.55/s (
n=50000)
Benchmark: timing 50000 iterations of idiomatic, map...
idiomatic: 3 wallclock secs ( 2.87 usr + 0.00 sys = 2.87 CPU) @ 17421.60/s (
n=50000)
map: 3 wallclock secs ( 3.04 usr + 0.00 sys = 3.04 CPU) @ 16436.55/s (
n=50000)