Filename | /2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/5.12.3/x86_64-linux/mro.pm |
Statements | Executed 165429 statements in 773ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
82706 | 24 | 13 | 347ms | 583ms | method | next::
82706 | 1 | 1 | 237ms | 237ms | _nextcan (xsub) | mro::
17962 | 3 | 2 | 45.9ms | 45.9ms | get_pkg_gen (xsub) | mro::
456 | 5 | 5 | 1.07ms | 1.07ms | get_linear_isa (xsub) | mro::
59 | 4 | 4 | 184µs | 184µs | set_mro (xsub) | mro::
68 | 1 | 1 | 113µs | 113µs | method_changed_in (xsub) | mro::
17 | 1 | 1 | 74µs | 74µs | get_mro (xsub) | mro::
7 | 7 | 7 | 50µs | 69µs | import | mro::
1 | 1 | 1 | 10µs | 12µs | BEGIN@10 | mro::
1 | 1 | 1 | 6µs | 13µs | BEGIN@11 | mro::
0 | 0 | 0 | 0s | 0s | method | maybe::next::
0 | 0 | 0 | 0s | 0s | can | 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 | 3 | 16µs | 2 | 14µs | # spent 12µs (10+2) within mro::BEGIN@10 which was called:
# once (10µs+2µs) by Class::C3::BEGIN@12 at line 10 # spent 12µs making 1 call to mro::BEGIN@10
# spent 2µs making 1 call to strict::import |
11 | 3 | 126µs | 2 | 21µs | # spent 13µs (6+8) within mro::BEGIN@11 which was called:
# once (6µs+8µs) by Class::C3::BEGIN@12 at line 11 # spent 13µs making 1 call to mro::BEGIN@11
# spent 8µ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 | 500ns | our $VERSION = '1.02'; | ||
16 | |||||
17 | # spent 69µs (50+18) within mro::import which was called 7 times, avg 10µs/call:
# once (8µs+3µs) by DBIx::Class::SQLMaker::BEGIN@43 at line 43 of DBIx/Class/SQLMaker.pm
# once (8µs+3µs) by DBIx::Class::BEGIN@66 at line 66 of DBIx/Class.pm
# once (7µs+3µs) by DBIx::Class::Storage::DBI::SQLite::BEGIN@7 at line 7 of DBIx/Class/Storage/DBI/SQLite.pm
# once (7µs+2µs) by DBIx::Class::Storage::DBIHacks::BEGIN@14 at line 14 of DBIx/Class/Storage/DBIHacks.pm
# once (7µs+2µs) by DBIx::Class::Storage::BEGIN@7 at line 7 of DBIx/Class/Storage.pm
# once (7µs+2µs) by DBIx::Class::Componentised::BEGIN@8 at line 8 of DBIx/Class/Componentised.pm
# once (7µs+2µs) by DBIx::Class::Storage::DBI::BEGIN@8 at line 8 of DBIx/Class/Storage/DBI.pm | ||||
18 | 7 | 80µs | 7 | 18µs | mro::set_mro(scalar(caller), $_[1]) if $_[1]; # spent 18µs making 7 calls to mro::set_mro, avg 3µs/call |
19 | } | ||||
20 | |||||
21 | package # hide me from PAUSE | ||||
22 | next; | ||||
23 | |||||
24 | sub can { mro::_nextcan($_[0], 0) } | ||||
25 | |||||
26 | # spent 583ms (347+237) within next::method which was called 82706 times, avg 7µs/call:
# 63788 times (256ms+166ms) by DBIx::Class::SQLMaker::_quote at line 98 of DBIx/Class/SQLMaker.pm, avg 7µs/call
# 8019 times (34.7ms+29.3ms) by DBIx::Class::Storage::DBI::SQLite::_dbi_attrs_for_bind at line 111 of DBIx/Class/Storage/DBI/SQLite.pm, avg 8µs/call
# 6701 times (25.9ms+18.9ms) by DBIx::Class::SQLMaker::select at line 216 of DBIx/Class/SQLMaker.pm, avg 7µs/call
# 1313 times (8.56ms+6.28ms) by DBIx::Class::SQLMaker::_table at line 386 of DBIx/Class/SQLMaker.pm, avg 11µs/call
# 730 times (7.69ms+5.59ms) by DBIx::Class::Relationship::CascadeActions::update at line 74 of DBIx/Class/Relationship/CascadeActions.pm, avg 18µs/call
# 629 times (1.98ms+1.46ms) by DBIx::Class::SQLMaker::_order_by at line 364 of DBIx/Class/SQLMaker.pm, avg 5µs/call
# 449 times (5.64ms+3.54ms) by DBIx::Class::SQLMaker::insert at line 268 of DBIx/Class/SQLMaker.pm, avg 20µs/call
# 294 times (2.61ms+1.88ms) by DBIx::Class::Storage::DBI::txn_begin at line 1325 of DBIx/Class/Storage/DBI.pm, avg 15µs/call
# 294 times (1.52ms+1.31ms) by DBIx::Class::Storage::DBI::txn_commit at line 1357 of DBIx/Class/Storage/DBI.pm, avg 10µs/call
# 147 times (949µs+745µs) by DBIx::Class::Relationship::CascadeActions::update at line 57 of DBIx/Class/Relationship/CascadeActions.pm, avg 12µs/call
# 119 times (372µs+491µs) by DBIx::Class::InflateColumn::DateTime::register_column at line 113 of DBIx/Class/InflateColumn/DateTime.pm, avg 7µs/call
# 60 times (226µs+279µs) by DBIx::Class::Relationship::Accessor::register_relationship at line 18 of DBIx/Class/Relationship/Accessor.pm, avg 8µs/call
# 60 times (168µs+216µs) by DBIx::Class::Relationship::ProxyMethods::register_relationship at line 19 of DBIx/Class/Relationship/ProxyMethods.pm, avg 6µs/call
# 42 times (249µs+453µs) by DBIx::Class::Componentised::inject_base at line 74 of DBIx/Class/Componentised.pm, avg 17µs/call
# 20 times (63µs+117µs) by DBIx::Class::InflateColumn::Object::Enum::register_column at line 80 of DBIx/Class/InflateColumn/Object/Enum.pm, avg 9µs/call
# 8 times (35µs+24µs) by DBIx::Class::ResultSource::View::new at line 166 of DBIx/Class/ResultSource/View.pm, avg 7µs/call
# 6 times (27µs+23µs) by DBIx::Class::Storage::DBI::new at line 168 of DBIx/Class/Storage/DBI.pm, avg 8µs/call
# 5 times (44µs+46µs) by DBIx::Class::SQLMaker::new at line 105 of DBIx/Class/SQLMaker.pm, avg 18µs/call
# 5 times (36µs+30µs) by DBIx::Class::SQLMaker::select at line 195 of DBIx/Class/SQLMaker.pm, avg 13µs/call
# 4 times (13µs+57µs) by DBIx::Class::DynamicDefault::add_columns at line 59 of DBIx/Class/DynamicDefault.pm, avg 18µs/call
# 4 times (28µs+22µs) by DBIx::Class::Storage::DBI::SQLite::deployment_statements at line 90 of DBIx/Class/Storage/DBI/SQLite.pm, avg 13µs/call
# 4 times (19µs+21µs) by DBIx::Class::TimeStamp::add_columns at line 68 of DBIx/Class/TimeStamp.pm, avg 10µs/call
# 3 times (19µs+15µs) by DBIx::Class::Schema::Versioned::connection at line 583 of DBIx/Class/Schema/Versioned.pm, avg 11µs/call
# 2 times (8µs+9µs) by DBIx::Class::Schema::Versioned::deploy at line 272 of DBIx/Class/Schema/Versioned.pm, avg 8µs/call | ||||
27 | 82706 | 450ms | 82706 | 237ms | my $method = mro::_nextcan($_[0], 1); # spent 237ms making 82706 calls to mro::_nextcan, avg 3µs/call |
28 | 82706 | 323ms | 82706 | 129s | goto &$method; # spent 80.7s making 877 calls to DBIx::Class::Row::update, avg 92.1ms/call
# spent 34.9s making 294 calls to DBIx::Class::Storage::txn_commit, avg 119ms/call
# spent 7.98s making 2 calls to DBIx::Class::Schema::deploy, avg 3.99s/call
# spent 3.06s making 6706 calls to SQL::Abstract::select, avg 457µs/call
# spent 923ms making 63788 calls to SQL::Abstract::_quote, avg 14µs/call
# spent 414ms making 449 calls to SQL::Abstract::insert, avg 922µs/call
# spent 204ms making 1313 calls to SQL::Abstract::_table, avg 156µs/call
# spent 142ms making 8019 calls to DBIx::Class::Storage::DBI::_dbi_attrs_for_bind, avg 18µs/call
# spent 98.0ms making 629 calls to SQL::Abstract::_order_by, avg 156µs/call
# spent 44.3ms making 294 calls to DBIx::Class::Storage::txn_begin, avg 151µs/call
# spent 24.0ms making 3 calls to DBIx::Class::Schema::connection, avg 8.01ms/call
# spent 13.7ms making 134 calls to DBIx::Class::Row::register_column, avg 102µs/call
# spent 8.67ms making 4 calls to DBIx::Class::DynamicDefault::add_columns, avg 2.17ms/call
# spent 8.16ms making 4 calls to DBIx::Class::ResultSourceProxy::add_columns, avg 2.04ms/call
# spent 6.60ms making 42 calls to Class::C3::Componentised::inject_base, avg 157µs/call
# spent 842µs making 60 calls to DBIx::Class::Relationship::ProxyMethods::register_relationship, avg 14µs/call
# spent 512µs making 5 calls to DBIx::Class::InflateColumn::Object::Enum::register_column, avg 102µs/call
# spent 372µs making 5 calls to SQL::Abstract::new, avg 74µs/call
# spent 304µs making 6 calls to DBIx::Class::Storage::new, avg 51µs/call
# spent 156µs making 8 calls to DBIx::Class::ResultSource::new, avg 20µs/call
# spent 48µs making 60 calls to DBIx::Class::Relationship::Base::register_relationship, avg 803ns/call
# spent 13µs making 4 calls to DBIx::Class::Storage::DBI::deployment_statements, avg 3µs/call |
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 | 400ns | require XSLoader; | ||
41 | 1 | 201µs | 1 | 197µs | XSLoader::load('mro', $VERSION); # spent 197µs making 1 call to XSLoader::load |
42 | |||||
43 | 1 | 4µs | 1; | ||
44 | |||||
45 | __END__ | ||||
# spent 237ms within mro::_nextcan which was called 82706 times, avg 3µs/call:
# 82706 times (237ms+0s) by next::method at line 27, avg 3µs/call | |||||
# spent 1.07ms within mro::get_linear_isa which was called 456 times, avg 2µs/call:
# 288 times (711µs+0s) by Class::MOP::Class::linearized_isa at line 999 of Class/MOP/Class.pm, avg 2µs/call
# 76 times (126µs+0s) by Class::C3::Componentised::inject_base at line 203 of Class/C3/Componentised.pm, avg 2µs/call
# 50 times (84µs+0s) by Class::Accessor::Grouped::get_super_paths at line 375 of Class/Accessor/Grouped.pm, avg 2µs/call
# 35 times (82µs+0s) by DBIx::Class::Schema::CORE:sort at line 251 of DBIx/Class/Schema.pm, avg 2µs/call
# 7 times (65µs+0s) by Moose::init_meta at line 177 of Moose.pm, avg 9µs/call | |||||
# spent 74µs within mro::get_mro which was called 17 times, avg 4µs/call:
# 17 times (74µs+0s) by Class::MOP::Class::class_precedence_list at line 1019 of Class/MOP/Class.pm, avg 4µs/call | |||||
# spent 45.9ms within mro::get_pkg_gen which was called 17962 times, avg 3µs/call:
# 17553 times (45.3ms+0s) by Class::Accessor::Grouped::get_inherited at line 256 of Class/Accessor/Grouped.pm, avg 3µs/call
# 390 times (603µs+0s) by Class::MOP::Mixin::HasMethods::update_package_cache_flag at line 194 of Class/MOP/Mixin/HasMethods.pm, avg 2µs/call
# 19 times (46µs+0s) by Class::MOP::Mixin::HasMethods::_full_method_map at line 200 of Class/MOP/Mixin/HasMethods.pm, avg 2µs/call | |||||
# spent 113µs within mro::method_changed_in which was called 68 times, avg 2µs/call:
# 68 times (113µs+0s) by constant::import at line 148 of constant.pm, avg 2µs/call | |||||
# spent 184µs within mro::set_mro which was called 59 times, avg 3µs/call:
# 42 times (121µs+0s) by Class::C3::Componentised::inject_base at line 194 of Class/C3/Componentised.pm, avg 3µs/call
# 7 times (18µs+0s) by mro::import at line 18, avg 3µs/call
# 6 times (29µs+0s) by DBIx::Class::Storage::DBI::_determine_driver at line 1151 of DBIx/Class/Storage/DBI.pm, avg 5µs/call
# 4 times (15µs+0s) by Class::C3::import at line 71 of Class/C3.pm, avg 4µs/call |