#!/usr/bin/perl
use 5.012;
use lib 'blib/lib', 'blib/arch';
use lib 't';
use MyTest;
use Benchmark qw/timethis timethese/;
use Devel::Peek;
use Data::Dumper 'Dumper';
use POSIX ":sys_wait_h";
timethis(-1, sub { MyTest::bench_simple_get(1000000); });
exit;
my $o = PXSTB->create();
eval { $o = undef; };
say $o;
timethese(-1, {
#aaa => sub { AAA1->create(); },
bbb => sub { PXSTB->create(); },
#ccc => sub { CCC1->create(); },
});
#my $str = "BBB1->create();" x 100000;
#my $sub = eval "sub { $str }";
#$sub->() for 1..10000;
exit;
say "START";
{
package My::Cool::Parent::Package;
our $a = 1;
package My::Cool::Package;
our @ISA = 'My::Cool::Parent::Package';
}
say XS::Framework::bench_isa_eq();
say XS::Framework::bench_isa_stash();
say XS::Framework::bench_isa_str();
say XS::Framework::bench_isa_ne();
timethese(-1, {
isa_eq => \&XS::Framework::bench_isa_eq,
isa_stash => \&XS::Framework::bench_isa_stash,
isa_str => \&XS::Framework::bench_isa_str,
isa_ne => \&XS::Framework::bench_isa_ne,
});
exit();
timethis(-1, sub { XS::Framework::Test::ttt($a) });
timethis(-1, sub { XS::Framework::Test::yyy($a) });
__END__
my @a = (1..10000);
use threads ('yield',
'stack_size' => 64*4096,
'exit' => 'threads_only',
'stringify');
{
package AAA;
sub new { return bless {}, 'AAA' }
#sub CLONE { say "CLONE NAH @_"; }
}
my $aa = new AAA;
my $aa2 = new AAA;
sub thr_do {
#say "HELLO FROM THREAD";
}
#timethis(-1, sub {
# my $thr = threads->create(\&thr_do);
# $thr->join();
#});
timethis(-1, sub {
fork() or exit();
});
say "END";