← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Thu Dec 15 15:23:56 2022
Reported on Thu Dec 15 15:27:01 2022

Filename/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/Moo/_Utils.pm
StatementsExecuted 2010 statements in 14.9ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1118.44ms14.5msMoo::_Utils::::BEGIN@12 Moo::_Utils::BEGIN@12
4214.06ms6.69msMoo::_Utils::::_require Moo::_Utils::_require
1113.77ms5.13msMoo::_Utils::::BEGIN@37 Moo::_Utils::BEGIN@37
17331.58ms5.45msMoo::_Utils::::_install_modifier Moo::_Utils::_install_modifier
1111.57ms1.64msMoo::_Utils::::BEGIN@35 Moo::_Utils::BEGIN@35
1111.08ms1.19msMoo::_Utils::::BEGIN@36 Moo::_Utils::BEGIN@36
111854µs5.22msMoo::_Utils::::BEGIN@167 Moo::_Utils::BEGIN@167
11933527µs1.99msMoo::_Utils::::_install_tracked Moo::_Utils::_install_tracked
11911482µs1.38msMoo::_Utils::::_install_coderef Moo::_Utils::_install_coderef
20655443µs443µsMoo::_Utils::::_getglob Moo::_Utils::_getglob
12922392µs778µsMoo::_Utils::::_name_coderef Moo::_Utils::_name_coderef
2122361µs399µsMoo::_Utils::::_check_tracked Moo::_Utils::_check_tracked
2622168µs6.66msMoo::_Utils::::_load_module Moo::_Utils::_load_module
5541144µs144µsMoo::_Utils::::CORE:subst Moo::_Utils::CORE:subst (opcode)
2742120µs204µsMoo::_Utils::::_set_loaded Moo::_Utils::_set_loaded
4143105µs105µsMoo::_Utils::::_getstash Moo::_Utils::_getstash
272194µs94µsMoo::_Utils::::CORE:match Moo::_Utils::CORE:match (opcode)
11138µs38µsMoo::_Utils::::BEGIN@209 Moo::_Utils::BEGIN@209
22132µs32µsMoo::_Utils::::CORE:regcomp Moo::_Utils::CORE:regcomp (opcode)
11130µs384µsMoo::_Utils::::_maybe_load_module Moo::_Utils::_maybe_load_module
11125µs27µsMoo::_Utils::::BEGIN@2 Moo::_Utils::BEGIN@2
11115µs31µsMoo::_Utils::::BEGIN@228 Moo::_Utils::BEGIN@228
1116µs10µsMoo::_Utils::::BEGIN@141 Moo::_Utils::BEGIN@141
1116µs12µsMoo::_Utils::::BEGIN@278 Moo::_Utils::BEGIN@278
1114µs20µsMoo::_Utils::::BEGIN@3 Moo::_Utils::BEGIN@3
1114µs8µsMoo::_Utils::::BEGIN@6 Moo::_Utils::BEGIN@6
1113µs10µsMoo::_Utils::::BEGIN@235 Moo::_Utils::BEGIN@235
1113µs3µsMoo::_Utils::::BEGIN@33 Moo::_Utils::BEGIN@33
1113µs3µsMoo::_Utils::::BEGIN@34 Moo::_Utils::BEGIN@34
1113µs10µsMoo::_Utils::::BEGIN@7 Moo::_Utils::BEGIN@7
1113µs3µsMoo::_Utils::::CORE:qr Moo::_Utils::CORE:qr (opcode)
0000s0sMoo::_Util::__GUARD__::::DESTROYMoo::_Util::__GUARD__::DESTROY
0000s0sMoo::_Utils::::__ANON__[:216] Moo::_Utils::__ANON__[:216]
0000s0sMoo::_Utils::::__ANON__[:21] Moo::_Utils::__ANON__[:21]
0000s0sMoo::_Utils::::__ANON__[:30] Moo::_Utils::__ANON__[:30]
0000s0sMoo::_Utils::::_unimport_coderefs Moo::_Utils::_unimport_coderefs
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Moo::_Utils;
2222µs229µs
# spent 27µs (25+2) within Moo::_Utils::BEGIN@2 which was called: # once (25µs+2µs) by Moo::BEGIN@6 at line 2
use strict;
# spent 27µs making 1 call to Moo::_Utils::BEGIN@2 # spent 2µs making 1 call to strict::import
3218µs236µs
# spent 20µs (4+16) within Moo::_Utils::BEGIN@3 which was called: # once (4µs+16µs) by Moo::BEGIN@6 at line 3
use warnings;
# spent 20µs making 1 call to Moo::_Utils::BEGIN@3 # spent 16µs making 1 call to warnings::import
4
5{
6217µs212µs
# spent 8µs (4+4) within Moo::_Utils::BEGIN@6 which was called: # once (4µs+4µs) by Moo::BEGIN@6 at line 6
no strict 'refs';
# spent 8µs making 1 call to Moo::_Utils::BEGIN@6 # spent 4µs making 1 call to strict::unimport
72265µs217µs
# spent 10µs (3+7) within Moo::_Utils::BEGIN@7 which was called: # once (3µs+7µs) by Moo::BEGIN@6 at line 7
no warnings 'once';
# spent 10µs making 1 call to Moo::_Utils::BEGIN@7 # spent 7µs making 1 call to warnings::unimport
8206537µs
# spent 443µs within Moo::_Utils::_getglob which was called 206 times, avg 2µs/call: # 119 times (219µs+0s) by Moo::_Utils::_install_coderef at line 227, avg 2µs/call # 74 times (186µs+0s) by Method::Generate::Constructor::current_constructor at line 109 of Method/Generate/Constructor.pm, avg 3µs/call # 9 times (31µs+0s) by Method::Generate::BuildAll::buildall_body_for at line 34 of Method/Generate/BuildAll.pm, avg 3µs/call # 2 times (4µs+0s) by Moo::Role::_install_subs at line 71 of Moo/Role.pm, avg 2µs/call # 2 times (3µs+0s) by Moo::_set_superclasses at line 153 of Moo.pm, avg 2µs/call
sub _getglob { \*{$_[0]} }
941118µs
# spent 105µs within Moo::_Utils::_getstash which was called 41 times, avg 3µs/call: # 21 times (38µs+0s) by Moo::_Utils::_check_tracked at line 247, avg 2µs/call # 17 times (61µs+0s) by Moo::make_class at line 60 of Moo.pm, avg 4µs/call # 2 times (2µs+0s) by Moo::_set_superclasses at line 156 of Moo.pm, avg 1µs/call # once (4µs+0s) by Method::Generate::Constructor::new at line 247 of Method/Generate/Constructor.pm
sub _getstash { \%{"$_[0]::"} }
10}
11
1211µs
# spent 14.5ms (8.44+6.02) within Moo::_Utils::BEGIN@12 which was called: # once (8.44ms+6.02ms) by Moo::BEGIN@6 at line 31
BEGIN {
1310s my ($su, $sn);
14 $su = $INC{'Sub/Util.pm'} && defined &Sub::Util::set_subname
15 or $sn = $INC{'Sub/Name.pm'}
1613.23ms or $su = eval { require Sub::Util; } && defined &Sub::Util::set_subname
1712µs or $sn = eval { require Sub::Name; };
18
19 *_subname = $su ? \&Sub::Util::set_subname
20 : $sn ? \&Sub::Name::subname
2112µs : sub { $_[1] };
2211µs *_CAN_SUBNAME = ($su || $sn) ? sub(){1} : sub(){0};
23
2414µs *_WORK_AROUND_BROKEN_MODULE_STATE = "$]" < 5.009 ? sub(){1} : sub(){0};
25 *_WORK_AROUND_HINT_LEAKAGE
26 = "$]" < 5.011 && !("$]" >= 5.009004 && "$]" < 5.010001)
2711µs ? sub(){1} : sub(){0};
28
2916µs13µs my $module_name_rx = qr/\A(?!\d)\w+(?:::\w+)*\z/;
# spent 3µs making 1 call to Moo::_Utils::CORE:qr
30110µs *_module_name_rx = sub(){$module_name_rx};
31149µs114.5ms}
# spent 14.5ms making 1 call to Moo::_Utils::BEGIN@12
32
33223µs13µs
# spent 3µs within Moo::_Utils::BEGIN@33 which was called: # once (3µs+0s) by Moo::BEGIN@6 at line 33
use Exporter ();
# spent 3µs making 1 call to Moo::_Utils::BEGIN@33
34114µs13µs
# spent 3µs within Moo::_Utils::BEGIN@34 which was called: # once (3µs+0s) by Moo::BEGIN@6 at line 34
BEGIN { *import = \&Exporter::import }
# spent 3µs making 1 call to Moo::_Utils::BEGIN@34
3521.16ms11.64ms
# spent 1.64ms (1.57+75µs) within Moo::_Utils::BEGIN@35 which was called: # once (1.57ms+75µs) by Moo::BEGIN@6 at line 35
use Config ();
# spent 1.64ms making 1 call to Moo::_Utils::BEGIN@35
362914µs21.24ms
# spent 1.19ms (1.08+107µs) within Moo::_Utils::BEGIN@36 which was called: # once (1.08ms+107µs) by Moo::BEGIN@6 at line 36
use Scalar::Util qw(weaken);
# spent 1.19ms making 1 call to Moo::_Utils::BEGIN@36 # spent 52µs making 1 call to Exporter::import
3721.02ms25.17ms
# spent 5.13ms (3.77+1.36) within Moo::_Utils::BEGIN@37 which was called: # once (3.77ms+1.36ms) by Moo::BEGIN@6 at line 37
use Carp qw(croak);
# spent 5.13ms making 1 call to Moo::_Utils::BEGIN@37 # spent 37µs making 1 call to Exporter::import
38
39# this should be empty, but some CPAN modules expect these
4011µsour @EXPORT = qw(
41 _install_coderef
42 _load_module
43);
44
4512µsour @EXPORT_OK = qw(
46 _check_tracked
47 _getglob
48 _getstash
49 _install_coderef
50 _install_modifier
51 _install_tracked
52 _load_module
53 _maybe_load_module
54 _module_name_rx
55 _name_coderef
56 _set_loaded
57 _unimport_coderefs
58 _linear_isa
59 _in_global_destruction
60 _in_global_destruction_code
61);
62
6310smy %EXPORTS;
64
65
# spent 5.45ms (1.58+3.86) within Moo::_Utils::_install_modifier which was called 17 times, avg 320µs/call: # 8 times (135µs+1.22ms) by Moo::around or Moo::before at line 131 of Moo.pm, avg 169µs/call # 7 times (1.42ms+2.38ms) by MooX::TypeTiny::import at line 25 of MooX/TypeTiny.pm, avg 543µs/call # 2 times (25µs+269µs) by Moo::Role::_install_single_modifier at line 393 of Moo/Role.pm, avg 147µs/call
sub _install_modifier {
66179µs my $target = $_[0];
67174µs my $type = $_[1];
68178µs my $code = $_[-1];
691734µs my @names = @_[2 .. $#_ - 1];
70
711715µs @names = @{ $names[0] }
72 if ref($names[0]) eq 'ARRAY';
73
741729µs17340µs my @tracked = _check_tracked($target, \@names);
# spent 340µs making 17 calls to Moo::_Utils::_check_tracked, avg 20µs/call
75
761714µs if ($INC{'Sub/Defer.pm'}) {
77 for my $name (@names) {
78 # CMM will throw for us if it doesn't exist
7925108µs5072µs if (my $to_modify = $target->can($name)) {
# spent 42µs making 25 calls to Sub::Defer::undefer_sub, avg 2µs/call # spent 30µs making 25 calls to UNIVERSAL::can, avg 1µs/call
80 Sub::Defer::undefer_sub($to_modify);
81 }
82 }
83 }
84
8517523µs require Class::Method::Modifiers;
861727µs173.25ms Class::Method::Modifiers::install_modifier(@_);
# spent 3.25ms making 17 calls to Class::Method::Modifiers::install_modifier, avg 191µs/call
87
88176µs if (@tracked) {
8974µs my $exports = $EXPORTS{$target};
90 weaken($exports->{$_} = $target->can($_))
91777µs4225µs for @tracked;
# spent 13µs making 21 calls to UNIVERSAL::can, avg 619ns/call # spent 12µs making 21 calls to Scalar::Util::weaken, avg 571ns/call
92 }
93
941738µs return;
95}
96
97
# spent 1.99ms (527µs+1.46) within Moo::_Utils::_install_tracked which was called 119 times, avg 17µs/call: # 102 times (413µs+1.25ms) by Moo::_install_subs at line 90 of Moo.pm, avg 16µs/call # 12 times (83µs+123µs) by Moo::Role::_install_subs at line 70 of Moo/Role.pm, avg 17µs/call # 5 times (31µs+84µs) by MooX::HandlesVia::import at line 38 of MooX/HandlesVia.pm, avg 23µs/call
sub _install_tracked {
9811921µs my ($target, $name, $code) = @_;
9911925µs my $from = caller;
100119263µs11980µs weaken($EXPORTS{$target}{$name} = $code);
# spent 80µs making 119 calls to Scalar::Util::weaken, avg 672ns/call
101119246µs1191.38ms _install_coderef("${target}::${name}", "${from}::${name}", $code);
# spent 1.38ms making 119 calls to Moo::_Utils::_install_coderef, avg 12µs/call
102}
103
104sub Moo::_Util::__GUARD__::DESTROY {
105 delete $INC{$_[0]->[0]} if @{$_[0]};
106}
107
108
# spent 6.69ms (4.06+2.63) within Moo::_Utils::_require which was called 4 times, avg 1.67ms/call: # 3 times (3.75ms+2.60ms) by Moo::_Utils::_load_module at line 131, avg 2.12ms/call # once (312µs+32µs) by Moo::_Utils::_maybe_load_module at line 157
sub _require {
10943µs my ($file) = @_;
11041µs my $guard = _WORK_AROUND_BROKEN_MODULE_STATE
111 && bless([ $file ], 'Moo::_Util::__GUARD__');
112 local %^H if _WORK_AROUND_HINT_LEAKAGE;
113112.36ms if (!eval { require $file; 1 }) {
11410s my $e = $@ || "Can't locate $file";
11510s my $me = __FILE__;
116144µs232µs $e =~ s{ at \Q$me\E line \d+\.\n\z}{};
# spent 26µs making 1 call to Moo::_Utils::CORE:regcomp # spent 6µs making 1 call to Moo::_Utils::CORE:subst
11719µs return $e;
118 }
119 pop @$guard if _WORK_AROUND_BROKEN_MODULE_STATE;
12038µs return undef;
121}
122
123
# spent 6.66ms (168µs+6.49) within Moo::_Utils::_load_module which was called 26 times, avg 256µs/call: # 24 times (155µs+4.76ms) by Moo::Role::_require_module at line 76 of Moo/Role.pm, avg 205µs/call # 2 times (13µs+1.73ms) by Moo::_set_superclasses at line 148 of Moo.pm, avg 874µs/call
sub _load_module {
1242610µs my ($module) = @_;
12526139µs2693µs croak qq{"$module" is not a module name!}
# spent 93µs making 26 calls to Moo::_Utils::CORE:match, avg 4µs/call
126 unless $module =~ _module_name_rx;
12726105µs2651µs (my $file = "$module.pm") =~ s{::}{/}g;
# spent 51µs making 26 calls to Moo::_Utils::CORE:subst, avg 2µs/call
128 return 1
1292645µs if $INC{$file};
130
13134µs36.34ms my $e = _require $file;
# spent 6.34ms making 3 calls to Moo::_Utils::_require, avg 2.12ms/call
13238µs return 1
133 if !defined $e;
134
135 croak $e
136 if $e !~ /\ACan't locate \Q$file\E /;
137
138 # can't just ->can('can') because a sub-package Foo::Bar::Baz
139 # creates a 'Baz::' key in Foo::Bar's symbol table
140 my $stash = _getstash($module)||{};
1412194µs214µs
# spent 10µs (6+4) within Moo::_Utils::BEGIN@141 which was called: # once (6µs+4µs) by Moo::BEGIN@6 at line 141
no strict 'refs';
# spent 10µs making 1 call to Moo::_Utils::BEGIN@141 # spent 4µs making 1 call to strict::unimport
142 return 1 if grep +exists &{"${module}::$_"}, grep !/::\z/, keys %$stash;
143 return 1
144 if $INC{"Moose.pm"} && Class::MOP::class_of($module)
145 or Mouse::Util->can('find_meta') && Mouse::Util::find_meta($module);
146
147 croak $e;
148}
149
150our %MAYBE_LOADED;
151
# spent 384µs (30+354) within Moo::_Utils::_maybe_load_module which was called: # once (30µs+354µs) by Method::Generate::Accessor::BEGIN@18 at line 27 of Method/Generate/Accessor.pm
sub _maybe_load_module {
15211µs my $module = $_[0];
153 return $MAYBE_LOADED{$module}
15411µs if exists $MAYBE_LOADED{$module};
155112µs13µs (my $file = "$module.pm") =~ s{::}{/}g;
# spent 3µs making 1 call to Moo::_Utils::CORE:subst
156
15713µs1344µs my $e = _require $file;
# spent 344µs making 1 call to Moo::_Utils::_require
158113µs27µs if (!defined $e) {
# spent 6µs making 1 call to Moo::_Utils::CORE:regcomp # spent 1µs making 1 call to Moo::_Utils::CORE:match
159 return $MAYBE_LOADED{$module} = 1;
160 }
161 elsif ($e !~ /\ACan't locate \Q$file\E /) {
162 warn "$module exists but failed to load with error: $e";
163 }
16415µs return $MAYBE_LOADED{$module} = 0;
165}
166
167
# spent 5.22ms (854µs+4.36) within Moo::_Utils::BEGIN@167 which was called: # once (854µs+4.36ms) by Moo::BEGIN@6 at line 207
BEGIN {
168 # optimize for newer perls
169 require mro
1701693µs if "$]" >= 5.009_005;
171
17215µs if (defined &mro::get_linear_isa) {
173 *_linear_isa = \&mro::get_linear_isa;
174 }
175 else {
176 my $e;
177 {
178 local $@;
179 eval <<'END_CODE' or $e = $@;
180sub _linear_isa($;$) {
181 my $class = shift;
182 my $type = shift || exists $Class::C3::MRO{$class} ? 'c3' : 'dfs';
183
184 if ($type eq 'c3') {
185 require Class::C3;
186 return [Class::C3::calculateMRO($class)];
187 }
188
189 my @check = ($class);
190 my @lin;
191
192 my %found;
193 while (defined(my $check = shift @check)) {
194 push @lin, $check;
195 no strict 'refs';
196 unshift @check, grep !$found{$_}++, @{"$check\::ISA"};
197 }
198
199 return \@lin;
200}
201
2021;
203END_CODE
204 }
205 die $e if defined $e;
206 }
207196µs15.22ms}
# spent 5.22ms making 1 call to Moo::_Utils::BEGIN@167
208
209
# spent 38µs within Moo::_Utils::BEGIN@209 which was called: # once (38µs+0s) by Moo::BEGIN@6 at line 219
BEGIN {
21012µs my $gd_code
211 = "$]" >= 5.014
212 ? q[${^GLOBAL_PHASE} eq 'DESTRUCT']
213 : _maybe_load_module('Devel::GlobalDestruction::XS')
214 ? 'Devel::GlobalDestruction::XS::in_global_destruction()'
215 : 'do { use B (); ${B::main_cv()} == 0 }';
21614µs *_in_global_destruction_code = sub () { $gd_code };
217129µs eval "sub _in_global_destruction () { $gd_code }; 1"
# spent 2µs executing statements in string eval
218 or die $@;
219176µs138µs}
# spent 38µs making 1 call to Moo::_Utils::BEGIN@209
220
221
# spent 204µs (120+84) within Moo::_Utils::_set_loaded which was called 27 times, avg 8µs/call: # 17 times (85µs+58µs) by Moo::import at line 44 of Moo.pm, avg 8µs/call # 7 times (20µs+15µs) by Moo::Role::apply_roles_to_object at line 378 of Moo/Role.pm, avg 5µs/call # 2 times (11µs+8µs) by Moo::Role::import at line 54 of Moo/Role.pm, avg 10µs/call # once (4µs+3µs) by Moo::Role::_build_class_with_roles at line 314 of Moo/Role.pm
sub _set_loaded {
22227154µs2784µs (my $file = "$_[0].pm") =~ s{::}{/}g;
# spent 84µs making 27 calls to Moo::_Utils::CORE:subst, avg 3µs/call
2232754µs $INC{$file} ||= $_[1];
224}
225
226
# spent 1.38ms (482µs+898µs) within Moo::_Utils::_install_coderef which was called 119 times, avg 12µs/call: # 119 times (482µs+898µs) by Moo::_Utils::_install_tracked at line 101, avg 12µs/call
sub _install_coderef {
227119180µs238898µs my ($glob, $code) = (_getglob($_[0]), _name_coderef(@_));
# spent 679µs making 119 calls to Moo::_Utils::_name_coderef, avg 6µs/call # spent 219µs making 119 calls to Moo::_Utils::_getglob, avg 2µs/call
228230µs247µs
# spent 31µs (15+16) within Moo::_Utils::BEGIN@228 which was called: # once (15µs+16µs) by Moo::BEGIN@6 at line 228
no warnings 'redefine';
# spent 31µs making 1 call to Moo::_Utils::BEGIN@228 # spent 16µs making 1 call to warnings::unimport
229119207µs if (*{$glob}{CODE}) {
230 *{$glob} = $code;
231 }
232 # perl will sometimes warn about mismatched prototypes coming from the
233 # inheritance cache, so disable them if we aren't redefining a sub
234 else {
2352151µs217µs
# spent 10µs (3+7) within Moo::_Utils::BEGIN@235 which was called: # once (3µs+7µs) by Moo::BEGIN@6 at line 235
no warnings 'prototype';
# spent 10µs making 1 call to Moo::_Utils::BEGIN@235 # spent 7µs making 1 call to warnings::unimport
23611429µs *{$glob} = $code;
237 }
238}
239
240
# spent 778µs (392+386) within Moo::_Utils::_name_coderef which was called 129 times, avg 6µs/call: # 119 times (346µs+333µs) by Moo::_Utils::_install_coderef at line 227, avg 6µs/call # 10 times (46µs+53µs) by Moo::Role::_install_does at line 401 of Moo/Role.pm, avg 10µs/call
sub _name_coderef {
24112936µs shift if @_ > 2; # three args is (target, name, sub)
242129827µs129386µs _CAN_SUBNAME ? _subname(@_) : $_[1];
# spent 386µs making 129 calls to Sub::Util::set_subname, avg 3µs/call
243}
244
245
# spent 399µs (361+38) within Moo::_Utils::_check_tracked which was called 21 times, avg 19µs/call: # 17 times (309µs+31µs) by Moo::_Utils::_install_modifier at line 74, avg 20µs/call # 4 times (52µs+7µs) by Moo::Role::_non_methods at line 152 of Moo/Role.pm, avg 15µs/call
sub _check_tracked {
2462110µs my ($target, $names) = @_;
2472125µs2138µs my $stash = _getstash($target);
# spent 38µs making 21 calls to Moo::_Utils::_getstash, avg 2µs/call
2482120µs my $exports = $EXPORTS{$target}
249 or return;
250
251177µs $names = [keys %$exports]
252 if !$names;
253 my %rev =
254 map +($exports->{$_} => $_),
25517128µs grep defined $exports->{$_},
256 keys %$exports;
257
258 return
259 grep {
26065119µs my $g = $stash->{$_};
2614842µs $g && defined &$g && exists $rev{\&$g};
262 }
263 @$names;
264}
265
266sub _unimport_coderefs {
267 my ($target) = @_;
268
269 my $stash = _getstash($target);
270 my @exports = _check_tracked($target);
271
272 foreach my $name (@exports) {
273 my $old = delete $stash->{$name};
274 my $full_name = join('::',$target,$name);
275 # Copy everything except the code slot back into place (e.g. $has)
276 foreach my $type (qw(SCALAR HASH ARRAY IO)) {
277 next unless defined(*{$old}{$type});
2782100µs218µs
# spent 12µs (6+6) within Moo::_Utils::BEGIN@278 which was called: # once (6µs+6µs) by Moo::BEGIN@6 at line 278
no strict 'refs';
# spent 12µs making 1 call to Moo::_Utils::BEGIN@278 # spent 6µs making 1 call to strict::unimport
279 *$full_name = *{$old}{$type};
280 }
281 }
282}
283
28417µs13µsif ($Config::Config{useithreads}) {
# spent 3µs making 1 call to Config::FETCH
285 require Moo::HandleMoose::_TypeMap;
286}
287
28815µs1;
 
# spent 94µs within Moo::_Utils::CORE:match which was called 27 times, avg 3µs/call: # 26 times (93µs+0s) by Moo::_Utils::_load_module at line 125, avg 4µs/call # once (1µs+0s) by Moo::_Utils::_maybe_load_module at line 158
sub Moo::_Utils::CORE:match; # opcode
# spent 3µs within Moo::_Utils::CORE:qr which was called: # once (3µs+0s) by Moo::_Utils::BEGIN@12 at line 29
sub Moo::_Utils::CORE:qr; # opcode
# spent 32µs within Moo::_Utils::CORE:regcomp which was called 2 times, avg 16µs/call: # once (26µs+0s) by Moo::_Utils::_require at line 116 # once (6µs+0s) by Moo::_Utils::_maybe_load_module at line 158
sub Moo::_Utils::CORE:regcomp; # opcode
# spent 144µs within Moo::_Utils::CORE:subst which was called 55 times, avg 3µs/call: # 27 times (84µs+0s) by Moo::_Utils::_set_loaded at line 222, avg 3µs/call # 26 times (51µs+0s) by Moo::_Utils::_load_module at line 127, avg 2µs/call # once (6µs+0s) by Moo::_Utils::_require at line 116 # once (3µs+0s) by Moo::_Utils::_maybe_load_module at line 155
sub Moo::_Utils::CORE:subst; # opcode