Filename | /usr/share/perl5/DBIx/Class.pm |
Statements | Executed 0 statements in 0s |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
184 | 1 | 1 | 2.40ms | 24.0ms | mk_classaccessor | DBIx::Class::
1 | 1 | 1 | 2.04ms | 2.08ms | BEGIN@21 | DBIx::Class::
1 | 1 | 1 | 1.87ms | 16.6ms | BEGIN@18 | DBIx::Class::
184 | 11 | 3 | 1.70ms | 25.7ms | mk_classdata | DBIx::Class::
1 | 1 | 1 | 392µs | 474µs | BEGIN@25 | DBIx::Class::
1 | 1 | 1 | 174µs | 211µs | BEGIN@24 | DBIx::Class::
1 | 1 | 1 | 15µs | 10.6ms | BEGIN@23 | DBIx::Class::
1 | 1 | 1 | 13µs | 20µs | BEGIN@3 | DBIx::Class::
1 | 1 | 1 | 11µs | 16µs | BEGIN@19 | DBIx::Class::
11 | 1 | 1 | 9µs | 9µs | component_base_class | DBIx::Class::
1 | 1 | 1 | 6µs | 10µs | BEGIN@4 | DBIx::Class::
1 | 1 | 1 | 2µs | 2µs | CORE:match (opcode) | DBIx::Class::
0 | 0 | 0 | 0s | 0s | MODIFY_CODE_ATTRIBUTES | DBIx::Class::
0 | 0 | 0 | 0s | 0s | _attr_cache | DBIx::Class::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package DBIx::Class; | ||||
2 | |||||
3 | 2 | 26µs | # spent 20µs (13+6) within DBIx::Class::BEGIN@3 which was called:
# once (13µs+6µs) by base::import at line 3 # spent 20µs making 1 call to DBIx::Class::BEGIN@3
# spent 6µs making 1 call to strict::import | ||
4 | 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 | 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 | $VERSION = '0.082810'; | ||||
15 | |||||
16 | 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 | 16.6ms | # spent 16.6ms (1.87+14.7) within DBIx::Class::BEGIN@18 which was called:
# once (1.87ms+14.7ms) by base::import at line 18 # spent 16.6ms making 1 call to DBIx::Class::BEGIN@18
# spent 17µs making 1 call to Exporter::import | ||
19 | 2 | 20µs | # spent 16µs (11+5) within DBIx::Class::BEGIN@19 which was called:
# once (11µs+5µs) by base::import at line 19 # spent 16µs making 1 call to DBIx::Class::BEGIN@19
# spent 5µs making 1 call to mro::import | ||
20 | |||||
21 | 1 | 2.08ms | # spent 2.08ms (2.04+44µs) within DBIx::Class::BEGIN@21 which was called:
# once (2.04ms+44µs) by base::import at line 21 # spent 2.08ms making 1 call to DBIx::Class::BEGIN@21 | ||
22 | |||||
23 | 2 | 10.6ms | # spent 10.6ms (15µs+10.6) within DBIx::Class::BEGIN@23 which was called:
# once (15µs+10.6ms) by base::import at line 23 # spent 10.6ms making 1 call to DBIx::Class::BEGIN@23
# spent 10.6ms making 1 call to base::import, recursion: max depth 2, sum of overlapping time 10.6ms | ||
24 | 1 | 211µs | # spent 211µs (174+36) within DBIx::Class::BEGIN@24 which was called:
# once (174µs+36µs) by base::import at line 24 # spent 211µs making 1 call to DBIx::Class::BEGIN@24 | ||
25 | 1 | 474µs | # spent 474µs (392+82) within DBIx::Class::BEGIN@25 which was called:
# once (392µs+82µs) by base::import at line 25 # spent 474µs making 1 call to DBIx::Class::BEGIN@25 | ||
26 | |||||
27 | 1 | 339µs | __PACKAGE__->mk_group_accessors(inherited => '_skip_namespace_frames'); # spent 339µs making 1 call to Class::Accessor::Grouped::mk_group_accessors | ||
28 | 1 | 13µs | __PACKAGE__->_skip_namespace_frames('^DBIx::Class|^SQL::Abstract|^Try::Tiny|^Class::Accessor::Grouped|^Context::Preserve'); # spent 13µs making 1 call to DBIx::Class::_skip_namespace_frames | ||
29 | |||||
30 | # spent 25.7ms (1.70+24.0) within DBIx::Class::mk_classdata which was called 184 times, avg 140µs/call:
# 174 times (1.67ms+20.5ms) by DBIx::Class::ResultSourceProxy::Table::table at line 99 of DBIx/Class/ResultSourceProxy/Table.pm, avg 127µs/call
# once (4µs+775µs) by Class::C3::Componentised::ensure_class_loaded at line 14 of DBIx/Class/ResultSourceProxy/Table.pm
# once (7µs+408µs) by base::import at line 15 of DBIx/Class/Schema.pm
# once (3µs+408µs) by base::import at line 21 of DBIx/Class/Schema.pm
# once (2µs+375µs) by Class::C3::Componentised::ensure_class_loaded at line 12 of DBIx/Class/ResultSourceProxy/Table.pm
# once (7µs+308µs) by Class::C3::Componentised::ensure_class_loaded at line 33 of DBIx/Class/ResultSource.pm
# once (3µs+285µs) by base::import at line 20 of DBIx/Class/Schema.pm
# once (3µs+272µs) by base::import at line 17 of DBIx/Class/Schema.pm
# once (3µs+268µs) by base::import at line 16 of DBIx/Class/Schema.pm
# once (3µs+257µs) by base::import at line 18 of DBIx/Class/Schema.pm
# once (3µs+157µs) by base::import at line 19 of DBIx/Class/Schema.pm | ||||
31 | 184 | 24.0ms | shift->mk_classaccessor(@_); # spent 24.0ms making 184 calls to DBIx::Class::mk_classaccessor, avg 130µs/call | ||
32 | } | ||||
33 | |||||
34 | # spent 24.0ms (2.40+21.6) within DBIx::Class::mk_classaccessor which was called 184 times, avg 130µs/call:
# 184 times (2.40ms+21.6ms) by DBIx::Class::mk_classdata at line 31, avg 130µs/call | ||||
35 | my $self = shift; | ||||
36 | 184 | 21.6ms | $self->mk_group_accessors('inherited', $_[0]); # spent 21.6ms making 184 calls to Class::Accessor::Grouped::mk_group_accessors, avg 117µs/call | ||
37 | 7 | 41µs | $self->set_inherited(@_) if @_ > 1; # spent 41µs making 7 calls to Class::Accessor::Grouped::set_inherited, avg 6µs/call | ||
38 | } | ||||
39 | |||||
40 | # spent 9µs within DBIx::Class::component_base_class which was called 11 times, avg 818ns/call:
# 11 times (9µs+0s) by Class::C3::Componentised::load_components at line 71 of Class/C3/Componentised.pm, avg 818ns/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; | ||||
67 | |||||
68 | __END__ | ||||
# spent 2µs within DBIx::Class::CORE:match which was called:
# once (2µs+0s) by base::import at line 16 |