lhp@nereida:~/Lperl/src$ cat -n benchtypeglobs3.pl
 1  #!/usr/bin/perl
 2  use strict;
 3  use Benchmark;
 4
 5  our ($i, $r, $b, $s);
 6
 7  local $i;
 8  *b = *i;
 9  $r = \$i;
10  $s = "i";
11
12  no strict 'refs';
13  timethese(4,
14    { reference => sub { for ($$r = 0; $$r < 1e6; $$r++) { $$r; } },
15      typeglob  => sub { for ($b = 0; $b < 1e6; $b++) { $b; } },
16      symbolic  => sub { for ($$s = 0; $$s < 1e6; $$s++) { $$s; } },
17    });
El resultado de la ejecución en nereida nos da la siguiente relación:
lhp@nereida:~/Lperl/src$ benchtypeglobs3.pl Benchmark: timing 4 iterations of reference, symbolic, typeglob... reference: 1 wallclock secs ( 1.13 usr + 0.00 sys = 1.13 CPU) @ 3.54/s (n=4) symbolic: 6 wallclock secs ( 6.33 usr + 0.00 sys = 6.33 CPU) @ 0.63/s (n=4) typeglob: 1 wallclock secs ( 0.75 usr + 0.00 sys = 0.75 CPU) @ 5.33/s (n=4)
Casiano Rodríguez León
