Filename | /usr/local/lib/perl/5.18.2/Package/Stash/XS.pm |
Statements | Executed 13 statements in 281µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1269 | 1 | 1 | 15.1ms | 16.3ms | add_symbol (xsub) | Package::Stash::XS::
2220 | 1 | 1 | 11.3ms | 12.3ms | get_symbol (xsub) | Package::Stash::XS::
1013 | 1 | 1 | 6.23ms | 6.59ms | has_symbol (xsub) | Package::Stash::XS::
4888 | 6 | 1 | 2.65ms | 2.73ms | namespace (xsub) | Package::Stash::XS::
345 | 1 | 1 | 1.28ms | 1.91ms | get_or_add_symbol (xsub) | Package::Stash::XS::
143 | 1 | 1 | 908µs | 908µs | new (xsub) | Package::Stash::XS::
1412 | 4 | 1 | 629µs | 629µs | name (xsub) | Package::Stash::XS::
40 | 1 | 1 | 222µs | 241µs | list_all_symbols (xsub) | Package::Stash::XS::
1 | 1 | 1 | 8µs | 8µs | BEGIN@10 | Package::Stash::XS::
1 | 1 | 1 | 6µs | 6µs | BEGIN@2 | Package::Stash::XS::
1 | 1 | 1 | 5µs | 8µs | BEGIN@9 | Package::Stash::XS::
1 | 1 | 1 | 5µs | 13µs | BEGIN@8 | Package::Stash::XS::
1 | 1 | 1 | 5µs | 5µs | remove_symbol (xsub) | 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 6µs within Package::Stash::XS::BEGIN@2 which was called:
# once (6µs+0s) by Module::Runtime::require_module at line 4 | ||||
3 | 1 | 4µs | $Package::Stash::XS::AUTHORITY = 'cpan:DOY'; | ||
4 | 1 | 25µs | 1 | 6µs | } # spent 6µs making 1 call to Package::Stash::XS::BEGIN@2 |
5 | { | ||||
6 | 2 | 700ns | $Package::Stash::XS::VERSION = '0.28'; | ||
7 | } | ||||
8 | 2 | 17µs | 2 | 21µs | # spent 13µs (5+8) within Package::Stash::XS::BEGIN@8 which was called:
# once (5µs+8µs) by Module::Runtime::require_module at line 8 # spent 13µs making 1 call to Package::Stash::XS::BEGIN@8
# spent 8µs making 1 call to strict::import |
9 | 2 | 17µs | 2 | 11µs | # spent 8µs (5+3) within Package::Stash::XS::BEGIN@9 which was called:
# once (5µs+3µs) by Module::Runtime::require_module at line 9 # spent 8µ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 | 39µ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 | 135µs | 1 | 128µs | ? ${ $Package::Stash::XS::{VERSION} } : (), # spent 128µs making 1 call to XSLoader::load |
22 | ); | ||||
23 | |||||
24 | |||||
25 | 1 | 4µs | 1; | ||
26 | |||||
27 | __END__ | ||||
# spent 16.3ms (15.1+1.19) within Package::Stash::XS::add_symbol which was called 1269 times, avg 13µs/call:
# 1269 times (15.1ms+1.19ms) by Class::MOP::Package::add_package_symbol at line 230 of Class/MOP/Package.pm, avg 13µs/call | |||||
# spent 1.91ms (1.28+632µs) within Package::Stash::XS::get_or_add_symbol which was called 345 times, avg 6µs/call:
# 345 times (1.28ms+632µs) by Class::MOP::Package::get_or_add_package_symbol at line 252 of Class/MOP/Package.pm, avg 6µs/call | |||||
# spent 12.3ms (11.3+1.07) within Package::Stash::XS::get_symbol which was called 2220 times, avg 6µs/call:
# 2220 times (11.3ms+1.07ms) by Class::MOP::Package::get_package_symbol at line 247 of Class/MOP/Package.pm, avg 6µs/call | |||||
# spent 6.59ms (6.23+364µs) within Package::Stash::XS::has_symbol which was called 1013 times, avg 7µs/call:
# 1013 times (6.23ms+364µs) by Class::MOP::Package::has_package_symbol at line 242 of Class/MOP/Package.pm, avg 7µs/call | |||||
# spent 241µs (222+19) within Package::Stash::XS::list_all_symbols which was called 40 times, avg 6µs/call:
# 40 times (222µs+19µs) by Class::MOP::Package::list_all_package_symbols at line 262 of Class/MOP/Package.pm, avg 6µs/call | |||||
# spent 629µs within Package::Stash::XS::name which was called 1412 times, avg 445ns/call:
# 1269 times (549µs+0s) by Package::Stash::XS::add_symbol at line 230 of Class/MOP/Package.pm, avg 433ns/call
# 105 times (61µs+0s) by Package::Stash::XS::namespace at line 252 of Class/MOP/Package.pm, avg 579ns/call
# 35 times (18µs+0s) by Package::Stash::XS::namespace at line 247 of Class/MOP/Package.pm, avg 506ns/call
# 3 times (1µs+0s) by Package::Stash::XS::namespace at line 242 of Class/MOP/Package.pm, avg 467ns/call | |||||
# spent 2.73ms (2.65+80µs) within Package::Stash::XS::namespace which was called 4888 times, avg 558ns/call:
# 2220 times (1.05ms+18µs) by Package::Stash::XS::get_symbol at line 247 of Class/MOP/Package.pm, avg 482ns/call
# 1269 times (643µs+0s) by Package::Stash::XS::add_symbol at line 230 of Class/MOP/Package.pm, avg 506ns/call
# 1013 times (362µs+1µs) by Package::Stash::XS::has_symbol at line 242 of Class/MOP/Package.pm, avg 359ns/call
# 345 times (571µs+61µs) by Package::Stash::XS::get_or_add_symbol at line 252 of Class/MOP/Package.pm, avg 2µs/call
# 40 times (19µs+0s) by Package::Stash::XS::list_all_symbols at line 262 of Class/MOP/Package.pm, avg 470ns/call
# once (500ns+0s) by Package::Stash::XS::remove_symbol at line 257 of Class/MOP/Package.pm | |||||
# spent 908µs within Package::Stash::XS::new which was called 143 times, avg 6µs/call:
# 143 times (908µs+0s) by Class::MOP::Package::_package_stash at line 218 of Class/MOP/Package.pm, avg 6µs/call | |||||
# spent 5µs (5+500ns) within Package::Stash::XS::remove_symbol which was called:
# once (5µs+500ns) by Class::MOP::Package::remove_package_symbol at line 257 of Class/MOP/Package.pm |