Filename | /Users/dde/perl5/perlbrew/perls/5.18.0t/lib/site_perl/5.18.0/darwin-thread-multi-2level/Package/Stash/XS.pm |
Statements | Executed 13 statements in 388µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
932 | 3 | 3 | 15.6ms | 16.5ms | add_symbol (xsub) | Package::Stash::XS::
1489 | 5 | 2 | 10.8ms | 11.5ms | get_symbol (xsub) | Package::Stash::XS::
2980 | 15 | 3 | 1.72ms | 1.77ms | namespace (xsub) | Package::Stash::XS::
365 | 3 | 2 | 868µs | 1.02ms | has_symbol (xsub) | Package::Stash::XS::
151 | 1 | 1 | 538µs | 926µs | get_or_add_symbol (xsub) | Package::Stash::XS::
108 | 7 | 3 | 473µs | 473µs | new (xsub) | Package::Stash::XS::
1039 | 10 | 3 | 462µs | 462µs | name (xsub) | Package::Stash::XS::
25 | 2 | 2 | 151µs | 168µs | list_all_symbols (xsub) | Package::Stash::XS::
16 | 1 | 1 | 38µs | 43µs | remove_glob (xsub) | Package::Stash::XS::
2 | 2 | 2 | 26µs | 37µs | get_all_symbols (xsub) | Package::Stash::XS::
1 | 1 | 1 | 8µs | 8µs | BEGIN@10 | Package::Stash::XS::
1 | 1 | 1 | 8µs | 8µs | BEGIN@2 | Package::Stash::XS::
1 | 1 | 1 | 6µs | 16µs | BEGIN@8 | Package::Stash::XS::
1 | 1 | 1 | 6µs | 9µs | BEGIN@9 | Package::Stash::XS::
1 | 1 | 1 | 4µs | 4µs | BEGIN@13 | Package::Stash::XS::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package Package::Stash::XS; | ||||
2 | # spent 8µs within Package::Stash::XS::BEGIN@2 which was called:
# once (8µs+0s) by Module::Runtime::require_module at line 4 | ||||
3 | 1 | 4µs | $Package::Stash::XS::AUTHORITY = 'cpan:DOY'; | ||
4 | 1 | 28µs | 1 | 8µs | } # spent 8µs making 1 call to Package::Stash::XS::BEGIN@2 |
5 | { | ||||
6 | 2 | 700ns | $Package::Stash::XS::VERSION = '0.28'; | ||
7 | } | ||||
8 | 2 | 19µs | 2 | 26µs | # spent 16µs (6+10) within Package::Stash::XS::BEGIN@8 which was called:
# once (6µs+10µs) by Module::Runtime::require_module at line 8 # spent 16µs making 1 call to Package::Stash::XS::BEGIN@8
# spent 10µs making 1 call to strict::import |
9 | 2 | 21µs | 2 | 12µs | # spent 9µs (6+3) within Package::Stash::XS::BEGIN@9 which was called:
# once (6µs+3µs) by Module::Runtime::require_module at line 9 # spent 9µs making 1 call to Package::Stash::XS::BEGIN@9
# spent 3µs making 1 call to warnings::import |
10 | 2 | 38µs | 1 | 8µs | # spent 8µs within Package::Stash::XS::BEGIN@10 which was called:
# once (8µs+0s) by Module::Runtime::require_module at line 10 # spent 8µ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 | 47µs | 1 | 4µs | # spent 4µs within Package::Stash::XS::BEGIN@13 which was called:
# once (4µs+0s) by Module::Runtime::require_module at line 13 # spent 4µ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 | 226µs | 1 | 219µs | ? ${ $Package::Stash::XS::{VERSION} } : (), # spent 219µs making 1 call to XSLoader::load |
22 | ); | ||||
23 | |||||
24 | |||||
25 | 1 | 4µs | 1; | ||
26 | |||||
27 | __END__ | ||||
# spent 16.5ms (15.6+923µs) within Package::Stash::XS::add_symbol which was called 932 times, avg 18µs/call:
# 919 times (15.5ms+910µs) by Class::MOP::Package::add_package_symbol at line 221 of Class/MOP/Package.pm, avg 18µs/call
# 12 times (95µs+13µs) by Package::Stash::BEGIN@17 at line 31 of Package/Stash.pm, avg 9µs/call
# once (4µs+400ns) by namespace::clean::get_class_store at line 363 of namespace/clean.pm | |||||
# spent 37µs (26+12) within Package::Stash::XS::get_all_symbols which was called 2 times, avg 19µs/call:
# once (16µs+11µs) by Package::Stash::BEGIN@17 at line 29 of Package/Stash.pm
# once (10µs+400ns) by Class::MOP::Package::get_all_package_symbols at line 258 of Class/MOP/Package.pm | |||||
# spent 926µs (538+388) within Package::Stash::XS::get_or_add_symbol which was called 151 times, avg 6µs/call:
# 151 times (538µs+388µs) by Class::MOP::Package::get_or_add_package_symbol at line 243 of Class/MOP/Package.pm, avg 6µs/call | |||||
# spent 11.5ms (10.8+679µs) within Package::Stash::XS::get_symbol which was called 1489 times, avg 8µs/call:
# 1406 times (10.6ms+646µs) by Class::MOP::Package::get_package_symbol at line 238 of Class/MOP/Package.pm, avg 8µs/call
# 64 times (131µs+19µs) by namespace::clean::__ANON__[/Users/dde/perl5/perlbrew/perls/5.18.0t/lib/site_perl/5.18.0/namespace/clean.pm:252] at line 237 of namespace/clean.pm, avg 2µs/call
# 16 times (40µs+13µs) by namespace::clean::__ANON__[/Users/dde/perl5/perlbrew/perls/5.18.0t/lib/site_perl/5.18.0/namespace/clean.pm:252] at line 213 of namespace/clean.pm, avg 3µs/call
# 2 times (6µs+900ns) by namespace::clean::get_functions at line 381 of namespace/clean.pm, avg 3µs/call
# once (3µs+300ns) by namespace::clean::get_class_store at line 365 of namespace/clean.pm | |||||
# spent 1.02ms (868µs+156µs) within Package::Stash::XS::has_symbol which was called 365 times, avg 3µs/call:
# 362 times (859µs+148µs) by Class::MOP::Package::has_package_symbol at line 233 of Class/MOP/Package.pm, avg 3µs/call
# 2 times (6µs+4µs) by namespace::clean::import at line 308 of namespace/clean.pm, avg 5µs/call
# once (4µs+4µs) by namespace::clean::get_class_store at line 363 of namespace/clean.pm | |||||
# spent 168µs (151+17) within Package::Stash::XS::list_all_symbols which was called 25 times, avg 7µs/call:
# 24 times (146µs+11µs) by Class::MOP::Package::list_all_package_symbols at line 253 of Class/MOP/Package.pm, avg 7µs/call
# once (5µs+6µs) by namespace::clean::get_functions at line 381 of namespace/clean.pm | |||||
# spent 462µs within Package::Stash::XS::name which was called 1039 times, avg 445ns/call:
# 919 times (410µs+0s) by Package::Stash::XS::add_symbol at line 221 of Class/MOP/Package.pm, avg 447ns/call
# 79 times (35µs+0s) by Package::Stash::XS::namespace at line 243 of Class/MOP/Package.pm, avg 441ns/call
# 19 times (8µs+0s) by Package::Stash::XS::namespace at line 238 of Class/MOP/Package.pm, avg 416ns/call
# 13 times (4µs+0s) by Package::Stash::XS::add_symbol or Package::Stash::XS::namespace at line 31 of Package/Stash.pm, avg 338ns/call
# 3 times (1µs+0s) by Package::Stash::XS::namespace at line 233 of Class/MOP/Package.pm, avg 467ns/call
# 2 times (1µs+0s) by Package::Stash::XS::namespace at line 213 of namespace/clean.pm, avg 500ns/call
# once (700ns+0s) by Package::Stash::XS::namespace at line 29 of Package/Stash.pm
# once (500ns+0s) by Package::Stash::XS::namespace at line 381 of namespace/clean.pm
# once (400ns+0s) by Package::Stash::XS::namespace at line 308 of namespace/clean.pm
# once (400ns+0s) by Package::Stash::XS::namespace at line 363 of namespace/clean.pm | |||||
# spent 1.77ms (1.72+47µs) within Package::Stash::XS::namespace which was called 2980 times, avg 593ns/call:
# 1406 times (638µs+8µs) by Package::Stash::XS::get_symbol at line 238 of Class/MOP/Package.pm, avg 459ns/call
# 919 times (499µs+0s) by Package::Stash::XS::add_symbol at line 221 of Class/MOP/Package.pm, avg 543ns/call
# 362 times (147µs+1µs) by Package::Stash::XS::has_symbol at line 233 of Class/MOP/Package.pm, avg 409ns/call
# 151 times (354µs+35µs) by Package::Stash::XS::get_or_add_symbol at line 243 of Class/MOP/Package.pm, avg 3µs/call
# 64 times (20µs+0s) by Package::Stash::XS::get_symbol at line 237 of namespace/clean.pm, avg 305ns/call
# 24 times (11µs+0s) by Package::Stash::XS::list_all_symbols at line 253 of Class/MOP/Package.pm, avg 446ns/call
# 16 times (12µs+1000ns) by Package::Stash::XS::get_symbol at line 213 of namespace/clean.pm, avg 812ns/call
# 16 times (5µs+0s) by Package::Stash::XS::remove_glob at line 241 of namespace/clean.pm, avg 306ns/call
# 12 times (9µs+400ns) by Package::Stash::XS::add_symbol at line 31 of Package/Stash.pm, avg 750ns/call
# 3 times (7µs+500ns) by Package::Stash::XS::get_symbol or Package::Stash::XS::list_all_symbols at line 381 of namespace/clean.pm, avg 2µs/call
# 2 times (4µs+400ns) by Package::Stash::XS::has_symbol at line 308 of namespace/clean.pm, avg 2µs/call
# 2 times (4µs+400ns) by Package::Stash::XS::add_symbol or Package::Stash::XS::has_symbol at line 363 of namespace/clean.pm, avg 2µs/call
# once (11µs+700ns) by Package::Stash::XS::get_all_symbols at line 29 of Package/Stash.pm
# once (400ns+0s) by Package::Stash::XS::get_all_symbols at line 258 of Class/MOP/Package.pm
# once (300ns+0s) by Package::Stash::XS::get_symbol at line 365 of namespace/clean.pm | |||||
# spent 473µs within Package::Stash::XS::new which was called 108 times, avg 4µs/call:
# 101 times (435µs+0s) by Class::MOP::Package::_package_stash at line 209 of Class/MOP/Package.pm, avg 4µs/call
# 2 times (8µs+0s) by namespace::clean::__ANON__[/Users/dde/perl5/perlbrew/perls/5.18.0t/lib/site_perl/5.18.0/namespace/clean.pm:252] at line 204 of namespace/clean.pm, avg 4µs/call
# once (18µs+0s) by Package::Stash::BEGIN@17 at line 27 of Package/Stash.pm
# once (4µs+0s) by namespace::clean::get_functions at line 379 of namespace/clean.pm
# once (3µs+0s) by namespace::clean::get_class_store at line 361 of namespace/clean.pm
# once (3µs+0s) by Package::Stash::BEGIN@17 at line 28 of Package/Stash.pm
# once (3µs+0s) by namespace::clean::import at line 296 of namespace/clean.pm | |||||
# spent 43µs (38+5) within Package::Stash::XS::remove_glob which was called 16 times, avg 3µs/call:
# 16 times (38µs+5µs) by namespace::clean::__ANON__[/Users/dde/perl5/perlbrew/perls/5.18.0t/lib/site_perl/5.18.0/namespace/clean.pm:252] at line 241 of namespace/clean.pm, avg 3µs/call |