| Filename | /home/doy/perl5/perlbrew/perls/perl-5.10.1/lib/5.10.1/x86_64-linux/mro.pm |
| Statements | Executed 10 statements in 1.34ms |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 2423 | 2 | 1 | 24.3ms | 24.3ms | mro::get_pkg_gen (xsub) |
| 1450 | 2 | 2 | 17.3ms | 17.3ms | mro::get_linear_isa (xsub) |
| 294 | 1 | 1 | 3.65ms | 3.65ms | mro::get_mro (xsub) |
| 1 | 1 | 1 | 73µs | 91µs | mro::BEGIN@10 |
| 1 | 1 | 1 | 35µs | 100µs | mro::BEGIN@11 |
| 3 | 1 | 1 | 31µs | 31µs | mro::method_changed_in (xsub) |
| 0 | 0 | 0 | 0s | 0s | maybe::next::method |
| 0 | 0 | 0 | 0s | 0s | mro::import |
| 0 | 0 | 0 | 0s | 0s | next::can |
| 0 | 0 | 0 | 0s | 0s | next::method |
| 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 | 94µs | 2 | 109µs | # spent 91µs (73+18) within mro::BEGIN@10 which was called:
# once (73µs+18µs) by MRO::Compat::BEGIN@10 at line 10 # spent 91µs making 1 call to mro::BEGIN@10
# spent 18µs making 1 call to strict::import |
| 11 | 3 | 626µs | 2 | 166µs | # spent 100µs (35+65) within mro::BEGIN@11 which was called:
# once (35µs+65µs) by MRO::Compat::BEGIN@10 at line 11 # spent 100µs making 1 call to mro::BEGIN@11
# spent 65µ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 | 4µs | 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 | 4µs | require XSLoader; | ||
| 41 | 1 | 597µs | 1 | 569µs | XSLoader::load('mro', $VERSION); # spent 569µs making 1 call to XSLoader::load |
| 42 | |||||
| 43 | 1 | 18µs | 1; | ||
| 44 | |||||
| 45 | __END__ | ||||
# spent 17.3ms within mro::get_linear_isa which was called 1450 times, avg 12µs/call:
# 1405 times (16.4ms+0s) by Class::MOP::Class::linearized_isa at line 1039 of Class/MOP/Class.pm, avg 12µs/call
# 45 times (854µs+0s) by Moose::init_meta at line 180 of Moose.pm, avg 19µs/call | |||||
# spent 3.65ms within mro::get_mro which was called 294 times, avg 12µs/call:
# 294 times (3.65ms+0s) by Class::MOP::Class::class_precedence_list at line 1059 of Class/MOP/Class.pm, avg 12µs/call | |||||
# spent 24.3ms within mro::get_pkg_gen which was called 2423 times, avg 10µs/call:
# 2175 times (21.0ms+0s) by Class::MOP::Mixin::HasMethods::update_package_cache_flag at line 189 of Class/MOP/Mixin/HasMethods.pm, avg 10µs/call
# 248 times (3.31ms+0s) by Class::MOP::Mixin::HasMethods::_full_method_map at line 195 of Class/MOP/Mixin/HasMethods.pm, avg 13µs/call | |||||
# spent 31µs within mro::method_changed_in which was called 3 times, avg 10µs/call:
# 3 times (31µs+0s) by constant::import at line 113 of constant.pm, avg 10µs/call |