Heray-Was-Here
Server : Apache
System : Linux vps103298.mylogin.co 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64
User : calvet ( 273824)
PHP Version : 7.4.33
Disable Function : NONE
Directory :  /usr/share/doc/perl-MooseX-ArrayRef/examples/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/share/doc/perl-MooseX-ArrayRef/examples/benchmark.pl
use Benchmark qw(:all);

{
	package Local::Foo;
	use Moose::Role;
	has foo => (is => 'rw');
	sub test {
		my $class = shift;
		my $self  = $class->new;
		$self->foo($_) for 0 .. 99;
	}
}

{
	package Local::HashRef::M;
	use Moose;
	with 'Local::Foo';
}

{
	package Local::HashRef::I;
	use Moose;
	with 'Local::Foo';
	__PACKAGE__->meta->make_immutable;
}

{
	package Local::ArrayRef::M;
	use MooseX::ArrayRef;
	with 'Local::Foo';
}

{
	package Local::ArrayRef::I;
	use MooseX::ArrayRef;
	with 'Local::Foo';
	__PACKAGE__->meta->make_immutable;
}

cmpthese(10_000, {
	HashRef_M => sub { Local::HashRef::M::->test },
	HashRef_I => sub { Local::HashRef::I::->test },
	ArrayRef_M => sub { Local::ArrayRef::M::->test },
	ArrayRef_I => sub { Local::ArrayRef::I::->test },
});

Hry