{
local $" = "\n";
print PROG "@array\n";
}
####
print PROG join( "\n", @array), "\n";
####
use Benchmark;
for ( 1..1000000 ) {
push @a, "$i";
}
open PROG, ">/dev/nul";
timethese( 100], {
manual => sub {for $line ( @a ){ print PROG "$line\n";}},
join => sub {print PROG join( "\n", @a ), "\n" },
local => sub {local $"="\n"; print PROG "@a\n";}
html => sub {print PROG @a;}
});
##### output ->
$ perl t.pl
Benchmark: timing 100 iterations of join, local, manual...
html:133 wallclock secs (131.79 usr+ 0.15 sys = 131.94 CPU) @ 0.76/s (n=100)
join: 45 wallclock secs (44.04 usr + 0.01 sys = 44.05 CPU) @ 2.27/s (n=100)
local: 45 wallclock secs (44.51 usr + 0.00 sys = 44.51 CPU) @ 2.25/s (n=100)
manual:275 wallclock secs (274.17 usr+ 0.04 sys = 274.21 CPU) @ 0.36/s (n=100)