Filename | /opt/perl-5.18.1/lib/site_perl/5.18.1/darwin-thread-multi-2level/Package/Stash/XS.pm |
Statements | Executed 13 statements in 548µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
390 | 1 | 1 | 5.27ms | 5.84ms | add_symbol (xsub) | Package::Stash::XS::
626 | 3 | 2 | 2.22ms | 2.58ms | get_symbol (xsub) | Package::Stash::XS::
1284 | 9 | 2 | 1.61ms | 1.72ms | namespace (xsub) | Package::Stash::XS::
178 | 2 | 2 | 980µs | 980µs | new (xsub) | Package::Stash::XS::
182 | 3 | 2 | 682µs | 1.35ms | has_symbol (xsub) | Package::Stash::XS::
78 | 1 | 1 | 453µs | 854µs | get_or_add_symbol (xsub) | Package::Stash::XS::
568 | 4 | 2 | 389µs | 389µs | name (xsub) | Package::Stash::XS::
8 | 2 | 2 | 52µs | 57µs | list_all_symbols (xsub) | Package::Stash::XS::
1 | 1 | 1 | 12µs | 12µs | BEGIN@10 | Package::Stash::XS::
1 | 1 | 1 | 11µs | 11µs | BEGIN@2 | Package::Stash::XS::
1 | 1 | 1 | 9µs | 14µs | BEGIN@9 | Package::Stash::XS::
1 | 1 | 1 | 8µs | 24µs | BEGIN@8 | Package::Stash::XS::
1 | 1 | 1 | 5µs | 5µs | BEGIN@13 | Package::Stash::XS::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package Package::Stash::XS; | ||||
2 | # spent 11µs within Package::Stash::XS::BEGIN@2 which was called:
# once (11µs+0s) by Module::Runtime::require_module at line 4 | ||||
3 | 1 | 6µs | $Package::Stash::XS::AUTHORITY = 'cpan:DOY'; | ||
4 | 1 | 47µs | 1 | 11µs | } # spent 11µs making 1 call to Package::Stash::XS::BEGIN@2 |
5 | { | ||||
6 | 2 | 1µs | $Package::Stash::XS::VERSION = '0.28'; | ||
7 | } | ||||
8 | 2 | 30µs | 2 | 39µs | # spent 24µs (8+16) within Package::Stash::XS::BEGIN@8 which was called:
# once (8µs+16µs) by Module::Runtime::require_module at line 8 # spent 24µs making 1 call to Package::Stash::XS::BEGIN@8
# spent 16µs making 1 call to strict::import |
9 | 2 | 28µs | 2 | 18µs | # spent 14µs (9+5) within Package::Stash::XS::BEGIN@9 which was called:
# once (9µs+5µs) by Module::Runtime::require_module at line 9 # spent 14µs making 1 call to Package::Stash::XS::BEGIN@9
# spent 5µs making 1 call to warnings::import |
10 | 2 | 61µs | 1 | 12µs | # spent 12µs within Package::Stash::XS::BEGIN@10 which was called:
# once (12µs+0s) by Module::Runtime::require_module at line 10 # spent 12µs making 1 call to Package::Stash::XS::BEGIN@10 |
11 | # ABSTRACT: faster and more correct implementation of the Package::Stash API | ||||
12 | |||||
13 | 2 | 75µs | 1 | 5µs | # spent 5µs within Package::Stash::XS::BEGIN@13 which was called:
# once (5µs+0s) by Module::Runtime::require_module at line 13 # spent 5µs making 1 call to Package::Stash::XS::BEGIN@13 |
14 | XSLoader::load( | ||||
15 | __PACKAGE__, | ||||
16 | # we need to be careful not to touch $VERSION at compile time, otherwise | ||||
17 | # DynaLoader will assume it's set and check against it, which will cause | ||||
18 | # fail when being run in the checkout without dzil having set the actual | ||||
19 | # $VERSION | ||||
20 | exists $Package::Stash::XS::{VERSION} | ||||
21 | 1 | 293µs | 1 | 283µs | ? ${ $Package::Stash::XS::{VERSION} } : (), # spent 283µs making 1 call to XSLoader::load |
22 | ); | ||||
23 | |||||
24 | |||||
25 | 1 | 7µs | 1; | ||
26 | |||||
27 | __END__ | ||||
# spent 5.84ms (5.27+571µs) within Package::Stash::XS::add_symbol which was called 390 times, avg 15µs/call:
# 390 times (5.27ms+571µs) by Class::MOP::Package::add_package_symbol at line 221 of Class/MOP/Package.pm, avg 15µs/call | |||||
# spent 854µs (453+401) within Package::Stash::XS::get_or_add_symbol which was called 78 times, avg 11µs/call:
# 78 times (453µs+401µs) by Class::MOP::Package::get_or_add_package_symbol at line 243 of Class/MOP/Package.pm, avg 11µs/call | |||||
# spent 2.58ms (2.22+355µs) within Package::Stash::XS::get_symbol which was called 626 times, avg 4µs/call:
# 522 times (1.89ms+308µs) by Class::MOP::Package::get_package_symbol at line 238 of Class/MOP/Package.pm, avg 4µs/call
# 52 times (176µs+26µs) by Class::Load::PP::_is_class_loaded at line 39 of Class/Load/PP.pm, avg 4µs/call
# 52 times (156µs+21µs) by Class::Load::PP::_is_class_loaded at line 49 of Class/Load/PP.pm, avg 3µs/call | |||||
# spent 1.35ms (682µs+665µs) within Package::Stash::XS::has_symbol which was called 182 times, avg 7µs/call:
# 108 times (431µs+613µs) by Class::Load::PP::_is_class_loaded at line 38 of Class/Load/PP.pm, avg 10µs/call
# 56 times (182µs+27µs) by Class::Load::PP::_is_class_loaded at line 49 of Class/Load/PP.pm, avg 4µs/call
# 18 times (70µs+25µs) by Class::MOP::Package::has_package_symbol at line 233 of Class/MOP/Package.pm, avg 5µs/call | |||||
# spent 57µs (52+5) within Package::Stash::XS::list_all_symbols which was called 8 times, avg 7µs/call:
# 4 times (30µs+3µs) by Class::MOP::Package::list_all_package_symbols at line 253 of Class/MOP/Package.pm, avg 8µs/call
# 4 times (22µs+2µs) by Class::Load::PP::_is_class_loaded at line 54 of Class/Load/PP.pm, avg 6µs/call | |||||
# spent 389µs within Package::Stash::XS::name which was called 568 times, avg 685ns/call:
# 390 times (277µs+0s) by Package::Stash::XS::add_symbol at line 221 of Class/MOP/Package.pm, avg 710ns/call
# 108 times (67µs+0s) by Package::Stash::XS::namespace at line 38 of Class/Load/PP.pm, avg 624ns/call
# 68 times (43µs+0s) by Package::Stash::XS::namespace at line 243 of Class/MOP/Package.pm, avg 638ns/call
# 2 times (1µs+0s) by Package::Stash::XS::namespace at line 233 of Class/MOP/Package.pm, avg 700ns/call | |||||
# spent 1.72ms (1.61+112µs) within Package::Stash::XS::namespace which was called 1284 times, avg 1µs/call:
# 522 times (308µs+0s) by Package::Stash::XS::get_symbol at line 238 of Class/MOP/Package.pm, avg 590ns/call
# 390 times (294µs+0s) by Package::Stash::XS::add_symbol at line 221 of Class/MOP/Package.pm, avg 754ns/call
# 108 times (546µs+67µs) by Package::Stash::XS::has_symbol at line 38 of Class/Load/PP.pm, avg 6µs/call
# 108 times (48µs+0s) by Package::Stash::XS::get_symbol or Package::Stash::XS::has_symbol at line 49 of Class/Load/PP.pm, avg 445ns/call
# 78 times (357µs+43µs) by Package::Stash::XS::get_or_add_symbol at line 243 of Class/MOP/Package.pm, avg 5µs/call
# 52 times (26µs+0s) by Package::Stash::XS::get_symbol at line 39 of Class/Load/PP.pm, avg 500ns/call
# 18 times (23µs+1µs) by Package::Stash::XS::has_symbol at line 233 of Class/MOP/Package.pm, avg 1µs/call
# 4 times (3µs+0s) by Package::Stash::XS::list_all_symbols at line 253 of Class/MOP/Package.pm, avg 750ns/call
# 4 times (2µs+0s) by Package::Stash::XS::list_all_symbols at line 54 of Class/Load/PP.pm, avg 425ns/call | |||||
# spent 980µs within Package::Stash::XS::new which was called 178 times, avg 6µs/call:
# 108 times (538µs+0s) by Class::Load::PP::_is_class_loaded at line 36 of Class/Load/PP.pm, avg 5µs/call
# 70 times (442µs+0s) by Class::MOP::Package::_package_stash at line 209 of Class/MOP/Package.pm, avg 6µs/call |