| Filename | /usr/share/perl5/DBIx/Class.pm |
| Statements | Executed 769 statements in 5.45ms |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 184 | 1 | 1 | 2.61ms | 28.8ms | DBIx::Class::mk_classaccessor |
| 1 | 1 | 1 | 2.29ms | 2.34ms | DBIx::Class::BEGIN@21 |
| 1 | 1 | 1 | 2.03ms | 16.2ms | DBIx::Class::BEGIN@18 |
| 184 | 11 | 3 | 1.71ms | 30.5ms | DBIx::Class::mk_classdata |
| 1 | 1 | 1 | 405µs | 483µs | DBIx::Class::BEGIN@25 |
| 1 | 1 | 1 | 220µs | 277µs | DBIx::Class::BEGIN@24 |
| 1 | 1 | 1 | 14µs | 21µs | DBIx::Class::BEGIN@3 |
| 1 | 1 | 1 | 13µs | 10.5ms | DBIx::Class::BEGIN@23 |
| 1 | 1 | 1 | 11µs | 17µs | DBIx::Class::BEGIN@19 |
| 11 | 1 | 1 | 8µs | 8µs | DBIx::Class::component_base_class |
| 1 | 1 | 1 | 7µs | 11µ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 | 28µ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 | 82µs | 2 | 15µs | # spent 11µs (7+4) within DBIx::Class::BEGIN@4 which was called:
# once (7µs+4µs) by base::import at line 4 # spent 11µs making 1 call to DBIx::Class::BEGIN@4
# spent 4µs making 1 call to warnings::import |
| 5 | |||||
| 6 | 1 | 200ns | 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 | 400ns | $VERSION = '0.082810'; | ||
| 15 | |||||
| 16 | 1 | 9µ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 | 158µs | 2 | 16.2ms | # spent 16.2ms (2.03+14.2) within DBIx::Class::BEGIN@18 which was called:
# once (2.03ms+14.2ms) by base::import at line 18 # spent 16.2ms making 1 call to DBIx::Class::BEGIN@18
# spent 17µs making 1 call to Exporter::import |
| 19 | 2 | 35µs | 2 | 22µs | # spent 17µs (11+5) within DBIx::Class::BEGIN@19 which was called:
# once (11µs+5µs) by base::import at line 19 # spent 17µs making 1 call to DBIx::Class::BEGIN@19
# spent 5µs making 1 call to mro::import |
| 20 | |||||
| 21 | 2 | 198µs | 1 | 2.34ms | # spent 2.34ms (2.29+45µs) within DBIx::Class::BEGIN@21 which was called:
# once (2.29ms+45µs) by base::import at line 21 # spent 2.34ms making 1 call to DBIx::Class::BEGIN@21 |
| 22 | |||||
| 23 | 2 | 179µs | 2 | 10.5ms | # spent 10.5ms (13µs+10.5) within DBIx::Class::BEGIN@23 which was called:
# once (13µs+10.5ms) by base::import at line 23 # spent 10.5ms making 1 call to DBIx::Class::BEGIN@23
# spent 10.5ms making 1 call to base::import, recursion: max depth 2, sum of overlapping time 10.5ms |
| 24 | 2 | 213µs | 1 | 277µs | # spent 277µs (220+57) within DBIx::Class::BEGIN@24 which was called:
# once (220µs+57µs) by base::import at line 24 # spent 277µs making 1 call to DBIx::Class::BEGIN@24 |
| 25 | 2 | 326µs | 1 | 483µs | # spent 483µs (405+78) within DBIx::Class::BEGIN@25 which was called:
# once (405µs+78µs) by base::import at line 25 # spent 483µs making 1 call to DBIx::Class::BEGIN@25 |
| 26 | |||||
| 27 | 1 | 10µs | 1 | 391µs | __PACKAGE__->mk_group_accessors(inherited => '_skip_namespace_frames'); # spent 391µs making 1 call to Class::Accessor::Grouped::mk_group_accessors |
| 28 | 1 | 1µs | 1 | 21µs | __PACKAGE__->_skip_namespace_frames('^DBIx::Class|^SQL::Abstract|^Try::Tiny|^Class::Accessor::Grouped|^Context::Preserve'); # spent 21µs making 1 call to DBIx::Class::_skip_namespace_frames |
| 29 | |||||
| 30 | # spent 30.5ms (1.71+28.8) within DBIx::Class::mk_classdata which was called 184 times, avg 166µs/call:
# 174 times (1.67ms+25.6ms) by DBIx::Class::ResultSourceProxy::Table::table at line 99 of DBIx/Class/ResultSourceProxy/Table.pm, avg 157µs/call
# once (5µs+490µs) by Class::C3::Componentised::ensure_class_loaded at line 12 of DBIx/Class/ResultSourceProxy/Table.pm
# once (8µs+432µs) by base::import at line 15 of DBIx/Class/Schema.pm
# once (7µs+357µs) by Class::C3::Componentised::ensure_class_loaded at line 33 of DBIx/Class/ResultSource.pm
# once (3µs+308µs) by Class::C3::Componentised::ensure_class_loaded at line 14 of DBIx/Class/ResultSourceProxy/Table.pm
# once (3µs+283µs) by base::import at line 16 of DBIx/Class/Schema.pm
# once (3µs+272µs) by base::import at line 17 of DBIx/Class/Schema.pm
# once (3µs+261µs) by base::import at line 21 of DBIx/Class/Schema.pm
# once (3µs+257µs) by base::import at line 20 of DBIx/Class/Schema.pm
# once (3µs+256µs) by base::import at line 19 of DBIx/Class/Schema.pm
# once (3µs+254µs) by base::import at line 18 of DBIx/Class/Schema.pm | ||||
| 31 | 184 | 1.70ms | 184 | 28.8ms | shift->mk_classaccessor(@_); # spent 28.8ms making 184 calls to DBIx::Class::mk_classaccessor, avg 157µs/call |
| 32 | } | ||||
| 33 | |||||
| 34 | # spent 28.8ms (2.61+26.2) within DBIx::Class::mk_classaccessor which was called 184 times, avg 157µs/call:
# 184 times (2.61ms+26.2ms) by DBIx::Class::mk_classdata at line 31, avg 157µs/call | ||||
| 35 | 184 | 91µs | my $self = shift; | ||
| 36 | 184 | 1.78ms | 184 | 26.2ms | $self->mk_group_accessors('inherited', $_[0]); # spent 26.2ms making 184 calls to Class::Accessor::Grouped::mk_group_accessors, avg 142µs/call |
| 37 | 184 | 598µs | 7 | 29µs | $self->set_inherited(@_) if @_ > 1; # spent 29µs making 7 calls to Class::Accessor::Grouped::set_inherited, avg 4µs/call |
| 38 | } | ||||
| 39 | |||||
| 40 | 11 | 17µs | # spent 8µs within DBIx::Class::component_base_class which was called 11 times, avg 764ns/call:
# 11 times (8µs+0s) by Class::C3::Componentised::load_components at line 71 of Class/C3/Componentised.pm, avg 764ns/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 | 10µ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 |