Profile of Package/Stash/XS.pm

← Index
NYTProf Performance Profile «block view•line view•sub view»
For xt/tapper-mcp-scheduler-with-db-longrun.t
Run on Tue May 22 17:18:39 2012
Reported on Tue May 22 17:23:30 2012

Filename | /2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Package/Stash/XS.pm
Statements | Executed 12 statements in 315µs

Subroutines
Calls | P | F | Exclusive Time | Inclusive Time | Subroutine
--- | --- | --- | --- | --- | ---
433 | 3 | 3 | 4.31ms | 4.60ms | Package::Stash::XS::::add_symbolPackage::Stash::XS::add_symbol (xsub)
1377 | 5 | 2 | 3.99ms | 4.92ms | Package::Stash::XS::::get_symbolPackage::Stash::XS::get_symbol (xsub)
243 | 8 | 3 | 2.35ms | 4.47ms | Package::Stash::XS::::newPackage::Stash::XS::new (xsub)
2143 | 14 | 3 | 1.98ms | 2.12ms | Package::Stash::XS::::namespacePackage::Stash::XS::namespace (xsub)
130 | 1 | 1 | 900µs | 1.44ms | Package::Stash::XS::::get_or_add_symbolPackage::Stash::XS::get_or_add_symbol (xsub)
311 | 3 | 2 | 856µs | 1.20ms | Package::Stash::XS::::has_symbolPackage::Stash::XS::has_symbol (xsub)
818 | 11 | 3 | 535µs | 535µs | Package::Stash::XS::::namePackage::Stash::XS::name (xsub)
145 | 1 | 1 | 363µs | 425µs | Package::Stash::XS::::remove_globPackage::Stash::XS::remove_glob (xsub)
33 | 2 | 2 | 259µs | 434µs | Package::Stash::XS::::list_all_symbolsPackage::Stash::XS::list_all_symbols (xsub)
2 | 2 | 2 | 37µs | 49µs | Package::Stash::XS::::get_all_symbolsPackage::Stash::XS::get_all_symbols (xsub)
1 | 1 | 1 | 10µs | 12µs | Package::Stash::XS::::BEGIN@5Package::Stash::XS::BEGIN@5
1 | 1 | 1 | 8µs | 8µs | Package::Stash::XS::::BEGIN@2Package::Stash::XS::BEGIN@2
1 | 1 | 1 | 7µs | 14µs | Package::Stash::XS::::BEGIN@6Package::Stash::XS::BEGIN@6
1 | 1 | 1 | 4µs | 4µs | Package::Stash::XS::::BEGIN@9Package::Stash::XS::BEGIN@9

