← Index
NYTProf Performance Profile   « line view »
For fastest.pl
  Run on Fri Jan 31 20:48:16 2014
Reported on Fri Jan 31 20:49:40 2014

Filename/opt/perl-5.18.1/lib/site_perl/5.18.1/darwin-thread-multi-2level/Package/Stash/XS.pm
StatementsExecuted 13 statements in 548µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
390115.27ms5.84msPackage::Stash::XS::::add_symbolPackage::Stash::XS::add_symbol (xsub)
626322.22ms2.58msPackage::Stash::XS::::get_symbolPackage::Stash::XS::get_symbol (xsub)
1284921.61ms1.72msPackage::Stash::XS::::namespacePackage::Stash::XS::namespace (xsub)
17822980µs980µsPackage::Stash::XS::::newPackage::Stash::XS::new (xsub)
18232682µs1.35msPackage::Stash::XS::::has_symbolPackage::Stash::XS::has_symbol (xsub)
7811453µs854µsPackage::Stash::XS::::get_or_add_symbolPackage::Stash::XS::get_or_add_symbol (xsub)
56842389µs389µsPackage::Stash::XS::::namePackage::Stash::XS::name (xsub)
82252µs57µsPackage::Stash::XS::::list_all_symbolsPackage::Stash::XS::list_all_symbols (xsub)
11112µs12µsPackage::Stash::XS::::BEGIN@10Package::Stash::XS::BEGIN@10
11111µs11µsPackage::Stash::XS::::BEGIN@2Package::Stash::XS::BEGIN@2
1119µs14µsPackage::Stash::XS::::BEGIN@9Package::Stash::XS::BEGIN@9
1118µs24µsPackage::Stash::XS::::BEGIN@8Package::Stash::XS::BEGIN@8
1115µs5µsPackage::Stash::XS::::BEGIN@13Package::Stash::XS::BEGIN@13
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package 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
BEGIN {
316µs $Package::Stash::XS::AUTHORITY = 'cpan:DOY';
4147µs111µs}
# spent 11µs making 1 call to Package::Stash::XS::BEGIN@2
5{
621µs $Package::Stash::XS::VERSION = '0.28';
7}
8230µs239µ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
use strict;
# spent 24µs making 1 call to Package::Stash::XS::BEGIN@8 # spent 16µs making 1 call to strict::import
9228µs218µ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
use warnings;
# spent 14µs making 1 call to Package::Stash::XS::BEGIN@9 # spent 5µs making 1 call to warnings::import
10261µs112µ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
use 5.008001;
# 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
13275µs15µ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
use XSLoader;
# spent 5µs making 1 call to Package::Stash::XS::BEGIN@13
14XSLoader::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}
211293µs1283µs ? ${ $Package::Stash::XS::{VERSION} } : (),
# spent 283µs making 1 call to XSLoader::load
22);
23
24
2517µs1;
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
sub Package::Stash::XS::add_symbol; # xsub
# 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
sub Package::Stash::XS::get_or_add_symbol; # xsub
# 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
sub Package::Stash::XS::get_symbol; # xsub
# 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
sub Package::Stash::XS::has_symbol; # xsub
# 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
sub Package::Stash::XS::list_all_symbols; # xsub
# 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
sub Package::Stash::XS::name; # xsub
# 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
sub Package::Stash::XS::namespace; # xsub
# 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
sub Package::Stash::XS::new; # xsub