Filename | /home/ss5/perl5/perlbrew/perls/perl-5.22.0/lib/5.22.0/x86_64-linux/mro.pm |
Statements | Executed 8 statements in 168µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
4348 | 7 | 6 | 4.04ms | 4.04ms | get_linear_isa (xsub) | mro::
416 | 2 | 1 | 204µs | 204µs | get_pkg_gen (xsub) | mro::
136 | 1 | 1 | 52µs | 52µs | method_changed_in (xsub) | mro::
1 | 1 | 1 | 15µs | 15µs | bootstrap (xsub) | mro::
1 | 1 | 1 | 10µs | 11µs | BEGIN@10 | mro::
1 | 1 | 1 | 4µs | 7µs | BEGIN@11 | mro::
0 | 0 | 0 | 0s | 0s | method | maybe::next::
0 | 0 | 0 | 0s | 0s | import | mro::
0 | 0 | 0 | 0s | 0s | can | next::
0 | 0 | 0 | 0s | 0s | method | next::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | # mro.pm | ||||
2 | # | ||||
3 | # Copyright (c) 2007 Brandon L Black | ||||
4 | # Copyright (c) 2008,2009 Larry Wall and others | ||||
5 | # | ||||
6 | # You may distribute under the terms of either the GNU General Public | ||||
7 | # License or the Artistic License, as specified in the README file. | ||||
8 | # | ||||
9 | package mro; | ||||
10 | 2 | 15µs | 2 | 13µs | # spent 11µs (10+1) within mro::BEGIN@10 which was called:
# once (10µs+1µs) by MRO::Compat::BEGIN@10 at line 10 # spent 11µs making 1 call to mro::BEGIN@10
# spent 1µs making 1 call to strict::import |
11 | 2 | 101µs | 2 | 10µs | # spent 7µs (4+3) within mro::BEGIN@11 which was called:
# once (4µs+3µs) by MRO::Compat::BEGIN@10 at line 11 # spent 7µs making 1 call to mro::BEGIN@11
# spent 3µs making 1 call to warnings::import |
12 | |||||
13 | # mro.pm versions < 1.00 reserved for MRO::Compat | ||||
14 | # for partial back-compat to 5.[68].x | ||||
15 | 1 | 200ns | our $VERSION = '1.17'; | ||
16 | |||||
17 | sub import { | ||||
18 | mro::set_mro(scalar(caller), $_[1]) if $_[1]; | ||||
19 | } | ||||
20 | |||||
21 | package # hide me from PAUSE | ||||
22 | next; | ||||
23 | |||||
24 | sub can { mro::_nextcan($_[0], 0) } | ||||
25 | |||||
26 | sub method { | ||||
27 | my $method = mro::_nextcan($_[0], 1); | ||||
28 | goto &$method; | ||||
29 | } | ||||
30 | |||||
31 | package # hide me from PAUSE | ||||
32 | maybe::next; | ||||
33 | |||||
34 | sub method { | ||||
35 | my $method = mro::_nextcan($_[0], 0); | ||||
36 | goto &$method if defined $method; | ||||
37 | return; | ||||
38 | } | ||||
39 | |||||
40 | 1 | 200ns | require XSLoader; | ||
41 | 1 | 48µs | 1 | 40µs | XSLoader::load('mro'); # spent 40µs making 1 call to XSLoader::load |
42 | |||||
43 | 1 | 4µs | 1; | ||
44 | |||||
45 | __END__ | ||||
# spent 15µs within mro::bootstrap which was called:
# once (15µs+0s) by DynaLoader::bootstrap at line 216 of DynaLoader.pm | |||||
# spent 4.04ms within mro::get_linear_isa which was called 4348 times, avg 929ns/call:
# 4004 times (3.78ms+0s) by Role::Tiny::does_role at line 439 of Role/Tiny.pm, avg 944ns/call
# 309 times (231µs+0s) by Class::MOP::Class::linearized_isa at line 1007 of Class/MOP/Class.pm, avg 747ns/call
# 11 times (13µs+0s) by Moo::_constructor_maker_for at line 178 of Moo.pm, avg 1µs/call
# 11 times (4µs+0s) by Method::Generate::Constructor::install_delayed at line 79 of Method/Generate/Constructor.pm, avg 364ns/call
# 10 times (8µs+0s) by Method::Generate::Constructor::__ANON__[/home/ss5/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0/Method/Generate/Constructor.pm:97] at line 82 of Method/Generate/Constructor.pm, avg 750ns/call
# 2 times (1µs+0s) by Method::Generate::BuildAll::buildall_body_for at line 30 of Method/Generate/BuildAll.pm, avg 500ns/call
# once (2µs+0s) by Moose::init_meta at line 184 of Moose.pm | |||||
# spent 204µs within mro::get_pkg_gen which was called 416 times, avg 490ns/call:
# 401 times (196µs+0s) by Class::MOP::Mixin::HasMethods::update_package_cache_flag at line 209 of Class/MOP/Mixin/HasMethods.pm, avg 488ns/call
# 15 times (8µs+0s) by Class::MOP::Mixin::HasMethods::_full_method_map at line 215 of Class/MOP/Mixin/HasMethods.pm, avg 533ns/call | |||||
# spent 52µs within mro::method_changed_in which was called 136 times, avg 382ns/call:
# 136 times (52µs+0s) by constant::import at line 198 of constant.pm, avg 382ns/call |