Call graph for these subroutines as a Graphviz dot language file.

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 Package::Stash::BEGIN@11 at line 4 BEGIN {
3 | 1 | 4µs |  |  | $Package::Stash::XS::VERSION = '0.25';
4 | 1 | 12µs | 1 | 8µs | } # spent 8µs making 1 call to Package::Stash::XS::BEGIN@2
5 | 3 | 19µs | 2 | 14µs | # spent 12µs (10+2) within Package::Stash::XS::BEGIN@5 which was called: # once (10µs+2µs) by Package::Stash::BEGIN@11 at line 5 use strict; # spent 12µs making 1 call to Package::Stash::XS::BEGIN@5 # spent 2µs making 1 call to strict::import
6 | 3 | 16µs | 2 | 21µs | # spent 14µs (7+7) within Package::Stash::XS::BEGIN@6 which was called: # once (7µs+7µs) by Package::Stash::BEGIN@11 at line 6 use warnings; # spent 14µs making 1 call to Package::Stash::XS::BEGIN@6 # spent 7µs making 1 call to warnings::import
7 |  |  |  |  | # ABSTRACT: faster and more correct implementation of the Package::Stash API
8 |  |  |  |  |
9 | 3 | 38µs | 1 | 4µs | # spent 4µs within Package::Stash::XS::BEGIN@9 which was called: # once (4µs+0s) by Package::Stash::BEGIN@11 at line 9 use XSLoader; # spent 4µs making 1 call to Package::Stash::XS::BEGIN@9
10 |  |  |  |  | XSLoader::load(
11 |  |  |  |  | __PACKAGE__,
12 |  |  |  |  | # we need to be careful not to touch $VERSION at compile time, otherwise
13 |  |  |  |  | # DynaLoader will assume it's set and check against it, which will cause
14 |  |  |  |  | # fail when being run in the checkout without dzil having set the actual
15 |  |  |  |  | # $VERSION
16 |  |  |  |  | exists $Package::Stash::XS::{VERSION}
17 | 1 | 222µs | 1 | 217µs | ? ${ $Package::Stash::XS::{VERSION} } : (), # spent 217µs making 1 call to XSLoader::load
18 |  |  |  |  | );
19 |  |  |  |  |
20 |  |  |  |  |
21 | 1 | 4µs |  |  | 1;
22 |  |  |  |  |
23 |  |  |  |  | __END__
|  |  |  |  | # spent 4.60ms (4.31+286µs) within Package::Stash::XS::add_symbol which was called 433 times, avg 11µs/call: # 396 times (4.05ms+272µs) by Class::MOP::Package::add_package_symbol at line 221 of Class/MOP/Package.pm, avg 11µs/call # 25 times (175µs+9µs) by namespace::clean::get_class_store at line 385 of namespace/clean.pm, avg 7µs/call # 12 times (87µs+5µs) by Package::Stash::BEGIN@11 at line 44 of Package/Stash.pm, avg 8µs/call sub Package::Stash::XS::add_symbol; # xsub
|  |  |  |  | # spent 49µs (37+12) within Package::Stash::XS::get_all_symbols which was called 2 times, avg 24µs/call: # once (15µs+10µs) by Package::Stash::BEGIN@11 at line 42 of Package/Stash.pm # once (22µs+2µs) 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 1.44ms (900µs+537µs) within Package::Stash::XS::get_or_add_symbol which was called 130 times, avg 11µs/call: # 130 times (900µs+537µ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 4.92ms (3.99+931µs) within Package::Stash::XS::get_symbol which was called 1377 times, avg 4µs/call: # 580 times (1.45ms+250µs) by namespace::clean::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/namespace/clean.pm:274] at line 259 of namespace/clean.pm, avg 3µs/call # 456 times (1.53ms+310µs) by Class::MOP::Package::get_package_symbol at line 238 of Class/MOP/Package.pm, avg 4µs/call # 184 times (554µs+293µs) by namespace::clean::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/namespace/clean.pm:274] at line 235 of namespace/clean.pm, avg 5µs/call # 132 times (380µs+68µs) by namespace::clean::get_functions at line 403 of namespace/clean.pm, avg 3µs/call # 25 times (76µs+11µs) by namespace::clean::get_class_store at line 387 of namespace/clean.pm, avg 3µs/call sub Package::Stash::XS::get_symbol; # xsub
|  |  |  |  | # spent 1.20ms (856µs+339µs) within Package::Stash::XS::has_symbol which was called 311 times, avg 4µs/call: # 154 times (448µs+103µs) by Class::MOP::Package::has_package_symbol at line 233 of Class/MOP/Package.pm, avg 4µs/call # 132 times (325µs+139µs) by namespace::clean::import at line 330 of namespace/clean.pm, avg 4µs/call # 25 times (83µs+98µs) by namespace::clean::get_class_store at line 385 of namespace/clean.pm, avg 7µs/call sub Package::Stash::XS::has_symbol; # xsub
|  |  |  |  | # spent 434µs (259+175) within Package::Stash::XS::list_all_symbols which was called 33 times, avg 13µs/call: # 25 times (169µs+166µs) by namespace::clean::get_functions at line 403 of namespace/clean.pm, avg 13µs/call # 8 times (90µs+10µs) by Class::MOP::Package::list_all_package_symbols at line 253 of Class/MOP/Package.pm, avg 12µs/call sub Package::Stash::XS::list_all_symbols; # xsub
|  |  |  |  | # spent 535µs within Package::Stash::XS::name which was called 818 times, avg 654ns/call: # 396 times (272µs+0s) by Package::Stash::XS::add_symbol at line 221 of Class/MOP/Package.pm, avg 687ns/call # 145 times (89µs+0s) by namespace::clean::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/namespace/clean.pm:221] at line 212 of namespace/clean.pm, avg 616ns/call # 114 times (75µs+0s) by Package::Stash::XS::get_or_add_symbol or Package::Stash::XS::namespace at line 243 of Class/MOP/Package.pm, avg 660ns/call # 50 times (21µs+0s) by Package::Stash::XS::add_symbol or Package::Stash::XS::namespace at line 385 of namespace/clean.pm, avg 412ns/call # 43 times (30µs+0s) by Package::Stash::XS::namespace at line 235 of namespace/clean.pm, avg 709ns/call # 25 times (23µs+0s) by Package::Stash::XS::namespace at line 403 of namespace/clean.pm, avg 916ns/call # 25 times (11µs+0s) by Package::Stash::XS::namespace at line 330 of namespace/clean.pm, avg 456ns/call # 12 times (5µs+0s) by Package::Stash::XS::add_symbol at line 44 of Package/Stash.pm, avg 408ns/call # 4 times (4µs+0s) by Package::Stash::XS::namespace at line 238 of Class/MOP/Package.pm, avg 950ns/call # 3 times (3µs+0s) by Package::Stash::XS::namespace at line 233 of Class/MOP/Package.pm, avg 1µs/call # once (900ns+0s) by Package::Stash::XS::namespace at line 42 of Package/Stash.pm sub Package::Stash::XS::name; # xsub
|  |  |  |  | # spent 2.12ms (1.98+140µs) within Package::Stash::XS::namespace which was called 2143 times, avg 987ns/call: # 580 times (250µs+0s) by Package::Stash::XS::get_symbol at line 259 of namespace/clean.pm, avg 431ns/call # 456 times (306µs+4µs) by Package::Stash::XS::get_symbol at line 238 of Class/MOP/Package.pm, avg 679ns/call # 184 times (262µs+30µs) by Package::Stash::XS::get_symbol at line 235 of namespace/clean.pm, avg 2µs/call # 157 times (211µs+23µs) by Package::Stash::XS::get_symbol or Package::Stash::XS::list_all_symbols at line 403 of namespace/clean.pm, avg 1µs/call # 154 times (100µs+3µs) by Package::Stash::XS::has_symbol at line 233 of Class/MOP/Package.pm, avg 666ns/call # 145 times (77µs+0s) by namespace::clean::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/namespace/clean.pm:274] at line 238 of namespace/clean.pm, avg 534ns/call # 145 times (62µs+0s) by Package::Stash::XS::remove_glob at line 263 of namespace/clean.pm, avg 430ns/call # 132 times (127µs+11µs) by Package::Stash::XS::has_symbol at line 330 of namespace/clean.pm, avg 1µs/call # 130 times (462µs+56µs) by Package::Stash::XS::get_or_add_symbol at line 243 of Class/MOP/Package.pm, avg 4µs/call # 25 times (87µs+11µs) by Package::Stash::XS::has_symbol at line 385 of namespace/clean.pm, avg 4µs/call # 25 times (11µs+0s) by Package::Stash::XS::get_symbol at line 387 of namespace/clean.pm, avg 436ns/call # 8 times (10µs+0s) by Package::Stash::XS::list_all_symbols at line 253 of Class/MOP/Package.pm, avg 1µs/call # once (10µs+900ns) by Package::Stash::XS::get_all_symbols at line 42 of Package/Stash.pm # once (2µs+0s) by Package::Stash::XS::get_all_symbols at line 258 of Class/MOP/Package.pm sub Package::Stash::XS::namespace; # xsub
|  |  |  |  | # spent 4.47ms (2.35+2.12) within Package::Stash::XS::new which was called 243 times, avg 18µs/call: # 80 times (1.09ms+0s) by Class::MOP::Package::_package_stash at line 209 of Class/MOP/Package.pm, avg 14µs/call # 43 times (413µs+0s) by namespace::clean::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/namespace/clean.pm:274] at line 226 of namespace/clean.pm, avg 10µs/call # 43 times (208µs+0s) by namespace::clean::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/namespace/clean.pm:274] at line 246 of namespace/clean.pm, avg 5µs/call # 25 times (367µs+0s) by namespace::clean::get_functions at line 401 of namespace/clean.pm, avg 15µs/call # 25 times (99µs+0s) by namespace::clean::get_class_store at line 383 of namespace/clean.pm, avg 4µs/call # 25 times (92µs+0s) by namespace::clean::import at line 318 of namespace/clean.pm, avg 4µs/call # once (74µs+2.12ms) by Package::Stash::BEGIN@11 at line 40 of Package/Stash.pm # once (5µs+0s) by Package::Stash::BEGIN@11 at line 41 of Package/Stash.pm sub Package::Stash::XS::new; # xsub
|  |  |  |  | # spent 425µs (363+62) within Package::Stash::XS::remove_glob which was called 145 times, avg 3µs/call: # 145 times (363µs+62µs) by namespace::clean::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/namespace/clean.pm:274] at line 263 of namespace/clean.pm, avg 3µs/call sub Package::Stash::XS::remove_glob; # xsub