Filename | /home/ss5/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0/x86_64-linux/Package/Stash/XS.pm |
Statements | Executed 13 statements in 275µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
499 | 3 | 3 | 3.20ms | 3.46ms | add_symbol (xsub) | Package::Stash::XS::
1622 | 5 | 2 | 2.38ms | 2.70ms | get_symbol (xsub) | Package::Stash::XS::
2693 | 14 | 3 | 851µs | 891µs | namespace (xsub) | Package::Stash::XS::
153 | 3 | 3 | 543µs | 543µs | new (xsub) | Package::Stash::XS::
292 | 4 | 3 | 416µs | 540µs | has_symbol (xsub) | Package::Stash::XS::
177 | 1 | 1 | 325µs | 347µs | remove_glob (xsub) | Package::Stash::XS::
79 | 1 | 1 | 252µs | 457µs | get_or_add_symbol (xsub) | Package::Stash::XS::
632 | 9 | 3 | 175µs | 175µs | name (xsub) | Package::Stash::XS::
24 | 2 | 2 | 128µs | 212µs | list_all_symbols (xsub) | Package::Stash::XS::
1 | 1 | 1 | 6µs | 6µs | BEGIN@10 | Package::Stash::XS::
1 | 1 | 1 | 6µs | 6µs | BEGIN@2 | Package::Stash::XS::
1 | 1 | 1 | 5µs | 6µs | BEGIN@8 | Package::Stash::XS::
1 | 1 | 1 | 4µs | 8µs | BEGIN@9 | Package::Stash::XS::
1 | 1 | 1 | 3µs | 3µ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 | 21µs | 1 | 6µs | } # spent 6µs making 1 call to Package::Stash::XS::BEGIN@2 |
5 | { | ||||
6 | 2 | 600ns | $Package::Stash::XS::VERSION = '0.28'; | ||
7 | } | ||||
8 | 2 | 13µs | 2 | 8µs | # spent 6µs (5+1) within Package::Stash::XS::BEGIN@8 which was called:
# once (5µs+1µs) by Module::Runtime::require_module at line 8 # spent 6µs making 1 call to Package::Stash::XS::BEGIN@8
# spent 1µs making 1 call to strict::import |
9 | 2 | 15µs | 2 | 13µs | # spent 8µs (4+4) within Package::Stash::XS::BEGIN@9 which was called:
# once (4µs+4µs) by Module::Runtime::require_module at line 9 # spent 8µs making 1 call to Package::Stash::XS::BEGIN@9
# spent 4µs making 1 call to warnings::import |
10 | 2 | 24µs | 1 | 6µs | # spent 6µs within Package::Stash::XS::BEGIN@10 which was called:
# once (6µs+0s) by Module::Runtime::require_module at line 10 # spent 6µ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 | 35µs | 1 | 3µs | # spent 3µs within Package::Stash::XS::BEGIN@13 which was called:
# once (3µs+0s) by Module::Runtime::require_module at line 13 # spent 3µ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 | 159µs | 1 | 153µs | ? ${ $Package::Stash::XS::{VERSION} } : (), # spent 153µs making 1 call to XSLoader::load |
22 | ); | ||||
23 | |||||
24 | |||||
25 | 1 | 4µs | 1; | ||
26 | |||||
27 | __END__ | ||||
# spent 3.46ms (3.20+269µs) within Package::Stash::XS::add_symbol which was called 499 times, avg 7µs/call:
# 405 times (2.75ms+238µs) by Class::MOP::Package::add_package_symbol at line 230 of Class/MOP/Package.pm, avg 7µs/call
# 74 times (362µs+28µs) by Search::Elasticsearch::Role::Client::Direct::_install_api at line 141 of Search/Elasticsearch/Role/Client/Direct.pm, avg 5µs/call
# 20 times (84µs+3µs) by namespace::clean::get_class_store at line 208 of namespace/clean.pm, avg 4µs/call | |||||
# spent 457µs (252+205) within Package::Stash::XS::get_or_add_symbol which was called 79 times, avg 6µs/call:
# 79 times (252µs+205µs) by Class::MOP::Package::get_or_add_package_symbol at line 252 of Class/MOP/Package.pm, avg 6µs/call | |||||
# spent 2.70ms (2.38+321µs) within Package::Stash::XS::get_symbol which was called 1622 times, avg 2µs/call:
# 708 times (895µs+84µs) by namespace::clean::__ANON__[/home/ss5/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0/namespace/clean.pm:121] at line 105 of namespace/clean.pm, avg 1µs/call
# 540 times (903µs+126µs) by Class::MOP::Package::get_package_symbol at line 247 of Class/MOP/Package.pm, avg 2µs/call
# 177 times (284µs+78µs) by namespace::clean::__ANON__[/home/ss5/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0/namespace/clean.pm:121] at line 69 of namespace/clean.pm, avg 2µs/call
# 177 times (263µs+30µs) by namespace::clean::get_functions at line 218 of namespace/clean.pm, avg 2µs/call
# 20 times (33µs+3µs) by namespace::clean::get_class_store at line 210 of namespace/clean.pm, avg 2µs/call | |||||
# spent 540µs (416+124) within Package::Stash::XS::has_symbol which was called 292 times, avg 2µs/call:
# 177 times (233µs+54µs) by namespace::clean::import at line 170 of namespace/clean.pm, avg 2µs/call
# 74 times (105µs+20µs) by Search::Elasticsearch::Role::Client::Direct::_install_api at line 134 of Search/Elasticsearch/Role/Client/Direct.pm, avg 2µs/call
# 21 times (38µs+9µs) by Class::MOP::Package::has_package_symbol at line 242 of Class/MOP/Package.pm, avg 2µs/call
# 20 times (41µs+41µs) by namespace::clean::get_class_store at line 208 of namespace/clean.pm, avg 4µs/call | |||||
# spent 212µs (128+84) within Package::Stash::XS::list_all_symbols which was called 24 times, avg 9µs/call:
# 20 times (108µs+83µs) by namespace::clean::get_functions at line 218 of namespace/clean.pm, avg 10µs/call
# 4 times (20µs+1µs) by Class::MOP::Package::list_all_package_symbols at line 262 of Class/MOP/Package.pm, avg 5µs/call | |||||
# spent 175µs within Package::Stash::XS::name which was called 632 times, avg 276ns/call:
# 405 times (121µs+0s) by Package::Stash::XS::add_symbol at line 230 of Class/MOP/Package.pm, avg 298ns/call
# 74 times (13µs+0s) by Package::Stash::XS::add_symbol at line 141 of Search/Elasticsearch/Role/Client/Direct.pm, avg 181ns/call
# 69 times (17µs+0s) by Package::Stash::XS::namespace at line 252 of Class/MOP/Package.pm, avg 249ns/call
# 20 times (7µs+0s) by Package::Stash::XS::namespace at line 218 of namespace/clean.pm, avg 365ns/call
# 20 times (7µs+0s) by Package::Stash::XS::namespace at line 69 of namespace/clean.pm, avg 350ns/call
# 20 times (4µs+0s) by Package::Stash::XS::namespace at line 208 of namespace/clean.pm, avg 220ns/call
# 20 times (3µs+0s) by Package::Stash::XS::namespace at line 170 of namespace/clean.pm, avg 170ns/call
# 2 times (800ns+0s) by Package::Stash::XS::namespace at line 134 of Search/Elasticsearch/Role/Client/Direct.pm, avg 400ns/call
# 2 times (600ns+0s) by Package::Stash::XS::namespace at line 242 of Class/MOP/Package.pm, avg 300ns/call | |||||
# spent 891µs (851+41) within Package::Stash::XS::namespace which was called 2693 times, avg 331ns/call:
# 708 times (84µs+0s) by Package::Stash::XS::get_symbol at line 105 of namespace/clean.pm, avg 119ns/call
# 540 times (126µs+0s) by Package::Stash::XS::get_symbol at line 247 of Class/MOP/Package.pm, avg 233ns/call
# 405 times (117µs+0s) by Package::Stash::XS::add_symbol at line 230 of Class/MOP/Package.pm, avg 290ns/call
# 197 times (105µs+7µs) by Package::Stash::XS::get_symbol or Package::Stash::XS::list_all_symbols at line 218 of namespace/clean.pm, avg 571ns/call
# 177 times (72µs+7µs) by Package::Stash::XS::get_symbol at line 69 of namespace/clean.pm, avg 444ns/call
# 177 times (51µs+3µs) by Package::Stash::XS::has_symbol at line 170 of namespace/clean.pm, avg 306ns/call
# 177 times (22µs+0s) by Package::Stash::XS::remove_glob at line 109 of namespace/clean.pm, avg 125ns/call
# 79 times (188µs+17µs) by Package::Stash::XS::get_or_add_symbol at line 252 of Class/MOP/Package.pm, avg 3µs/call
# 74 times (19µs+800ns) by Package::Stash::XS::has_symbol at line 134 of Search/Elasticsearch/Role/Client/Direct.pm, avg 272ns/call
# 74 times (14µs+0s) by Package::Stash::XS::add_symbol at line 141 of Search/Elasticsearch/Role/Client/Direct.pm, avg 193ns/call
# 40 times (40µs+4µs) by Package::Stash::XS::add_symbol or Package::Stash::XS::has_symbol at line 208 of namespace/clean.pm, avg 1µs/call
# 21 times (8µs+600ns) by Package::Stash::XS::has_symbol at line 242 of Class/MOP/Package.pm, avg 433ns/call
# 20 times (3µs+0s) by Package::Stash::XS::get_symbol at line 210 of namespace/clean.pm, avg 140ns/call
# 4 times (1µs+0s) by Package::Stash::XS::list_all_symbols at line 262 of Class/MOP/Package.pm, avg 275ns/call | |||||
# spent 543µs within Package::Stash::XS::new which was called 153 times, avg 4µs/call:
# 80 times (252µs+0s) by namespace::clean::stash_for at line 3 of (eval 230)[namespace/clean.pm:27], avg 3µs/call
# 71 times (283µs+0s) by Class::MOP::Package::_package_stash at line 218 of Class/MOP/Package.pm, avg 4µs/call
# 2 times (7µs+0s) by Search::Elasticsearch::Role::Client::Direct::_install_api at line 128 of Search/Elasticsearch/Role/Client/Direct.pm, avg 4µs/call | |||||
# spent 347µs (325+22) within Package::Stash::XS::remove_glob which was called 177 times, avg 2µs/call:
# 177 times (325µs+22µs) by namespace::clean::__ANON__[/home/ss5/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0/namespace/clean.pm:121] at line 109 of namespace/clean.pm, avg 2µs/call |