use Benchmark qw(cmpthese); use strict; use Dice::pureDieObj; use Dice::di; use Dice::diV02; #my $pureDieObj = Dice::pureDieObj->get(20); #my $FacelessDieObj = Dice::di->get(20,1); #my $FacedDieObj = Dice::di->get(20); #my $PsuedoHashDie = Dice::diV02->new( type=>20 ); system("clear"); my $loops; for $loops (55000) { cmpthese $loops, { pureSub => sub { my $roll = Die(20); }, purists => sub { my $roll = int( rand( 20 ) + 1 ); }, pureDieObj => sub { # No face/storage only a roll my $pureDieObj = Dice::pureDieObj->get(20); my $roll = $pureDieObj->roll; }, FacelessDieObj => sub { my $FacelessDieObj = Dice::di->get(20,1); my $roll = $FacelessDieObj->roll; }, FacedDieObjNotStored => sub { my $FacedDieObj = Dice::di->get(20); my $roll = $FacedDieObj->roll(1); }, FacedDieObjStored => sub { my $FacedDieObj = Dice::di->get(20); my $roll = $FacedDieObj->roll; }, PsuedoHashObj => sub { my $PsuedoHashDie = Dice::diV02->new( type=>20 ); my $roll = $PsuedoHashDie->roll; }, }; } sub Die { return int( rand( shift ) + 1 ); }