#!/usr/bin/perl use strict; use warnings; use Benchmark qw[cmpthese timethese]; my @A = qw[this that these those]; my $result; open my $null, '>', '/dev/null' or die; $result = timethese( -5, { test => sub { print {$null} "@A" }, with_for => sub { print {$null} $_ for @A }, with_join => sub { print {$null} join '', @A }, } ); cmpthese( $result, 'none' ); #### OUTPUT : Benchmark: running test, with_for, with_join for at least 2 CPU seconds... test: 3 wallclock secs ( 2.03 usr + 0.01 sys = 2.04 CPU) @ 642509.31/s (n=1310719) with_for: 1 wallclock secs ( 2.14 usr + 0.00 sys = 2.14 CPU) @ 494696.26/s (n=1058650) with_join: 2 wallclock secs ( 2.16 usr + 0.00 sys = 2.16 CPU) @ 935679.63/s (n=2021068)