← Index
NYTProf Performance Profile   « line view »
For examples/Atom-timer.pl
  Run on Mon Aug 12 14:45:28 2013
Reported on Mon Aug 12 14:46:14 2013

Filename/Users/dde/perl5/perlbrew/perls/5.18.0t/lib/site_perl/5.18.0/darwin-thread-multi-2level/Package/Stash/XS.pm
StatementsExecuted 13 statements in 388µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
9323315.6ms16.5msPackage::Stash::XS::::add_symbolPackage::Stash::XS::add_symbol (xsub)
14895210.8ms11.5msPackage::Stash::XS::::get_symbolPackage::Stash::XS::get_symbol (xsub)
29801531.72ms1.77msPackage::Stash::XS::::namespacePackage::Stash::XS::namespace (xsub)
36532868µs1.02msPackage::Stash::XS::::has_symbolPackage::Stash::XS::has_symbol (xsub)
15111538µs926µsPackage::Stash::XS::::get_or_add_symbolPackage::Stash::XS::get_or_add_symbol (xsub)
10873473µs473µsPackage::Stash::XS::::newPackage::Stash::XS::new (xsub)
1039103462µs462µsPackage::Stash::XS::::namePackage::Stash::XS::name (xsub)
2522151µs168µsPackage::Stash::XS::::list_all_symbolsPackage::Stash::XS::list_all_symbols (xsub)
161138µs43µsPackage::Stash::XS::::remove_globPackage::Stash::XS::remove_glob (xsub)
22226µs37µsPackage::Stash::XS::::get_all_symbolsPackage::Stash::XS::get_all_symbols (xsub)
1118µs8µsPackage::Stash::XS::::BEGIN@10Package::Stash::XS::BEGIN@10
1118µs8µsPackage::Stash::XS::::BEGIN@2Package::Stash::XS::BEGIN@2
1116µs16µsPackage::Stash::XS::::BEGIN@8Package::Stash::XS::BEGIN@8
1116µs9µsPackage::Stash::XS::::BEGIN@9Package::Stash::XS::BEGIN@9
1114µs4µ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 8µs within Package::Stash::XS::BEGIN@2 which was called: # once (8µs+0s) by Module::Runtime::require_module at line 4
BEGIN {
314µs $Package::Stash::XS::AUTHORITY = 'cpan:DOY';
4128µs18µs}
# spent 8µs making 1 call to Package::Stash::XS::BEGIN@2
5{
62700ns $Package::Stash::XS::VERSION = '0.28';
7}
8219µs226µ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
use strict;
# spent 16µs making 1 call to Package::Stash::XS::BEGIN@8 # spent 10µs making 1 call to strict::import
9221µs212µ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
use warnings;
# spent 9µs making 1 call to Package::Stash::XS::BEGIN@9 # spent 3µs making 1 call to warnings::import
10238µs18µ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
use 5.008001;
# 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
13247µs14µ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
use XSLoader;
# spent 4µ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}
211226µs1219µs ? ${ $Package::Stash::XS::{VERSION} } : (),
# spent 219µs making 1 call to XSLoader::load
22);
23
24
2514µs1;
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
sub Package::Stash::XS::add_symbol; # xsub
# 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
sub Package::Stash::XS::get_all_symbols; # xsub
# 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
sub Package::Stash::XS::get_or_add_symbol; # xsub
# 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
sub Package::Stash::XS::get_symbol; # xsub
# 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
sub Package::Stash::XS::has_symbol; # xsub
# 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
sub Package::Stash::XS::list_all_symbols; # xsub
# 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
sub Package::Stash::XS::name; # xsub
# 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
sub Package::Stash::XS::namespace; # xsub
# 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
sub Package::Stash::XS::new; # xsub
# 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
sub Package::Stash::XS::remove_glob; # xsub