Filename | /usr/share/perl5/DBIx/Class/AccessorGroup.pm |
Statements | Executed 25943 statements in 71.9ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
6349 | 1 | 1 | 61.0ms | 117ms | get_component_class | DBIx::Class::AccessorGroup::
5 | 1 | 1 | 60µs | 135µs | set_component_class | DBIx::Class::AccessorGroup::
1 | 1 | 1 | 15µs | 23µs | BEGIN@3 | DBIx::Class::AccessorGroup::
1 | 1 | 1 | 13µs | 47µs | BEGIN@7 | DBIx::Class::AccessorGroup::
1 | 1 | 1 | 12µs | 5.59ms | BEGIN@6 | DBIx::Class::AccessorGroup::
1 | 1 | 1 | 9µs | 17µs | BEGIN@4 | DBIx::Class::AccessorGroup::
1 | 1 | 1 | 9µs | 15µs | BEGIN@21 | DBIx::Class::AccessorGroup::
1 | 1 | 1 | 8µs | 125µs | BEGIN@8 | DBIx::Class::AccessorGroup::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package DBIx::Class::AccessorGroup; | ||||
2 | |||||
3 | 2 | 38µs | 2 | 32µs | # spent 23µs (15+8) within DBIx::Class::AccessorGroup::BEGIN@3 which was called:
# once (15µs+8µs) by base::import at line 3 # spent 23µs making 1 call to DBIx::Class::AccessorGroup::BEGIN@3
# spent 8µs making 1 call to strict::import |
4 | 2 | 51µs | 2 | 25µs | # spent 17µs (9+8) within DBIx::Class::AccessorGroup::BEGIN@4 which was called:
# once (9µs+8µs) by base::import at line 4 # spent 17µs making 1 call to DBIx::Class::AccessorGroup::BEGIN@4
# spent 8µs making 1 call to warnings::import |
5 | |||||
6 | 2 | 174µs | 2 | 5.59ms | # spent 5.59ms (12µs+5.58) within DBIx::Class::AccessorGroup::BEGIN@6 which was called:
# once (12µs+5.58ms) by base::import at line 6 # spent 5.59ms making 1 call to DBIx::Class::AccessorGroup::BEGIN@6
# spent 5.58ms making 1 call to base::import, recursion: max depth 3, sum of overlapping time 5.58ms |
7 | 2 | 75µs | 2 | 80µs | # spent 47µs (13+34) within DBIx::Class::AccessorGroup::BEGIN@7 which was called:
# once (13µs+34µs) by base::import at line 7 # spent 47µs making 1 call to DBIx::Class::AccessorGroup::BEGIN@7
# spent 34µs making 1 call to Exporter::import |
8 | 2 | 198µs | 2 | 241µs | # spent 125µs (8+116) within DBIx::Class::AccessorGroup::BEGIN@8 which was called:
# once (8µs+116µs) by base::import at line 8 # spent 125µs making 1 call to DBIx::Class::AccessorGroup::BEGIN@8
# spent 116µs making 1 call to namespace::clean::import |
9 | |||||
10 | 1 | 100ns | my $successfully_loaded_components; | ||
11 | |||||
12 | # spent 117ms (61.0+55.9) within DBIx::Class::AccessorGroup::get_component_class which was called 6349 times, avg 18µs/call:
# 6349 times (61.0ms+55.9ms) by DBIx::Class::ResultSource::result_class or DBIx::Class::ResultSource::resultset_class or DBIx::Class::Storage::DBI::sql_maker_class at line 2 of (eval 167)[Class/Accessor/Grouped.pm:764], avg 18µs/call | ||||
13 | 6349 | 11.3ms | 6349 | 43.0ms | my $class = $_[0]->get_inherited($_[1]); # spent 43.0ms making 6349 calls to Class::Accessor::Grouped::get_inherited, avg 7µs/call |
14 | |||||
15 | # It's already an object, just go for it. | ||||
16 | 6349 | 19.3ms | 6349 | 4.18ms | return $class if blessed $class; # spent 4.18ms making 6349 calls to Scalar::Util::blessed, avg 658ns/call |
17 | |||||
18 | 6349 | 6.12ms | if (defined $class and ! $successfully_loaded_components->{$class} ) { | ||
19 | 176 | 238µs | 176 | 8.63ms | $_[0]->ensure_class_loaded($class); # spent 8.63ms making 176 calls to Class::C3::Componentised::ensure_class_loaded, avg 49µs/call |
20 | |||||
21 | 2 | 204µs | 2 | 21µs | # spent 15µs (9+6) within DBIx::Class::AccessorGroup::BEGIN@21 which was called:
# once (9µs+6µs) by base::import at line 21 # spent 15µs making 1 call to DBIx::Class::AccessorGroup::BEGIN@21
# spent 6µs making 1 call to strict::unimport |
22 | $successfully_loaded_components->{$class} | ||||
23 | = ${"${class}::__LOADED__BY__DBIC__CAG__COMPONENT_CLASS__"} | ||||
24 | 176 | 561µs | = do { \(my $anon = 'loaded') }; | ||
25 | 176 | 514µs | 176 | 167µs | weaken($successfully_loaded_components->{$class}); # spent 167µs making 176 calls to Scalar::Util::weaken, avg 948ns/call |
26 | } | ||||
27 | |||||
28 | 6349 | 33.1ms | $class; | ||
29 | }; | ||||
30 | |||||
31 | # spent 135µs (60+75) within DBIx::Class::AccessorGroup::set_component_class which was called 5 times, avg 27µs/call:
# 5 times (60µs+75µs) by DBIx::Class::Storage::DBI::datetime_parser_type or DBIx::Class::Storage::DBI::sql_maker_class or DBIx::Class::Storage::cursor_class at line 2 of (eval 167)[Class/Accessor/Grouped.pm:764], avg 27µs/call | ||||
32 | 5 | 55µs | 5 | 75µs | shift->set_inherited(@_); # spent 75µs making 5 calls to Class::Accessor::Grouped::set_inherited, avg 15µs/call |
33 | } | ||||
34 | |||||
35 | 1 | 3µs | 1; | ||
36 | |||||
37 | =head1 NAME | ||||
38 | |||||
39 | DBIx::Class::AccessorGroup - See Class::Accessor::Grouped | ||||
40 | |||||
41 | =head1 SYNOPSIS | ||||
42 | |||||
43 | =head1 DESCRIPTION | ||||
44 | |||||
45 | This class now exists in its own right on CPAN as Class::Accessor::Grouped | ||||
46 | |||||
47 | =head1 FURTHER QUESTIONS? | ||||
48 | |||||
49 | Check the list of L<additional DBIC resources|DBIx::Class/GETTING HELP/SUPPORT>. | ||||
50 | |||||
51 | =head1 COPYRIGHT AND LICENSE | ||||
52 | |||||
53 | This module is free software L<copyright|DBIx::Class/COPYRIGHT AND LICENSE> | ||||
54 | by the L<DBIx::Class (DBIC) authors|DBIx::Class/AUTHORS>. You can | ||||
55 | redistribute it and/or modify it under the same terms as the | ||||
56 | L<DBIx::Class library|DBIx::Class/COPYRIGHT AND LICENSE>. | ||||
57 | |||||
58 | 1 | 75µs | =cut # spent 75µs making 1 call to B::Hooks::EndOfScope::XS::__ANON__ |