← Index
NYTProf Performance Profile   « line view »
For starman worker -M FindBin --max-requests 50 --workers 2 --user=kohadev-koha --group kohadev-koha --pid /var/run/koha/kohadev/plack.pid --daemonize --access-log /var/log/koha/kohadev/plack.log --error-log /var/log/koha/kohadev/plack-error.log -E deployment --socket /var/run/koha/kohadev/plack.sock /etc/koha/sites/kohadev/plack.psgi
  Run on Fri Jan 8 14:31:06 2016
Reported on Fri Jan 8 14:31:37 2016

Filename/usr/share/perl5/DBIx/Class/Relationship/HasMany.pm
StatementsExecuted 586 statements in 2.87ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
144144441.84ms49.4msDBIx::Class::Relationship::HasMany::::has_manyDBIx::Class::Relationship::HasMany::has_many
11114µs20µsDBIx::Class::Relationship::HasMany::::BEGIN@4DBIx::Class::Relationship::HasMany::BEGIN@4
11113µs17µsDBIx::Class::Relationship::HasMany::::BEGIN@5DBIx::Class::Relationship::HasMany::BEGIN@5
11113µs56µsDBIx::Class::Relationship::HasMany::::BEGIN@6DBIx::Class::Relationship::HasMany::BEGIN@6
11110µs145µsDBIx::Class::Relationship::HasMany::::BEGIN@7DBIx::Class::Relationship::HasMany::BEGIN@7
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package # hide from PAUSE
2 DBIx::Class::Relationship::HasMany;
3
4233µs226µs
# spent 20µs (14+6) within DBIx::Class::Relationship::HasMany::BEGIN@4 which was called: # once (14µs+6µs) by Class::C3::Componentised::ensure_class_loaded at line 4
use strict;
# spent 20µs making 1 call to DBIx::Class::Relationship::HasMany::BEGIN@4 # spent 6µs making 1 call to strict::import
5235µs221µs
# spent 17µs (13+4) within DBIx::Class::Relationship::HasMany::BEGIN@5 which was called: # once (13µs+4µs) by Class::C3::Componentised::ensure_class_loaded at line 5
use warnings;
# spent 17µs making 1 call to DBIx::Class::Relationship::HasMany::BEGIN@5 # spent 4µs making 1 call to warnings::import
6275µs298µs
# spent 56µs (13+43) within DBIx::Class::Relationship::HasMany::BEGIN@6 which was called: # once (13µs+43µs) by Class::C3::Componentised::ensure_class_loaded at line 6
use Try::Tiny;
# spent 56µs making 1 call to DBIx::Class::Relationship::HasMany::BEGIN@6 # spent 43µs making 1 call to Exporter::import
72596µs2281µs
# spent 145µs (10+136) within DBIx::Class::Relationship::HasMany::BEGIN@7 which was called: # once (10µs+136µs) by Class::C3::Componentised::ensure_class_loaded at line 7
use namespace::clean;
# spent 145µs making 1 call to DBIx::Class::Relationship::HasMany::BEGIN@7 # spent 136µs making 1 call to namespace::clean::import
8
913µsour %_pod_inherit_config =
10 (
11 class_map => { 'DBIx::Class::Relationship::HasMany' => 'DBIx::Class::Relationship' }
12 );
13
14
# spent 49.4ms (1.84+47.5) within DBIx::Class::Relationship::HasMany::has_many which was called 144 times, avg 343µs/call: # once (7µs+4.69ms) by Class::C3::Componentised::ensure_class_loaded at line 921 of Koha/Schema/Result/Borrower.pm # once (11µs+4.17ms) by Class::C3::Componentised::ensure_class_loaded at line 223 of Koha/Schema/Result/Biblio.pm # once (34µs+535µs) by Class::C3::Componentised::ensure_class_loaded at line 621 of Koha/Schema/Result/Borrower.pm # once (24µs+530µs) by Class::C3::Componentised::ensure_class_loaded at line 108 of Koha/Schema/Result/BorrowerMessagePreference.pm # once (25µs+434µs) by Class::C3::Componentised::ensure_class_loaded at line 188 of Koha/Schema/Result/Category.pm # once (23µs+427µs) by Class::C3::Componentised::ensure_class_loaded at line 78 of Koha/Schema/Result/ClassSortRule.pm # once (37µs+412µs) by Class::C3::Componentised::ensure_class_loaded at line 421 of Koha/Schema/Result/Item.pm # once (9µs+431µs) by Class::C3::Componentised::ensure_class_loaded at line 218 of Koha/Schema/Result/Category.pm # once (27µs+400µs) by Class::C3::Componentised::ensure_class_loaded at line 87 of Koha/Schema/Result/AuthType.pm # once (24µs+381µs) by Class::C3::Componentised::ensure_class_loaded at line 148 of Koha/Schema/Result/Biblio.pm # once (28µs+374µs) by Class::C3::Componentised::ensure_class_loaded at line 100 of Koha/Schema/Result/Aqcontract.pm # once (23µs+375µs) by Class::C3::Componentised::ensure_class_loaded at line 151 of Koha/Schema/Result/Course.pm # once (25µs+371µs) by Class::C3::Componentised::ensure_class_loaded at line 142 of Koha/Schema/Result/BorrowerAttributeType.pm # once (10µs+384µs) by Class::C3::Componentised::ensure_class_loaded at line 243 of Koha/Schema/Result/Branch.pm # once (70µs+323µs) by Class::C3::Componentised::ensure_class_loaded at line 424 of Koha/Schema/Result/Subscription.pm # once (27µs+362µs) by Class::C3::Componentised::ensure_class_loaded at line 169 of Koha/Schema/Result/Aqbasket.pm # once (28µs+353µs) by Class::C3::Componentised::ensure_class_loaded at line 86 of Koha/Schema/Result/Matchpoint.pm # once (24µs+358µs) by Class::C3::Componentised::ensure_class_loaded at line 93 of Koha/Schema/Result/Branchcategory.pm # once (25µs+353µs) by Class::C3::Componentised::ensure_class_loaded at line 369 of Koha/Schema/Result/Subscription.pm # once (32µs+343µs) by Class::C3::Componentised::ensure_class_loaded at line 166 of Koha/Schema/Result/Overduerule.pm # once (24µs+350µs) by Class::C3::Componentised::ensure_class_loaded at line 193 of Koha/Schema/Result/Aqbudget.pm # once (29µs+344µs) by Class::C3::Componentised::ensure_class_loaded at line 198 of Koha/Schema/Result/Branch.pm # once (24µs+347µs) by Class::C3::Componentised::ensure_class_loaded at line 103 of Koha/Schema/Result/SubscriptionFrequency.pm # once (23µs+347µs) by Class::C3::Componentised::ensure_class_loaded at line 121 of Koha/Schema/Result/AdditionalField.pm # once (25µs+344µs) by Class::C3::Componentised::ensure_class_loaded at line 230 of Koha/Schema/Result/ImportBatch.pm # once (25µs+343µs) by Class::C3::Componentised::ensure_class_loaded at line 223 of Koha/Schema/Result/SubscriptionNumberpattern.pm # once (23µs+343µs) by Class::C3::Componentised::ensure_class_loaded at line 205 of Koha/Schema/Result/ImportRecord.pm # once (24µs+340µs) by Class::C3::Componentised::ensure_class_loaded at line 247 of Koha/Schema/Result/Aqbookseller.pm # once (23µs+340µs) by Class::C3::Componentised::ensure_class_loaded at line 144 of Koha/Schema/Result/CourseItem.pm # once (23µs+339µs) by Class::C3::Componentised::ensure_class_loaded at line 61 of Koha/Schema/Result/MessageTransportType.pm # once (24µs+337µs) by Class::C3::Componentised::ensure_class_loaded at line 337 of Koha/Schema/Result/Aqorder.pm # once (24µs+335µs) by Class::C3::Componentised::ensure_class_loaded at line 145 of Koha/Schema/Result/Itemtype.pm # once (24µs+334µs) by Class::C3::Componentised::ensure_class_loaded at line 115 of Koha/Schema/Result/Aqbasketgroup.pm # once (25µs+333µs) by Class::C3::Componentised::ensure_class_loaded at line 84 of Koha/Schema/Result/Userflag.pm # once (23µs+334µs) by Class::C3::Componentised::ensure_class_loaded at line 116 of Koha/Schema/Result/Aqinvoice.pm # once (29µs+326µs) by Class::C3::Componentised::ensure_class_loaded at line 68 of Koha/Schema/Result/MarcModificationTemplate.pm # once (24µs+330µs) by Class::C3::Componentised::ensure_class_loaded at line 174 of Koha/Schema/Result/Serial.pm # once (7µs+345µs) by Class::C3::Componentised::ensure_class_loaded at line 203 of Koha/Schema/Result/Category.pm # once (23µs+324µs) by Class::C3::Componentised::ensure_class_loaded at line 92 of Koha/Schema/Result/MessageAttribute.pm # once (14µs+332µs) by Class::C3::Componentised::ensure_class_loaded at line 233 of Koha/Schema/Result/Category.pm # once (25µs+319µs) by Class::C3::Componentised::ensure_class_loaded at line 101 of Koha/Schema/Result/MarcMatcher.pm # once (26µs+318µs) by Class::C3::Componentised::ensure_class_loaded at line 451 of Koha/Schema/Result/Item.pm # once (22µs+321µs) by Class::C3::Componentised::ensure_class_loaded at line 107 of Koha/Schema/Result/Currency.pm # once (8µs+334µs) by Class::C3::Componentised::ensure_class_loaded at line 258 of Koha/Schema/Result/Branch.pm # once (27µs+314µs) by Class::C3::Componentised::ensure_class_loaded at line 171 of Koha/Schema/Result/Virtualshelve.pm # once (23µs+317µs) by Class::C3::Componentised::ensure_class_loaded at line 91 of Koha/Schema/Result/OaiSet.pm # once (22µs+316µs) by Class::C3::Componentised::ensure_class_loaded at line 103 of Koha/Schema/Result/AuthorisedValue.pm # once (24µs+296µs) by Class::C3::Componentised::ensure_class_loaded at line 117 of Koha/Schema/Result/TagsApproval.pm # once (7µs+312µs) by Class::C3::Componentised::ensure_class_loaded at line 184 of Koha/Schema/Result/Aqbasket.pm # once (11µs+300µs) by Class::C3::Componentised::ensure_class_loaded at line 936 of Koha/Schema/Result/Borrower.pm # once (11µs+298µs) by Class::C3::Componentised::ensure_class_loaded at line 150 of Koha/Schema/Result/Letter.pm # once (6µs+302µs) by Class::C3::Componentised::ensure_class_loaded at line 262 of Koha/Schema/Result/Aqbookseller.pm # once (21µs+273µs) by Class::C3::Componentised::ensure_class_loaded at line 101 of Koha/Schema/Result/Permission.pm # once (6µs+286µs) by Class::C3::Componentised::ensure_class_loaded at line 298 of Koha/Schema/Result/Biblio.pm # once (6µs+282µs) by Class::C3::Componentised::ensure_class_loaded at line 816 of Koha/Schema/Result/Borrower.pm # once (6µs+273µs) by Class::C3::Componentised::ensure_class_loaded at line 288 of Koha/Schema/Result/Branch.pm # once (7µs+269µs) by Class::C3::Componentised::ensure_class_loaded at line 213 of Koha/Schema/Result/Branch.pm # once (7µs+268µs) by Class::C3::Componentised::ensure_class_loaded at line 102 of Koha/Schema/Result/AuthType.pm # once (9µs+263µs) by Class::C3::Componentised::ensure_class_loaded at line 238 of Koha/Schema/Result/Biblio.pm # once (12µs+253µs) by Class::C3::Componentised::ensure_class_loaded at line 273 of Koha/Schema/Result/Branch.pm # once (8µs+257µs) by Class::C3::Componentised::ensure_class_loaded at line 235 of Koha/Schema/Result/ImportRecord.pm # once (7µs+253µs) by Class::C3::Componentised::ensure_class_loaded at line 122 of Koha/Schema/Result/Currency.pm # once (8µs+250µs) by Class::C3::Componentised::ensure_class_loaded at line 92 of Koha/Schema/Result/PatronList.pm # once (6µs+252µs) by Class::C3::Componentised::ensure_class_loaded at line 1026 of Koha/Schema/Result/Borrower.pm # once (20µs+236µs) by Class::C3::Componentised::ensure_class_loaded at line 696 of Koha/Schema/Result/Borrower.pm # once (6µs+250µs) by Class::C3::Componentised::ensure_class_loaded at line 1101 of Koha/Schema/Result/Borrower.pm # once (6µs+249µs) by Class::C3::Componentised::ensure_class_loaded at line 891 of Koha/Schema/Result/Borrower.pm # once (6µs+248µs) by Class::C3::Componentised::ensure_class_loaded at line 1056 of Koha/Schema/Result/Borrower.pm # once (11µs+242µs) by Class::C3::Componentised::ensure_class_loaded at line 132 of Koha/Schema/Result/MatchpointComponent.pm # once (6µs+245µs) by Class::C3::Componentised::ensure_class_loaded at line 876 of Koha/Schema/Result/Borrower.pm # once (7µs+243µs) by Class::C3::Componentised::ensure_class_loaded at line 636 of Koha/Schema/Result/Borrower.pm # once (6µs+244µs) by Class::C3::Componentised::ensure_class_loaded at line 1041 of Koha/Schema/Result/Borrower.pm # once (6µs+244µs) by Class::C3::Componentised::ensure_class_loaded at line 116 of Koha/Schema/Result/MarcMatcher.pm # once (6µs+244µs) by Class::C3::Componentised::ensure_class_loaded at line 861 of Koha/Schema/Result/Borrower.pm # once (6µs+243µs) by Class::C3::Componentised::ensure_class_loaded at line 666 of Koha/Schema/Result/Borrower.pm # once (6µs+242µs) by Class::C3::Componentised::ensure_class_loaded at line 78 of Koha/Schema/Result/MessageTransportType.pm # once (7µs+240µs) by Class::C3::Componentised::ensure_class_loaded at line 163 of Koha/Schema/Result/Biblio.pm # once (10µs+237µs) by Class::C3::Componentised::ensure_class_loaded at line 1131 of Koha/Schema/Result/Borrower.pm # once (16µs+230µs) by Class::C3::Componentised::ensure_class_loaded at line 157 of Koha/Schema/Result/BorrowerAttributeType.pm # once (8µs+239µs) by Class::C3::Componentised::ensure_class_loaded at line 228 of Koha/Schema/Result/Branch.pm # once (6µs+238µs) by Class::C3::Componentised::ensure_class_loaded at line 112 of Koha/Schema/Result/MessageTransportType.pm # once (7µs+237µs) by Class::C3::Componentised::ensure_class_loaded at line 131 of Koha/Schema/Result/Matchpoint.pm # once (6µs+237µs) by Class::C3::Componentised::ensure_class_loaded at line 483 of Koha/Schema/Result/Branch.pm # once (6µs+236µs) by Class::C3::Componentised::ensure_class_loaded at line 95 of Koha/Schema/Result/MessageTransportType.pm # once (7µs+235µs) by Class::C3::Componentised::ensure_class_loaded at line 801 of Koha/Schema/Result/Borrower.pm # once (6µs+233µs) by Class::C3::Componentised::ensure_class_loaded at line 966 of Koha/Schema/Result/Borrower.pm # once (6µs+231µs) by Class::C3::Componentised::ensure_class_loaded at line 107 of Koha/Schema/Result/MessageAttribute.pm # once (10µs+227µs) by Class::C3::Componentised::ensure_class_loaded at line 336 of Koha/Schema/Result/Biblioitem.pm # once (6µs+230µs) by Class::C3::Componentised::ensure_class_loaded at line 253 of Koha/Schema/Result/Biblio.pm # once (6µs+230µs) by Class::C3::Componentised::ensure_class_loaded at line 906 of Koha/Schema/Result/Borrower.pm # once (8µs+228µs) by Class::C3::Componentised::ensure_class_loaded at line 186 of Koha/Schema/Result/Virtualshelve.pm # once (6µs+229µs) by Class::C3::Componentised::ensure_class_loaded at line 651 of Koha/Schema/Result/Borrower.pm # once (6µs+229µs) by Class::C3::Componentised::ensure_class_loaded at line 1011 of Koha/Schema/Result/Borrower.pm # once (6µs+228µs) by Class::C3::Componentised::ensure_class_loaded at line 831 of Koha/Schema/Result/Borrower.pm # once (6µs+228µs) by Class::C3::Componentised::ensure_class_loaded at line 118 of Koha/Schema/Result/AuthorisedValue.pm # once (6µs+227µs) by Class::C3::Componentised::ensure_class_loaded at line 996 of Koha/Schema/Result/Borrower.pm # once (6µs+226µs) by Class::C3::Componentised::ensure_class_loaded at line 101 of Koha/Schema/Result/Matchpoint.pm # once (6µs+227µs) by Class::C3::Componentised::ensure_class_loaded at line 453 of Koha/Schema/Result/Branch.pm # once (7µs+226µs) by Class::C3::Componentised::ensure_class_loaded at line 303 of Koha/Schema/Result/Branch.pm # once (6µs+226µs) by Class::C3::Componentised::ensure_class_loaded at line 250 of Koha/Schema/Result/ImportRecord.pm # once (6µs+226µs) by Class::C3::Componentised::ensure_class_loaded at line 681 of Koha/Schema/Result/Borrower.pm # once (6µs+225µs) by Class::C3::Componentised::ensure_class_loaded at line 438 of Koha/Schema/Result/Branch.pm # once (7µs+223µs) by Class::C3::Componentised::ensure_class_loaded at line 268 of Koha/Schema/Result/Biblio.pm # once (12µs+217µs) by Class::C3::Componentised::ensure_class_loaded at line 741 of Koha/Schema/Result/Borrower.pm # once (6µs+223µs) by Class::C3::Componentised::ensure_class_loaded at line 307 of Koha/Schema/Result/Aqbookseller.pm # once (6µs+222µs) by Class::C3::Componentised::ensure_class_loaded at line 726 of Koha/Schema/Result/Borrower.pm # once (6µs+222µs) by Class::C3::Componentised::ensure_class_loaded at line 846 of Koha/Schema/Result/Borrower.pm # once (6µs+222µs) by Class::C3::Componentised::ensure_class_loaded at line 166 of Koha/Schema/Result/Course.pm # once (6µs+222µs) by Class::C3::Componentised::ensure_class_loaded at line 498 of Koha/Schema/Result/Branch.pm # once (6µs+221µs) by Class::C3::Componentised::ensure_class_loaded at line 1086 of Koha/Schema/Result/Borrower.pm # once (6µs+221µs) by Class::C3::Componentised::ensure_class_loaded at line 711 of Koha/Schema/Result/Borrower.pm # once (6µs+220µs) by Class::C3::Componentised::ensure_class_loaded at line 223 of Koha/Schema/Result/Aqbudget.pm # once (6µs+220µs) by Class::C3::Componentised::ensure_class_loaded at line 283 of Koha/Schema/Result/Biblio.pm # once (6µs+220µs) by Class::C3::Componentised::ensure_class_loaded at line 131 of Koha/Schema/Result/MarcMatcher.pm # once (6µs+220µs) by Class::C3::Componentised::ensure_class_loaded at line 1116 of Koha/Schema/Result/Borrower.pm # once (6µs+219µs) by Class::C3::Componentised::ensure_class_loaded at line 423 of Koha/Schema/Result/Branch.pm # once (6µs+219µs) by Class::C3::Componentised::ensure_class_loaded at line 265 of Koha/Schema/Result/ImportRecord.pm # once (6µs+217µs) by Class::C3::Componentised::ensure_class_loaded at line 756 of Koha/Schema/Result/Borrower.pm # once (6µs+217µs) by Class::C3::Componentised::ensure_class_loaded at line 363 of Koha/Schema/Result/Branch.pm # once (6µs+216µs) by Class::C3::Componentised::ensure_class_loaded at line 1071 of Koha/Schema/Result/Borrower.pm # once (6µs+216µs) by Class::C3::Componentised::ensure_class_loaded at line 129 of Koha/Schema/Result/MessageTransportType.pm # once (14µs+208µs) by Class::C3::Componentised::ensure_class_loaded at line 208 of Koha/Schema/Result/Aqbudget.pm # once (6µs+215µs) by Class::C3::Componentised::ensure_class_loaded at line 333 of Koha/Schema/Result/Branch.pm # once (6µs+215µs) by Class::C3::Componentised::ensure_class_loaded at line 596 of Koha/Schema/Result/Item.pm # once (6µs+215µs) by Class::C3::Componentised::ensure_class_loaded at line 208 of Koha/Schema/Result/Biblio.pm # once (6µs+215µs) by Class::C3::Componentised::ensure_class_loaded at line 468 of Koha/Schema/Result/Branch.pm # once (6µs+213µs) by Class::C3::Componentised::ensure_class_loaded at line 193 of Koha/Schema/Result/Biblio.pm # once (6µs+212µs) by Class::C3::Componentised::ensure_class_loaded at line 352 of Koha/Schema/Result/Aqorder.pm # once (6µs+212µs) by Class::C3::Componentised::ensure_class_loaded at line 106 of Koha/Schema/Result/OaiSet.pm # once (6µs+211µs) by Class::C3::Componentised::ensure_class_loaded at line 146 of Koha/Schema/Result/Matchpoint.pm # once (6µs+211µs) by Class::C3::Componentised::ensure_class_loaded at line 611 of Koha/Schema/Result/Item.pm # once (6µs+210µs) by Class::C3::Componentised::ensure_class_loaded at line 178 of Koha/Schema/Result/Biblio.pm # once (6µs+209µs) by Class::C3::Componentised::ensure_class_loaded at line 481 of Koha/Schema/Result/Item.pm # once (7µs+209µs) by Class::C3::Componentised::ensure_class_loaded at line 238 of Koha/Schema/Result/Aqbudget.pm # once (8µs+207µs) by Class::C3::Componentised::ensure_class_loaded at line 253 of Koha/Schema/Result/Aqbudget.pm # once (6µs+208µs) by Class::C3::Componentised::ensure_class_loaded at line 408 of Koha/Schema/Result/Branch.pm # once (6µs+209µs) by Class::C3::Componentised::ensure_class_loaded at line 348 of Koha/Schema/Result/Branch.pm # once (6µs+208µs) by Class::C3::Componentised::ensure_class_loaded at line 318 of Koha/Schema/Result/Branch.pm # once (6µs+208µs) by Class::C3::Componentised::ensure_class_loaded at line 121 of Koha/Schema/Result/OaiSet.pm # once (7µs+206µs) by Class::C3::Componentised::ensure_class_loaded at line 581 of Koha/Schema/Result/Item.pm # once (6µs+207µs) by Class::C3::Componentised::ensure_class_loaded at line 277 of Koha/Schema/Result/Aqbookseller.pm # once (6µs+206µs) by Class::C3::Componentised::ensure_class_loaded at line 378 of Koha/Schema/Result/Branch.pm # once (6µs+171µs) by Class::C3::Componentised::ensure_class_loaded at line 292 of Koha/Schema/Result/Aqbookseller.pm # once (7µs+158µs) by Class::C3::Componentised::ensure_class_loaded at line 951 of Koha/Schema/Result/Borrower.pm
sub has_many {
15144104µs my ($class, $rel, $f_class, $cond, $attrs) = @_;
16
1714461µs unless (ref $cond) {
18
19 my $pri = $class->result_source_instance->_single_pri_col_or_die;
20
21 my ($f_key,$guess);
22 if (defined $cond && length $cond) {
23 $f_key = $cond;
24 $guess = "caller specified foreign key '$f_key'";
25 } else {
26 $class =~ /([^\:]+)$/; # match is safe - $class can't be ''
27 $f_key = lc $1; # go ahead and guess; best we can do
28 $guess = "using our class name '$class' as foreign key source";
29 }
30
31# FIXME - this check needs to be moved to schema-composition time...
32# # only perform checks if the far side appears already loaded
33# if (my $f_rsrc = try { $f_class->result_source_instance } ) {
34# $class->throw_exception(
35# "No such column '$f_key' on foreign class ${f_class} ($guess)"
36# ) if !$f_rsrc->has_column($f_key);
37# }
38
39 $cond = { "foreign.${f_key}" => "self.${pri}" };
40 }
41
42144102µs my $default_cascade = ref $cond eq 'CODE' ? 0 : 1;
43
44 $class->add_relationship($rel, $f_class, $cond, {
45 accessor => 'multi',
46 join_type => 'LEFT',
47 cascade_delete => $default_cascade,
48 cascade_copy => $default_cascade,
49 is_depends_on => 0,
501441.86ms14447.5ms %{$attrs||{}}
# spent 47.5ms making 144 calls to DBIx::Class::ResultSourceProxy::add_relationship, avg 330µs/call
51 });
52}
53
5413µs1156µs1;
# spent 156µs making 1 call to B::Hooks::EndOfScope::XS::__ANON__