Filename | /usr/lib/perl/5.10/mro.pm |
Statements | Executed 10 statements in 519µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
358 | 1 | 1 | 862µs | 862µs | method_changed_in (xsub) | mro::
1 | 1 | 1 | 28µs | 38µs | BEGIN@10 | mro::
3 | 1 | 1 | 14µs | 14µs | set_mro (xsub) | mro::
1 | 1 | 1 | 13µs | 34µ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 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 | 3 | 49µs | 2 | 48µs | # spent 38µs (28+10) within mro::BEGIN@10 which was called:
# once (28µs+10µs) by Modern::Perl::BEGIN@20 at line 10 # spent 38µs making 1 call to mro::BEGIN@10
# spent 10µs making 1 call to strict::import |
11 | 3 | 252µs | 2 | 55µs | # spent 34µs (13+21) within mro::BEGIN@11 which was called:
# once (13µs+21µs) by Modern::Perl::BEGIN@20 at line 11 # spent 34µs making 1 call to mro::BEGIN@11
# spent 21µ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 | 700ns | our $VERSION = '1.01'; | ||
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 | 600ns | require XSLoader; | ||
41 | 1 | 210µs | 1 | 203µs | XSLoader::load('mro', $VERSION); # spent 203µs making 1 call to XSLoader::load |
42 | |||||
43 | 1 | 7µs | 1; | ||
44 | |||||
45 | __END__ | ||||
# spent 862µs within mro::method_changed_in which was called 358 times, avg 2µs/call:
# 358 times (862µs+0s) by constant::import at line 113 of constant.pm, avg 2µs/call | |||||
# spent 14µs within mro::set_mro which was called 3 times, avg 4µs/call:
# 3 times (14µs+0s) by Modern::Perl::import at line 27 of Modern/Perl.pm, avg 4µs/call |