| Filename | /usr/share/perl5/DBIx/Class.pm |
| Statements | Executed 769 statements in 5.20ms |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 184 | 1 | 1 | 2.41ms | 22.4ms | DBIx::Class::mk_classaccessor |
| 1 | 1 | 1 | 2.25ms | 2.29ms | DBIx::Class::BEGIN@21 |
| 1 | 1 | 1 | 2.00ms | 16.4ms | DBIx::Class::BEGIN@18 |
| 184 | 11 | 3 | 1.68ms | 24.1ms | DBIx::Class::mk_classdata |
| 1 | 1 | 1 | 398µs | 482µs | DBIx::Class::BEGIN@25 |
| 1 | 1 | 1 | 154µs | 191µs | DBIx::Class::BEGIN@24 |
| 1 | 1 | 1 | 14µs | 10.7ms | DBIx::Class::BEGIN@23 |
| 1 | 1 | 1 | 14µs | 21µs | DBIx::Class::BEGIN@3 |
| 1 | 1 | 1 | 10µs | 15µs | DBIx::Class::BEGIN@19 |
| 11 | 1 | 1 | 9µs | 9µs | DBIx::Class::component_base_class |
| 1 | 1 | 1 | 6µs | 10µs | DBIx::Class::BEGIN@4 |
| 1 | 1 | 1 | 2µs | 2µs | DBIx::Class::CORE:match (opcode) |
| 0 | 0 | 0 | 0s | 0s | DBIx::Class::MODIFY_CODE_ATTRIBUTES |
| 0 | 0 | 0 | 0s | 0s | DBIx::Class::_attr_cache |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | package DBIx::Class; | ||||
| 2 | |||||
| 3 | 2 | 34µs | 2 | 27µs | # spent 21µs (14+7) within DBIx::Class::BEGIN@3 which was called:
# once (14µs+7µs) by base::import at line 3 # spent 21µs making 1 call to DBIx::Class::BEGIN@3
# spent 7µs making 1 call to strict::import |
| 4 | 2 | 90µs | 2 | 14µs | # spent 10µs (6+4) within DBIx::Class::BEGIN@4 which was called:
# once (6µs+4µs) by base::import at line 4 # spent 10µs making 1 call to DBIx::Class::BEGIN@4
# spent 4µs making 1 call to warnings::import |
| 5 | |||||
| 6 | 1 | 300ns | our $VERSION; | ||
| 7 | # Always remember to do all digits for the version even if they're 0 | ||||
| 8 | # i.e. first release of 0.XX *must* be 0.XX000. This avoids fBSD ports | ||||
| 9 | # brain damage and presumably various other packaging systems too | ||||
| 10 | |||||
| 11 | # $VERSION declaration must stay up here, ahead of any other package | ||||
| 12 | # declarations, as to not confuse various modules attempting to determine | ||||
| 13 | # this ones version, whether that be s.c.o. or Module::Metadata, etc | ||||
| 14 | 1 | 600ns | $VERSION = '0.082810'; | ||
| 15 | |||||
| 16 | 1 | 11µs | 1 | 2µs | $VERSION = eval $VERSION if $VERSION =~ /_/; # numify for warning-free dev releases # spent 2µs making 1 call to DBIx::Class::CORE:match |
| 17 | |||||
| 18 | 2 | 163µs | 2 | 16.4ms | # spent 16.4ms (2.00+14.4) within DBIx::Class::BEGIN@18 which was called:
# once (2.00ms+14.4ms) by base::import at line 18 # spent 16.4ms making 1 call to DBIx::Class::BEGIN@18
# spent 15µs making 1 call to Exporter::import |
| 19 | 2 | 32µs | 2 | 20µs | # spent 15µs (10+5) within DBIx::Class::BEGIN@19 which was called:
# once (10µs+5µs) by base::import at line 19 # spent 15µs making 1 call to DBIx::Class::BEGIN@19
# spent 5µs making 1 call to mro::import |
| 20 | |||||
| 21 | 2 | 219µs | 1 | 2.29ms | # spent 2.29ms (2.25+42µs) within DBIx::Class::BEGIN@21 which was called:
# once (2.25ms+42µs) by base::import at line 21 # spent 2.29ms making 1 call to DBIx::Class::BEGIN@21 |
| 22 | |||||
| 23 | 2 | 189µs | 2 | 10.7ms | # spent 10.7ms (14µs+10.7) within DBIx::Class::BEGIN@23 which was called:
# once (14µs+10.7ms) by base::import at line 23 # spent 10.7ms making 1 call to DBIx::Class::BEGIN@23
# spent 10.7ms making 1 call to base::import, recursion: max depth 2, sum of overlapping time 10.7ms |
| 24 | 2 | 151µs | 1 | 191µs | # spent 191µs (154+37) within DBIx::Class::BEGIN@24 which was called:
# once (154µs+37µs) by base::import at line 24 # spent 191µs making 1 call to DBIx::Class::BEGIN@24 |
| 25 | 2 | 328µs | 1 | 482µs | # spent 482µs (398+84) within DBIx::Class::BEGIN@25 which was called:
# once (398µs+84µs) by base::import at line 25 # spent 482µs making 1 call to DBIx::Class::BEGIN@25 |
| 26 | |||||
| 27 | 1 | 13µs | 1 | 373µs | __PACKAGE__->mk_group_accessors(inherited => '_skip_namespace_frames'); # spent 373µs making 1 call to Class::Accessor::Grouped::mk_group_accessors |
| 28 | 1 | 1µs | 1 | 14µs | __PACKAGE__->_skip_namespace_frames('^DBIx::Class|^SQL::Abstract|^Try::Tiny|^Class::Accessor::Grouped|^Context::Preserve'); # spent 14µs making 1 call to DBIx::Class::_skip_namespace_frames |
| 29 | |||||
| 30 | # spent 24.1ms (1.68+22.4) within DBIx::Class::mk_classdata which was called 184 times, avg 131µs/call:
# 174 times (1.65ms+19.4ms) by DBIx::Class::ResultSourceProxy::Table::table at line 99 of DBIx/Class/ResultSourceProxy/Table.pm, avg 121µs/call
# once (6µs+387µs) by Class::C3::Componentised::ensure_class_loaded at line 12 of DBIx/Class/ResultSourceProxy/Table.pm
# once (8µs+375µs) by base::import at line 15 of DBIx/Class/Schema.pm
# once (6µs+314µs) by Class::C3::Componentised::ensure_class_loaded at line 33 of DBIx/Class/ResultSource.pm
# once (3µs+305µs) by base::import at line 17 of DBIx/Class/Schema.pm
# once (3µs+298µs) by Class::C3::Componentised::ensure_class_loaded at line 14 of DBIx/Class/ResultSourceProxy/Table.pm
# once (3µs+273µs) by base::import at line 16 of DBIx/Class/Schema.pm
# once (3µs+263µs) by base::import at line 21 of DBIx/Class/Schema.pm
# once (3µs+258µs) by base::import at line 20 of DBIx/Class/Schema.pm
# once (3µs+254µs) by base::import at line 18 of DBIx/Class/Schema.pm
# once (3µs+253µs) by base::import at line 19 of DBIx/Class/Schema.pm | ||||
| 31 | 184 | 1.62ms | 184 | 22.4ms | shift->mk_classaccessor(@_); # spent 22.4ms making 184 calls to DBIx::Class::mk_classaccessor, avg 122µs/call |
| 32 | } | ||||
| 33 | |||||
| 34 | # spent 22.4ms (2.41+20.0) within DBIx::Class::mk_classaccessor which was called 184 times, avg 122µs/call:
# 184 times (2.41ms+20.0ms) by DBIx::Class::mk_classdata at line 31, avg 122µs/call | ||||
| 35 | 184 | 80µs | my $self = shift; | ||
| 36 | 184 | 1.67ms | 184 | 20.0ms | $self->mk_group_accessors('inherited', $_[0]); # spent 20.0ms making 184 calls to Class::Accessor::Grouped::mk_group_accessors, avg 109µs/call |
| 37 | 184 | 576µs | 7 | 25µs | $self->set_inherited(@_) if @_ > 1; # spent 25µs making 7 calls to Class::Accessor::Grouped::set_inherited, avg 4µs/call |
| 38 | } | ||||
| 39 | |||||
| 40 | 11 | 18µs | # spent 9µs within DBIx::Class::component_base_class which was called 11 times, avg 845ns/call:
# 11 times (9µs+0s) by Class::C3::Componentised::load_components at line 71 of Class/C3/Componentised.pm, avg 845ns/call | ||
| 41 | |||||
| 42 | sub MODIFY_CODE_ATTRIBUTES { | ||||
| 43 | my ($class,$code,@attrs) = @_; | ||||
| 44 | $class->mk_classdata('__attr_cache' => {}) | ||||
| 45 | unless $class->can('__attr_cache'); | ||||
| 46 | $class->__attr_cache->{$code} = [@attrs]; | ||||
| 47 | return (); | ||||
| 48 | } | ||||
| 49 | |||||
| 50 | sub _attr_cache { | ||||
| 51 | my $self = shift; | ||||
| 52 | my $cache = $self->can('__attr_cache') ? $self->__attr_cache : {}; | ||||
| 53 | |||||
| 54 | return { | ||||
| 55 | %$cache, | ||||
| 56 | %{ $self->maybe::next::method || {} }, | ||||
| 57 | }; | ||||
| 58 | } | ||||
| 59 | |||||
| 60 | # *DO NOT* change this URL nor the identically named =head1 below | ||||
| 61 | # it is linked throughout the ecosystem | ||||
| 62 | sub DBIx::Class::_ENV_::HELP_URL () { | ||||
| 63 | 'http://p3rl.org/DBIx::Class#GETTING_HELP/SUPPORT' | ||||
| 64 | } | ||||
| 65 | |||||
| 66 | 1 | 6µs | 1; | ||
| 67 | |||||
| 68 | __END__ | ||||
# spent 2µs within DBIx::Class::CORE:match which was called:
# once (2µs+0s) by base::import at line 16 |