← Index
NYTProf Performance Profile   « line view »
For fastest.pl
  Run on Fri Jan 31 20:48:16 2014
Reported on Fri Jan 31 20:49:40 2014

Filename/Users/bpm/playground/Typed.github/Typed/fastest.pl
StatementsExecuted 2000058 statements in 4.13s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1000000117.83s46.2smain::::typed main::typed
100000011519ms519msis_Types::Standard::::Int is_Types::Standard::Int (xsub)
1114.46ms8.09msmain::::BEGIN@162 main::BEGIN@162
1114.39ms11.9msFoo::Moo::::BEGIN@116 Foo::Moo::BEGIN@116
1114.11ms4.42msmain::::BEGIN@6 main::BEGIN@6
1112.93ms2.96msmain::::BEGIN@4 main::BEGIN@4
191112.69ms60.4msClass::MOP::Attribute::::try {...} Class::MOP::Attribute::try {...}
1112.47ms525msFoo::Moose::::BEGIN@91 Foo::Moose::BEGIN@91
1111.85ms77.3msFoo::Typed::::BEGIN@103 Foo::Typed::BEGIN@103
148922181.64ms1.64msUNIVERSAL::::isa UNIVERSAL::isa (xsub)
660111.37ms10.3msClass::MOP::Class:::::around Class::MOP::Class:::around
1111.32ms1.67msFoo::Moo::QS::::BEGIN@130 Foo::Moo::QS::BEGIN@130
1111.24ms24.0msFoo::Mouse::::BEGIN@77 Foo::Mouse::BEGIN@77
78835211.16ms1.16msUNIVERSAL::::can UNIVERSAL::can (xsub)
9711938µs28.1msClass::MOP::Method::Accessor::::try {...} Class::MOP::Method::Accessor::try {...}
12411789µs66.5msClass::MOP::Class::::try {...} Class::MOP::Class::try {...}
111491µs542µsmain::::BEGIN@3 main::BEGIN@3
111395µs3.11msFoo::Object::Tiny::XS::::BEGIN@154 Foo::Object::Tiny::XS::BEGIN@154
111374µs521µsFoo::Object::Tiny::::BEGIN@143 Foo::Object::Tiny::BEGIN@143
231512241µs241µsUNIVERSAL::::VERSION UNIVERSAL::VERSION (xsub)
3111115µs31.9msClass::MOP::Method::Constructor::::try {...} Class::MOP::Method::Constructor::try {...}
11188µs96µsMouse::Meta::Method::Accessor::XS::::_generate_accessor Mouse::Meta::Method::Accessor::XS::_generate_accessor (xsub)
22162µs10.9msMoo::::has Moo::has
11128µs28µsmain::::CORE:print main::CORE:print (opcode)
21126µs1.71msClass::Load::::try {...} Class::Load::try {...}
31124µs1.28msMoose::Meta::Method::Accessor::::try {...} Moose::Meta::Method::Accessor::try {...}
31120µs3.00msModule::Implementation::::try {...} Module::Implementation::try {...}
11114µs236µsMoose::Meta::Method::Destructor::::try {...} Moose::Meta::Method::Destructor::try {...}
61111µs11µsInternals::::SvREADONLY Internals::SvREADONLY (xsub)
11110µs50µsFoo::Manual::::BEGIN@53 Foo::Manual::BEGIN@53
11110µs937µsFoo::Moo::QS::::BEGIN@129 Foo::Moo::QS::BEGIN@129
1116µs6µsversion::::(bool version::(bool (xsub)
1114µs4µsversion::::(cmp version::(cmp (xsub)
1114µs4µsFoo::Manual::NoChecks::::new Foo::Manual::NoChecks::new
1114µs4µsmain::::BEGIN@8 main::BEGIN@8
1113µs3µsModule::Implementation::::catch {...} Module::Implementation::catch {...}
1112µs2µsFoo::Manual::::new Foo::Manual::new
111900ns900nsTypes::Standard::::Str Types::Standard::Str
111900ns900nsTypes::Standard::::Value Types::Standard::Value
111800ns800nsMouse::Meta::Method::Constructor::XS::::_generate_constructorMouse::Meta::Method::Constructor::XS::_generate_constructor (xsub)
111600ns600nsMouse::Meta::Method::Destructor::XS::::_generate_destructor Mouse::Meta::Method::Destructor::XS::_generate_destructor (xsub)
0000s0sFoo::Manual::NoChecks::::bar Foo::Manual::NoChecks::bar
0000s0sFoo::Manual::::bar Foo::Manual::bar
0000s0sFoo::Moo::::__ANON__[fastest.pl:117] Foo::Moo::__ANON__[fastest.pl:117]
0000s0smain::::RUNTIME main::RUNTIME
0000s0smain::::hash main::hash
0000s0smain::::hash_nc main::hash_nc
0000s0smain::::manual main::manual
0000s0smain::::manual_nc main::manual_nc
0000s0smain::::moo main::moo
0000s0smain::::mooqs main::mooqs
0000s0smain::::moose main::moose
0000s0smain::::mouse main::mouse
0000s0smain::::ot main::ot
0000s0smain::::otxs main::otxs
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
025µsProfile data that couldn't be associated with a specific line:
# spent 3µs making 1 call to Mouse::Util::END # spent 2µs making 1 call to Class::XSAccessor::END
1133µs#!/usr/bin/env perl
2
32422µs2566µs
# spent 542µs (491+51) within main::BEGIN@3 which was called: # once (491µs+51µs) by main::RUNTIME at line 3
use strict;
# spent 542µs making 1 call to main::BEGIN@3 # spent 24µs making 1 call to strict::import
422.79ms22.97ms
# spent 2.96ms (2.93+30µs) within main::BEGIN@4 which was called: # once (2.93ms+30µs) by main::RUNTIME at line 4
use warnings;
# spent 2.96ms making 1 call to main::BEGIN@4 # spent 11µs making 1 call to warnings::import
5
62118µs24.47ms
# spent 4.42ms (4.11+302µs) within main::BEGIN@6 which was called: # once (4.11ms+302µs) by main::RUNTIME at line 6
use Carp;
# spent 4.42ms making 1 call to main::BEGIN@6 # spent 52µs making 1 call to Exporter::import
7
814µs
# spent 4µs within main::BEGIN@8 which was called: # once (4µs+0s) by main::RUNTIME at line 11
BEGIN {
9 # uncomment to test pure Perl Mouse
10# $ENV{MOUSE_PUREPERL} = 1;
111243µs14µs}
# spent 4µs making 1 call to main::BEGIN@8
12
13# ...........hash...............
14
1511µsmy $hash = {};
16sub hash_nc {
17 $hash->{bar} = 32;
18 my $x = $hash->{bar};
19}
20
21
22# ...........hash with check...............
23
241300nsmy $hash_check = {};
25sub hash {
26 my $arg = 32;
27 croak "we take an integer" unless defined $arg and $arg =~ /^[+-]?\d+$/;
28 $hash_check->{bar} = $arg;
29 my $x = $hash_check->{bar};
30}
31
32
33# ...........by hand..............
34{
351500ns package Foo::Manual::NoChecks;
3618µs
# spent 4µs within Foo::Manual::NoChecks::new which was called: # once (4µs+0s) by main::RUNTIME at line 43
sub new { bless {} => shift }
37 sub bar {
38 my $self = shift;
39 return $self->{bar} unless @_;
40 $self->{bar} = shift;
41 }
42}
4315µs14µsmy $manual_nc = Foo::Manual::NoChecks->new;
# spent 4µs making 1 call to Foo::Manual::NoChecks::new
44sub manual_nc {
45 $manual_nc->bar(32);
46 my $x = $manual_nc->bar;
47}
48
49
50# ...........by hand with checks..............
51{
521200ns package Foo::Manual;
532193µs291µs
# spent 50µs (10+40) within Foo::Manual::BEGIN@53 which was called: # once (10µs+40µs) by main::RUNTIME at line 53
use Carp;
# spent 50µs making 1 call to Foo::Manual::BEGIN@53 # spent 40µs making 1 call to Exporter::import
54
5515µs
# spent 2µs within Foo::Manual::new which was called: # once (2µs+0s) by main::RUNTIME at line 67
sub new { bless {} => shift }
56 sub bar {
57 my $self = shift;
58 if( @_ ) {
59 # Simulate argument checking
60 my $arg = shift;
61 croak "we take an integer" unless defined $arg and $arg =~ /^[+-]?\d+$/;
62 $self->{bar} = $arg;
63 }
64 return $self->{bar};
65 }
66}
6713µs12µsmy $manual = Foo::Manual->new;
# spent 2µs making 1 call to Foo::Manual::new
68sub manual {
69 $manual->bar(32);
70 my $x = $manual->bar;
71}
72
73
74#.............Mouse.............
75{
761200ns package Foo::Mouse;
772210µs224.3ms
# spent 24.0ms (1.24+22.7) within Foo::Mouse::BEGIN@77 which was called: # once (1.24ms+22.7ms) by main::RUNTIME at line 77
use Mouse;
# spent 24.0ms making 1 call to Foo::Mouse::BEGIN@77 # spent 304µs making 1 call to Mouse::Exporter::do_import
7812µs1324µs has bar => (is => 'rw', isa => "Int");
# spent 324µs making 1 call to Mouse::has
7916µs2116µs __PACKAGE__->meta->make_immutable;
# spent 106µs making 1 call to Mouse::Meta::Class::make_immutable # spent 10µs making 1 call to Foo::Mouse::meta
80}
81153µs5141µsmy $mouse = Foo::Mouse->new;
# spent 92µs making 1 call to Mouse::Object::new # spent 46µs making 1 call to Mouse::Meta::Class::_calculate_all_attributes # spent 2µs making 1 call to Mouse::Meta::Class::strict_constructor # spent 800ns making 1 call to Mouse::Meta::Class::is_immutable # spent 600ns making 1 call to Mouse::Meta::Class::is_anon_class
82sub mouse {
83 $mouse->bar(32);
84 my $x = $mouse->bar;
85}
86
87
88#............Moose............
89{
901400ns package Foo::Moose;
912239µs2531ms
# spent 525ms (2.47+523) within Foo::Moose::BEGIN@91 which was called: # once (2.47ms+523ms) by main::RUNTIME at line 91
use Moose;
# spent 525ms making 1 call to Foo::Moose::BEGIN@91 # spent 5.77ms making 1 call to Moose::Exporter::__ANON__[Moose/Exporter.pm:519]
9212µs18.99ms has bar => (is => 'rw', isa => "Int");
# spent 8.99ms making 1 call to Moose::has
93119µs229.6ms __PACKAGE__->meta->make_immutable;
# spent 29.6ms making 1 call to Class::MOP::Class::make_immutable # spent 16µs making 1 call to Foo::Moose::meta
94}
9513µs112µsmy $moose = Foo::Moose->new;
# spent 12µs making 1 call to Foo::Moose::new
96sub moose {
97 $moose->bar(32);
98 my $x = $moose->bar;
99}
100
101{
1021400ns package Foo::Typed;
1032236µs278.1ms
# spent 77.3ms (1.85+75.5) within Foo::Typed::BEGIN@103 which was called: # once (1.85ms+75.5ms) by main::RUNTIME at line 103
use Typed;
# spent 77.3ms making 1 call to Foo::Typed::BEGIN@103 # spent 845µs making 1 call to Typed::import
10413µs139µs has bar => (is => 'rw', isa => "Int");
# spent 39µs making 1 call to Typed::has
105}
10614µs140µsmy $typed = Foo::Typed->new;
# spent 40µs making 1 call to Typed::new
107
# spent 46.2s (7.83+38.4) within main::typed which was called 1000000 times, avg 46µs/call: # 1000000 times (7.83s+38.4s) by Benchmark::__ANON__[(eval 452)[/opt/perl-5.18.1/lib/5.18.1/Benchmark.pm:646]:1] at line 1 of (eval 451)[Benchmark.pm:646], avg 46µs/call
sub typed {
1081000000722ms100000036.7s $typed->bar(32);
# spent 36.7s making 1000000 calls to Typed::__ANON__[Typed.pm:134], avg 37µs/call
10910000003.41s10000001.74s my $x = $typed->bar;
# spent 1.74s making 1000000 calls to Typed::__ANON__[Typed.pm:134], avg 2µs/call
110}
111
112
113#.............Moo...........
114{
1151300ns package Foo::Moo;
1162336µs214.3ms
# spent 11.9ms (4.39+7.47) within Foo::Moo::BEGIN@116 which was called: # once (4.39ms+7.47ms) by main::RUNTIME at line 116
use Moo;
# spent 11.9ms making 1 call to Foo::Moo::BEGIN@116 # spent 2.39ms making 1 call to Moo::import
11715µs110.6ms has bar => (is => 'rw', isa => sub { $_[0] =~ /^[+-]?\d+$/ });
# spent 10.6ms making 1 call to Moo::has
118}
11912µs1759µsmy $moo = Foo::Moo->new;
# spent 759µs making 1 call to Foo::Moo::new
120sub moo {
121 $moo->bar(32);
122 my $x = $moo->bar;
123}
124
125
126#........... Moo using Sub::Quote..............
127{
1281400ns package Foo::Moo::QS;
129240µs21.87ms
# spent 937µs (10+928) within Foo::Moo::QS::BEGIN@129 which was called: # once (10µs+928µs) by main::RUNTIME at line 129
use Moo;
# spent 937µs making 1 call to Foo::Moo::QS::BEGIN@129 # spent 928µs making 1 call to Moo::import
1302217µs21.71ms
# spent 1.67ms (1.32+347µs) within Foo::Moo::QS::BEGIN@130 which was called: # once (1.32ms+347µs) by main::RUNTIME at line 130
use Sub::Quote;
# spent 1.67ms making 1 call to Foo::Moo::QS::BEGIN@130 # spent 42µs making 1 call to Exporter::import
13114µs2359µs has bar => (is => 'rw', isa => quote_sub q{ $_[0] =~ /^[+-]?\d+$/ });
# spent 334µs making 1 call to Moo::has # spent 25µs making 1 call to Sub::Quote::quote_sub
132}
13312µs1741µsmy $mooqs = Foo::Moo::QS->new;
# spent 741µs making 1 call to Foo::Moo::QS::new
134sub mooqs {
135 $mooqs->bar(32);
136 my $x = $mooqs->bar;
137}
138
139
140#............Object::Tiny..............
141{
1421500ns package Foo::Object::Tiny;
1432189µs2615µs
# spent 521µs (374+147) within Foo::Object::Tiny::BEGIN@143 which was called: # once (374µs+147µs) by main::RUNTIME at line 143
use Object::Tiny qw(bar);
# spent 521µs making 1 call to Foo::Object::Tiny::BEGIN@143 # spent 94µs making 1 call to Object::Tiny::import
144}
14517µs14µsmy $ot = Foo::Object::Tiny->new( bar => 32 );
# spent 4µs making 1 call to Object::Tiny::new
146sub ot {
147 my $x = $ot->bar;
148}
149
150
151#............Object::Tiny::XS..............
152{
1531400ns package Foo::Object::Tiny::XS;
1542181µs23.36ms
# spent 3.11ms (395µs+2.71) within Foo::Object::Tiny::XS::BEGIN@154 which was called: # once (395µs+2.71ms) by main::RUNTIME at line 154
use Object::Tiny::XS qw(bar);
# spent 3.11ms making 1 call to Foo::Object::Tiny::XS::BEGIN@154 # spent 251µs making 1 call to Object::Tiny::XS::import
155}
156133µs122µsmy $otxs = Foo::Object::Tiny::XS->new(bar => 32);
# spent 22µs making 1 call to Object::Tiny::XS::new
157sub otxs {
158 my $x = $otxs->bar;
159}
160
161
1622774µs28.22ms
# spent 8.09ms (4.46+3.63) within main::BEGIN@162 which was called: # once (4.46ms+3.63ms) by main::RUNTIME at line 162
use Benchmark 'timethese';
# spent 8.09ms making 1 call to main::BEGIN@162 # spent 129µs making 1 call to Benchmark::import
163
164145µs128µsprint "Testing Perl $], Moose $Moose::VERSION, Mouse $Mouse::VERSION, Moo $Moo::VERSION\n";
# spent 28µs making 1 call to main::CORE:print
16517µs153.6stimethese(
# spent 53.6s making 1 call to Benchmark::timethese
166 1_000_000,
167 {
168### Moose => \&moose,
169### Mouse => \&mouse,
170### manual => \&manual,
171### "manual, no check" => \&manual_nc,
172### 'hash, no check' => \&hash_nc,
173### hash => \&hash,
174### Moo => \&moo,
175### "Moo w/quote_sub" => \&mooqs,
176### "Object::Tiny" => \&ot,
177### "Object::Tiny::XS" => \&otxs,
178 Typed => \&typed,
179 }
180);
181
182
183__END__
 
# spent 11µs within Internals::SvREADONLY which was called 6 times, avg 2µs/call: # 6 times (11µs+0s) by constant::import at line 136 of constant.pm, avg 2µs/call
sub Internals::SvREADONLY; # xsub
# spent 96µs (88+8) within Mouse::Meta::Method::Accessor::XS::_generate_accessor which was called: # once (88µs+8µs) by Mouse::Meta::Attribute::install_accessors at line 257 of Mouse/Meta/Attribute.pm
sub Mouse::Meta::Method::Accessor::XS::_generate_accessor; # xsub
# spent 800ns within Mouse::Meta::Method::Constructor::XS::_generate_constructor which was called: # once (800ns+0s) by Mouse::Meta::Class::make_immutable at line 292 of Mouse/Meta/Class.pm
sub Mouse::Meta::Method::Constructor::XS::_generate_constructor; # xsub
# spent 600ns within Mouse::Meta::Method::Destructor::XS::_generate_destructor which was called: # once (600ns+0s) by Mouse::Meta::Class::make_immutable at line 298 of Mouse/Meta/Class.pm
sub Mouse::Meta::Method::Destructor::XS::_generate_destructor; # xsub
# spent 241µs within UNIVERSAL::VERSION which was called 23 times, avg 10µs/call: # 9 times (79µs+0s) by strictures::VERSION at line 21 of strictures.pm, avg 9µs/call # once (21µs+0s) by Moose::Util::BEGIN@12 at line 12 of Moose/Util.pm # once (13µs+0s) by Method::Generate::Accessor::BEGIN@11 at line 17 of Method/Generate/Accessor.pm # once (12µs+0s) by Data::OptList::BEGIN@11 at line 11 of Data/OptList.pm # once (12µs+0s) by Moose::Deprecated::BEGIN@12 at line 19 of Moose/Deprecated.pm # once (12µs+0s) by Class::Load::BEGIN@9 at line 9 of Class/Load.pm # once (11µs+0s) by Sub::Exporter::BEGIN@11 at line 11 of Sub/Exporter.pm # once (11µs+0s) by Class::Load::PP::BEGIN@9 at line 9 of Class/Load/PP.pm # once (11µs+0s) by Module::Implementation::BEGIN@12 at line 12 of Module/Implementation.pm # once (10µs+0s) by Moose::Exporter::BEGIN@17 at line 17 of Moose/Exporter.pm # once (10µs+0s) by Class::Load::BEGIN@10 at line 15 of Class/Load.pm # once (10µs+0s) by Class::MOP::BEGIN@18 at line 18 of Class/MOP.pm # once (10µs+0s) by Package::Stash::BEGIN@15 at line 15 of Package/Stash.pm # once (10µs+0s) by Sub::Exporter::BEGIN@12 at line 12 of Sub/Exporter.pm # once (9µs+0s) by Sub::Exporter::BEGIN@13 at line 13 of Sub/Exporter.pm
sub UNIVERSAL::VERSION; # xsub
# spent 1.16ms within UNIVERSAL::can which was called 788 times, avg 1µs/call: # 277 times (224µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 354 of Class/MOP/Class.pm, avg 810ns/call # 129 times (178µs+0s) by Class::MOP::Method::Generated::_compile_code at line 59 of Class/MOP/Method/Generated.pm, avg 1µs/call # 124 times (135µs+0s) by Class::MOP::Mixin::HasAttributes::add_attribute at line 44 of Class/MOP/Mixin/HasAttributes.pm, avg 1µs/call # 53 times (223µs+0s) by Exporter::Tiny::_exporter_expand_sub at line 108 of Exporter/Tiny.pm, avg 4µs/call # 53 times (146µs+0s) by Exporter::Tiny::_exporter_install_sub at line 152 of Exporter/Tiny.pm, avg 3µs/call # 53 times (58µs+0s) by Exporter::Tiny::_exporter_expand_sub at line 111 of Exporter/Tiny.pm, avg 1µs/call # 25 times (28µs+0s) by Class::MOP::Mixin::HasMethods::_add_meta_method at line 28 of Class/MOP/Mixin/HasMethods.pm, avg 1µs/call # 17 times (38µs+0s) by Type::Tiny::_build_compiled_check at line 315 of Type/Tiny.pm, avg 2µs/call # 7 times (8µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 287 of Class/MOP/Class.pm, avg 1µs/call # 4 times (12µs+0s) by Moose::Meta::Attribute::_inline_throw_error at line 71 of Moose/Meta/Attribute.pm, avg 3µs/call # 3 times (12µs+0s) by Method::Generate::Constructor::generate_method at line 77 of Method/Generate/Constructor.pm, avg 4µs/call # 3 times (12µs+0s) by Method::Generate::Constructor::generate_method at line 86 of Method/Generate/Constructor.pm, avg 4µs/call # 3 times (11µs+0s) by Mouse::Exporter::build_import_methods at line 110 of Mouse/Exporter.pm, avg 4µs/call # 3 times (9µs+0s) by Moo::_constructor_maker_for at line 155 of Moo.pm, avg 3µs/call # 3 times (7µs+0s) by Method::Generate::Constructor::generate_method at line 93 of Method/Generate/Constructor.pm, avg 2µs/call # 3 times (6µs+0s) by Sub::Exporter::default_generator at line 411 of Sub/Exporter.pm, avg 2µs/call # 3 times (3µs+0s) by Moo::_accessor_maker_for at line 124 of Moo.pm, avg 1µs/call # 3 times (3µs+0s) by Moo::_constructor_maker_for at line 157 of Moo.pm, avg 967ns/call # 2 times (8µs+0s) by Moo::Object::new at line 22 of Moo/Object.pm, avg 4µs/call # 2 times (6µs+0s) by Moo::Object::new at line 13 of Moo/Object.pm, avg 3µs/call # 2 times (5µs+0s) by Moose::Exporter::__ANON__[/opt/perl-5.18.1/lib/site_perl/5.18.1/darwin-thread-multi-2level/Moose/Exporter.pm:519] at line 468 of Moose/Exporter.pm, avg 2µs/call # 2 times (4µs+0s) by if::work at line 14 of if.pm, avg 2µs/call # 2 times (3µs+0s) by Moose::Meta::Method::_inline_throw_error at line 39 of Moose/Meta/Method.pm, avg 1µs/call # once (3µs+0s) by Typed::new at line 49 of Typed.pm # once (2µs+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 70 of Class/MOP/Method/Inlined.pm # once (2µs+0s) by Sub::Install::__ANON__[/opt/perl-5.18.1/lib/site_perl/5.18.1/Sub/Install.pm:57] at line 45 of Sub/Install.pm # once (2µs+0s) by Moose::Object::BEGIN@108 at line 109 of Moose/Object.pm # once (1µs+0s) by Mouse::Meta::Class::verify_superclass at line 82 of Mouse/Meta/Class.pm # once (1µs+0s) by Moose::Meta::Class::add_attribute at line 583 of Moose/Meta/Class.pm # once (1µs+0s) by Moose::Meta::Class::_inline_triggers at line 471 of Moose/Meta/Class.pm # once (1µs+0s) by Moose::Meta::Class::_eval_environment at line 507 of Moose/Meta/Class.pm # once (1µs+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 58 of Class/MOP/Method/Inlined.pm # once (1µs+0s) by Moose::Meta::Class::_inline_init_attr_from_default at line 429 of Moose/Meta/Class.pm # once (1µs+0s) by Moose::Meta::Class::_inline_check_required_attr at line 387 of Moose/Meta/Class.pm # once (1µs+0s) by Moose::Meta::Class::_eval_environment at line 521 of Moose/Meta/Class.pm
sub UNIVERSAL::can; # xsub
# spent 1.64ms within UNIVERSAL::isa which was called 1489 times, avg 1µs/call: # 363 times (304µs+0s) by Class::MOP::Mixin::HasMethods::add_method at line 62 of Class/MOP/Mixin/HasMethods.pm, avg 838ns/call # 286 times (358µs+0s) by Class::MOP::Object::_is_compatible_with at line 52 of Class/MOP/Object.pm, avg 1µs/call # 191 times (180µs+0s) by Class::MOP::Method::Accessor::new at line 29 of Class/MOP/Method/Accessor.pm, avg 942ns/call # 124 times (137µs+0s) by Class::MOP::Mixin::HasAttributes::add_attribute at line 23 of Class/MOP/Mixin/HasAttributes.pm, avg 1µs/call # 124 times (78µs+0s) by Class::MOP::Attribute::attach_to_class at line 240 of Class/MOP/Attribute.pm, avg 632ns/call # 89 times (83µs+0s) by Class::MOP::Mixin::HasMethods::get_method at line 122 of Class/MOP/Mixin/HasMethods.pm, avg 931ns/call # 85 times (183µs+0s) by base::import at line 74 of base.pm, avg 2µs/call # 44 times (28µs+0s) by Class::MOP::Method::Wrapped::wrap at line 76 of Class/MOP/Method/Wrapped.pm, avg 625ns/call # 37 times (43µs+0s) by Type::Tiny::isa at line 928 of Type/Tiny.pm, avg 1µs/call # 30 times (66µs+0s) by Class::MOP::Class::new_object at line 496 of Class/MOP/Class.pm, avg 2µs/call # 30 times (61µs+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 43 of Class/MOP/Method/Inlined.pm, avg 2µs/call # 30 times (30µs+0s) by Class::MOP::Method::Constructor::new at line 23 of Class/MOP/Method/Constructor.pm, avg 990ns/call # 25 times (29µs+0s) by Moose::Meta::TypeConstraint::Registry::add_type_constraint at line 51 of Moose/Meta/TypeConstraint/Registry.pm, avg 1µs/call # 20 times (43µs+0s) by metaclass::import at line 35 of metaclass.pm, avg 2µs/call # 3 times (5µs+0s) by Class::MOP::Class::superclasses at line 949 of Class/MOP/Class.pm, avg 2µs/call # 2 times (3µs+0s) by Class::MOP::Mixin::HasMethods::_add_meta_method at line 31 of Class/MOP/Mixin/HasMethods.pm, avg 2µs/call # once (2µs+0s) by Moose::Meta::Class::superclasses at line 566 of Moose/Meta/Class.pm # once (2µs+0s) by Moose::init_meta at line 161 of Moose.pm # once (1µs+0s) by Moose::Exporter::_apply_metaroles at line 575 of Moose/Exporter.pm # once (1µs+0s) by Moose::Meta::Method::Destructor::is_needed at line 61 of Moose/Meta/Method/Destructor.pm # once (900ns+0s) by Moose::Meta::Attribute::_process_accessors at line 1045 of Moose/Meta/Attribute.pm # once (900ns+0s) by Moose::Meta::Attribute::_process_accessors at line 1057 of Moose/Meta/Attribute.pm
sub UNIVERSAL::isa; # xsub
# spent 519ms within is_Types::Standard::Int which was called 1000000 times, avg 519ns/call: # 1000000 times (519ms+0s) by Type::Tiny::validate at line 508 of Type/Tiny.pm, avg 519ns/call
sub is_Types::Standard::Int; # xsub
# spent 28µs within main::CORE:print which was called: # once (28µs+0s) by main::RUNTIME at line 164
sub main::CORE:print; # opcode
# spent 6µs within version::(bool which was called: # once (6µs+0s) by DynaLoader::BEGIN@22 at line 59 of Config.pm
sub version::(bool; # xsub
# spent 4µs within version::(cmp which was called: # once (4µs+0s) by DynaLoader::BEGIN@22 at line 62 of Config.pm
sub version::(cmp; # xsub