PerlSubCall => sub { my $c = PerlMethods->new; for (1..100) { $x = PerlMethods::x($c); $y = PerlMethods::y($c); } }, cSubCall => sub { my $c = CMethods->new; for (1..100) { $x = CMethods::x($c); $y = CMethods::y($c); } }, Direct => sub { my $c = PerlMethods->new; for (1..100) { $x = $c->{x}; $y = $c->{y}; }, Fields => sub { my UsingFields $c = UsingFields->new; for (1..100) { $x = $c->{x}; $y = $c->{y}; } }