File | /wise/base/static/lib/perl5/site_perl/5.10.0/DBIx/Class/Componentised.pm | Statements Executed | 217 | Total Time | 0.001828 seconds |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine | |
---|---|---|---|---|---|---|
9 | 1 | 1 | 0.00163 | 0.00303 | DBIx::Class::Componentised:: | inject_base |
1 | 1 | 1 | 3.1e-5 | 0.00543 | DBIx::Class::Componentised:: | load_optional_class |
0 | 0 | 0 | 0 | 0 | DBIx::Class::Componentised:: | BEGIN |
Line | Stmts. | Exclusive Time | Avg. | Code |
---|---|---|---|---|
1 | package # hide from PAUSE | |||
2 | DBIx::Class::Componentised; | |||
3 | ||||
4 | 3 | 3.0e-5 | 1.0e-5 | use strict; # spent 11µs making 1 call to strict::import |
5 | 3 | 3.1e-5 | 1.0e-5 | use warnings; # spent 25µs making 1 call to warnings::import |
6 | ||||
7 | 3 | 3.5e-5 | 1.2e-5 | use base 'Class::C3::Componentised'; # spent 10.7ms making 1 call to base::import, max recursion depth 3 |
8 | 3 | 4.8e-5 | 1.6e-5 | use Carp::Clan qw/^DBIx::Class/; # spent 117µs making 1 call to Carp::Clan::import |
9 | ||||
10 | # spent 3.03ms (1.63+1.40) within DBIx::Class::Componentised::inject_base which was called 9 times, avg 337µs/call:
# 9 times (1.63ms+1.40ms) by Class::C3::Componentised::_load_components at line 83 of /wise/base/static/lib/perl5/site_perl/5.10.0/Class/C3/Componentised.pm, avg 337µs/call | |||
11 | 197 | 0.00146 | 7.4e-6 | my ($class, $target, @to_inject) = @_; |
12 | { | |||
13 | 3 | 0.00018 | 6.1e-5 | no strict 'refs'; # spent 18µs making 1 call to strict::unimport |
14 | foreach my $to (reverse @to_inject) { | |||
15 | my @comps = qw(DigestColumns ResultSetManager Ordered UTF8Columns); | |||
16 | # Add components here that need to be loaded before Core | |||
17 | foreach my $first_comp (@comps) { | |||
18 | if ($to eq 'DBIx::Class::Core' && # spent 147µs making 20 calls to UNIVERSAL::isa, avg 7µs/call | |||
19 | $target->isa("DBIx::Class::${first_comp}")) { | |||
20 | warn "Possible incorrect order of components in ". | |||
21 | "${target}::load_components($first_comp) call: Core loaded ". | |||
22 | "before $first_comp. See the documentation for ". | |||
23 | "DBIx::Class::$first_comp for more information"; | |||
24 | } | |||
25 | } | |||
26 | unshift( @{"${target}::ISA"}, $to ) # spent 237µs making 23 calls to UNIVERSAL::isa, avg 10µs/call | |||
27 | unless ($target eq $to || $target->isa($to)); | |||
28 | } | |||
29 | } | |||
30 | ||||
31 | $class->next::method($target, @to_inject); # spent 599µs making 9 calls to next::method, avg 67µs/call | |||
32 | } | |||
33 | ||||
34 | # Returns a true value if the specified class is installed and loaded | |||
35 | # successfully, throws an exception if the class is found but not loaded | |||
36 | # successfully, and false if the class is not installed | |||
37 | # spent 5.42ms (31µs+5.39) within DBIx::Class::Componentised::load_optional_class which was called
# once (31µs+5.39ms) by DBIx::Class::Storage::DBI::_populate_dbh at line 777 of /wise/base/static/lib/perl5/site_perl/5.10.0/DBIx/Class/Storage/DBI.pm | |||
38 | 4 | 3.6e-5 | 9.0e-6 | my ($class, $f_class) = @_; |
39 | if ($class->ensure_class_found($f_class)) { # spent 336µs making 1 call to Class::C3::Componentised::ensure_class_found | |||
40 | $class->ensure_class_loaded($f_class); # spent 5.06ms making 1 call to Class::C3::Componentised::ensure_class_loaded | |||
41 | return 1; | |||
42 | } else { | |||
43 | return 0; | |||
44 | } | |||
45 | } | |||
46 | ||||
47 | 1 | 3.0e-6 | 3.0e-6 | 1; |