use strict; use warnings; use Benchmark; use myTie::File::GFF; use myTie::File; use Tie::File; my $f = shift @ARGV; tie my @arr1, 'myTie::File', $f; tie my @arr2, 'myTie::File::GFF', $f; tie my @arr3, 'Tie::File',$f; Benchmark::cmpthese (100, { 'call_same_module' => sub {my $cont=0; for (@arr1){$cont++;}}, 'inherited' => sub {my $cont=0; for (@arr2){$cont++;}}, 'orig_tiefile' => sub {my $cont=0; for (@arr3){$cont++}} } ); #### Rate call_same_module orig_tiefile inherited call_same_module 100.0/s -- -8% -71% orig_tiefile 109/s 9% -- -68% inherited 345/s 245% 217% --