Slightly OT but I noticed that two solutions print a string concatenation while another supplied a list of strings to print. I wondered if there was any performance difference between the two. It seems that using a list is consistently about 10% faster. Here's the benchmark code.
use strict;
use warnings;
use Benchmark q{cmpthese};
my $nullFile = q{/dev/null};
open my $nullFH, q{>}, $nullFile
or die qq{open: $nullFile: $!\n};
my $rcConcat = sub
{
print $nullFH q{a} . q{!} x 5 for 1 .. 10000;
};
my $rcList = sub
{
print $nullFH q{a}, q{!} x 5 for 1 .. 10000;
};
cmpthese (-3,
{
Concat => $rcConcat,
List => $rcList,
});
close $nullFH
or die qq{close: $nullFile: $!\n};
and the output from 10 runs.
Cheers, JohnGG |