| Filename | /usr/local/lib/perl/5.18.2/Package/Stash/XS.pm |
| Statements | Executed 13 statements in 474µs |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 69 | 4 | 1 | 264µs | 312µs | Package::Stash::XS::get_symbol (xsub) |
| 85 | 7 | 1 | 80µs | 84µs | Package::Stash::XS::namespace (xsub) |
| 6 | 1 | 1 | 65µs | 65µs | Package::Stash::XS::new (xsub) |
| 10 | 1 | 1 | 38µs | 43µs | Package::Stash::XS::remove_glob (xsub) |
| 2 | 1 | 1 | 20µs | 38µs | Package::Stash::XS::list_all_symbols (xsub) |
| 1 | 1 | 1 | 16µs | 16µs | Package::Stash::XS::BEGIN@2 |
| 3 | 2 | 1 | 16µs | 28µs | Package::Stash::XS::has_symbol (xsub) |
| 1 | 1 | 1 | 12µs | 12µs | Package::Stash::XS::BEGIN@10 |
| 1 | 1 | 1 | 10µs | 28µs | Package::Stash::XS::BEGIN@8 |
| 1 | 1 | 1 | 9µs | 16µs | Package::Stash::XS::BEGIN@9 |
| 1 | 1 | 1 | 9µs | 10µs | Package::Stash::XS::add_symbol (xsub) |
| 1 | 1 | 1 | 5µs | 5µs | Package::Stash::XS::BEGIN@13 |
| 6 | 4 | 1 | 5µs | 5µs | Package::Stash::XS::name (xsub) |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | package Package::Stash::XS; | ||||
| 2 | # spent 16µs within Package::Stash::XS::BEGIN@2 which was called:
# once (16µs+0s) by Module::Runtime::require_module at line 4 | ||||
| 3 | 1 | 9µs | $Package::Stash::XS::AUTHORITY = 'cpan:DOY'; | ||
| 4 | 1 | 59µs | 1 | 16µs | } # spent 16µs making 1 call to Package::Stash::XS::BEGIN@2 |
| 5 | { | ||||
| 6 | 2 | 1µs | $Package::Stash::XS::VERSION = '0.28'; | ||
| 7 | } | ||||
| 8 | 2 | 31µs | 2 | 46µs | # spent 28µs (10+18) within Package::Stash::XS::BEGIN@8 which was called:
# once (10µs+18µs) by Module::Runtime::require_module at line 8 # spent 28µs making 1 call to Package::Stash::XS::BEGIN@8
# spent 18µs making 1 call to strict::import |
| 9 | 2 | 35µs | 2 | 22µs | # spent 16µs (9+6) within Package::Stash::XS::BEGIN@9 which was called:
# once (9µs+6µs) by Module::Runtime::require_module at line 9 # spent 16µs making 1 call to Package::Stash::XS::BEGIN@9
# spent 6µs making 1 call to warnings::import |
| 10 | 2 | 54µ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 | 64µ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 | 213µs | 1 | 203µs | ? ${ $Package::Stash::XS::{VERSION} } : (), # spent 203µs making 1 call to XSLoader::load |
| 22 | ); | ||||
| 23 | |||||
| 24 | |||||
| 25 | 1 | 7µs | 1; | ||
| 26 | |||||
| 27 | __END__ | ||||
# spent 10µs (9+600ns) within Package::Stash::XS::add_symbol which was called:
# once (9µs+600ns) by namespace::clean::get_class_store at line 208 of namespace/clean.pm | |||||
# spent 312µs (264+48) within Package::Stash::XS::get_symbol which was called 69 times, avg 5µs/call:
# 40 times (135µs+20µs) by namespace::clean::__ANON__[/usr/local/share/perl/5.18.2/namespace/clean.pm:121] at line 105 of namespace/clean.pm, avg 4µs/call
# 18 times (78µs+11µs) by namespace::clean::get_functions at line 218 of namespace/clean.pm, avg 5µs/call
# 10 times (46µs+17µs) by namespace::clean::__ANON__[/usr/local/share/perl/5.18.2/namespace/clean.pm:121] at line 69 of namespace/clean.pm, avg 6µs/call
# once (5µs+500ns) by namespace::clean::get_class_store at line 210 of namespace/clean.pm | |||||
# spent 28µs (16+12) within Package::Stash::XS::has_symbol which was called 3 times, avg 9µs/call:
# 2 times (9µs+6µs) by namespace::clean::import at line 170 of namespace/clean.pm, avg 8µs/call
# once (6µs+6µs) by namespace::clean::get_class_store at line 208 of namespace/clean.pm | |||||
# spent 38µs (20+18) within Package::Stash::XS::list_all_symbols which was called 2 times, avg 19µs/call:
# 2 times (20µs+18µs) by namespace::clean::get_functions at line 218 of namespace/clean.pm, avg 19µs/call | |||||
# spent 5µs within Package::Stash::XS::name which was called 6 times, avg 783ns/call:
# 2 times (2µs+0s) by Package::Stash::XS::namespace at line 69 of namespace/clean.pm, avg 850ns/call
# 2 times (2µs+0s) by Package::Stash::XS::namespace at line 218 of namespace/clean.pm, avg 850ns/call
# once (700ns+0s) by Package::Stash::XS::namespace at line 208 of namespace/clean.pm
# once (600ns+0s) by Package::Stash::XS::namespace at line 170 of namespace/clean.pm | |||||
# spent 84µs (80+5) within Package::Stash::XS::namespace which was called 85 times, avg 992ns/call:
# 40 times (20µs+0s) by Package::Stash::XS::get_symbol at line 105 of namespace/clean.pm, avg 503ns/call
# 20 times (27µs+2µs) by Package::Stash::XS::get_symbol or Package::Stash::XS::list_all_symbols at line 218 of namespace/clean.pm, avg 1µs/call
# 10 times (16µs+2µs) by Package::Stash::XS::get_symbol at line 69 of namespace/clean.pm, avg 2µs/call
# 10 times (5µs+0s) by Package::Stash::XS::remove_glob at line 109 of namespace/clean.pm, avg 500ns/call
# 2 times (6µs+700ns) by Package::Stash::XS::add_symbol or Package::Stash::XS::has_symbol at line 208 of namespace/clean.pm, avg 3µs/call
# 2 times (6µs+600ns) by Package::Stash::XS::has_symbol at line 170 of namespace/clean.pm, avg 3µs/call
# once (500ns+0s) by Package::Stash::XS::get_symbol at line 210 of namespace/clean.pm | |||||
# spent 65µs within Package::Stash::XS::new which was called 6 times, avg 11µs/call:
# 6 times (65µs+0s) by namespace::clean::stash_for at line 3 of (eval 9)[namespace/clean.pm:27], avg 11µs/call | |||||
# spent 43µs (38+5) within Package::Stash::XS::remove_glob which was called 10 times, avg 4µs/call:
# 10 times (38µs+5µs) by namespace::clean::__ANON__[/usr/local/share/perl/5.18.2/namespace/clean.pm:121] at line 109 of namespace/clean.pm, avg 4µs/call |