Filename | /Users/ether/.perlbrew/libs/36.0@std/lib/perl5/Method/Generate/BuildAll.pm |
Statements | Executed 30 statements in 610µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
3 | 1 | 1 | 94µs | 141µs | buildall_body_for | Method::Generate::BuildAll::
1 | 1 | 1 | 45µs | 51µs | BEGIN@2 | Method::Generate::BuildAll::
1 | 1 | 1 | 11µs | 11µs | BEGIN@6 | Method::Generate::BuildAll::
1 | 1 | 1 | 10µs | 54µs | BEGIN@7 | Method::Generate::BuildAll::
1 | 1 | 1 | 10µs | 33µs | BEGIN@8 | Method::Generate::BuildAll::
1 | 1 | 1 | 8µs | 54µs | BEGIN@3 | Method::Generate::BuildAll::
1 | 1 | 1 | 3µs | 3µs | BEGIN@5 | Method::Generate::BuildAll::
0 | 0 | 0 | 0s | 0s | _handle_subbuild | Method::Generate::BuildAll::
0 | 0 | 0 | 0s | 0s | generate_method | Method::Generate::BuildAll::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package Method::Generate::BuildAll; | ||||
2 | 2 | 46µs | 2 | 57µs | # spent 51µs (45+6) within Method::Generate::BuildAll::BEGIN@2 which was called:
# once (45µs+6µs) by Method::Generate::Constructor::buildall_generator at line 2 # spent 51µs making 1 call to Method::Generate::BuildAll::BEGIN@2
# spent 6µs making 1 call to strict::import |
3 | 2 | 28µs | 2 | 100µs | # spent 54µs (8+46) within Method::Generate::BuildAll::BEGIN@3 which was called:
# once (8µs+46µs) by Method::Generate::Constructor::buildall_generator at line 3 # spent 54µs making 1 call to Method::Generate::BuildAll::BEGIN@3
# spent 46µs making 1 call to warnings::import |
4 | |||||
5 | 2 | 38µs | 1 | 3µs | # spent 3µs within Method::Generate::BuildAll::BEGIN@5 which was called:
# once (3µs+0s) by Method::Generate::Constructor::buildall_generator at line 5 # spent 3µs making 1 call to Method::Generate::BuildAll::BEGIN@5 |
6 | 1 | 32µs | 1 | 11µs | # spent 11µs within Method::Generate::BuildAll::BEGIN@6 which was called:
# once (11µs+0s) by Method::Generate::Constructor::buildall_generator at line 6 # spent 11µs making 1 call to Method::Generate::BuildAll::BEGIN@6 |
7 | 2 | 32µs | 2 | 98µs | # spent 54µs (10+44) within Method::Generate::BuildAll::BEGIN@7 which was called:
# once (10µs+44µs) by Method::Generate::Constructor::buildall_generator at line 7 # spent 54µs making 1 call to Method::Generate::BuildAll::BEGIN@7
# spent 44µs making 1 call to Exporter::import |
8 | 2 | 335µs | 2 | 56µs | # spent 33µs (10+23) within Method::Generate::BuildAll::BEGIN@8 which was called:
# once (10µs+23µs) by Method::Generate::Constructor::buildall_generator at line 8 # spent 33µs making 1 call to Method::Generate::BuildAll::BEGIN@8
# spent 23µs making 1 call to Exporter::import |
9 | |||||
10 | sub generate_method { | ||||
11 | my ($self, $into) = @_; | ||||
12 | quote_sub "${into}::BUILDALL" | ||||
13 | => join('', | ||||
14 | $self->_handle_subbuild($into), | ||||
15 | qq{ my \$self = shift;\n}, | ||||
16 | $self->buildall_body_for($into, '$self', '@_'), | ||||
17 | qq{ return \$self\n}, | ||||
18 | ) | ||||
19 | => {} | ||||
20 | => { no_defer => 1 } | ||||
21 | ; | ||||
22 | } | ||||
23 | |||||
24 | sub _handle_subbuild { | ||||
25 | my ($self, $into) = @_; | ||||
26 | ' if (ref($_[0]) ne '.quotify($into).') {'."\n". | ||||
27 | ' return shift->Moo::Object::BUILDALL(@_)'.";\n". | ||||
28 | ' }'."\n"; | ||||
29 | } | ||||
30 | |||||
31 | # spent 141µs (94+47) within Method::Generate::BuildAll::buildall_body_for which was called 3 times, avg 47µs/call:
# 3 times (94µs+47µs) by Method::Generate::Constructor::generate_method at line 138 of Method/Generate/Constructor.pm, avg 47µs/call | ||||
32 | 3 | 4µs | my ($self, $into, $me, $args) = @_; | ||
33 | my @builds = | ||||
34 | 9 | 8µs | 9 | 36µs | grep *{_getglob($_)}{CODE}, # spent 36µs making 9 calls to Moo::_Utils::_getglob, avg 4µs/call |
35 | map "${_}::BUILD", | ||||
36 | 3 | 63µs | 3 | 11µs | reverse @{_linear_isa($into)}; # spent 11µs making 3 calls to mro::get_linear_isa, avg 4µs/call |
37 | 3 | 20µs | ' (('.$args.')[0]->{__no_BUILD__} or ('."\n" | ||
38 | .join('', map qq{ ${me}->${_}(${args}),\n}, @builds) | ||||
39 | ." )),\n"; | ||||
40 | } | ||||
41 | |||||
42 | 1 | 4µs | 1; |