#!/usr/bin/perl use strict; use warnings; use Benchmark qw(:all); sub caller_scalar { my $s = stub_scalar(); } sub caller_ref { my $s = stub_ref(); } sub stub_scalar { my $string = 'aaaaaaaaaaaaaaaaaaaaaaaa' x 1000000; return $string } sub stub_ref { my $string = 'aaaaaaaaaaaaaaaaaaaaaaaa' x 1000000; return \$string } cmpthese( 1000, { 'ref' => \&caller_ref, 'scalar' => \&caller_scalar, } ); #### Rate scalar ref scalar 10.9/s -- -20% ref 13.5/s 24% --