← 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/Package/Stash.pm
StatementsExecuted 41 statements in 855µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
111222µs2.79msPackage::Stash::::BEGIN@11Package::Stash::BEGIN@11
111158µs158µsPackage::Stash::::BEGIN@40Package::Stash::BEGIN@40
11113µs17µsPackage::Stash::::BEGIN@5Package::Stash::BEGIN@5
11113µs169µsPackage::Stash::::BEGIN@48Package::Stash::BEGIN@48
1119µs25µsPackage::Stash::::BEGIN@6Package::Stash::BEGIN@6
0000s0sPackage::Stash::::add_package_symbolPackage::Stash::add_package_symbol
0000s0sPackage::Stash::::add_symbolPackage::Stash::add_symbol
0000s0sPackage::Stash::::bootstrapPackage::Stash::bootstrap
0000s0sPackage::Stash::::get_all_symbolsPackage::Stash::get_all_symbols
0000s0sPackage::Stash::::get_or_add_package_symbolPackage::Stash::get_or_add_package_symbol
0000s0sPackage::Stash::::get_or_add_symbolPackage::Stash::get_or_add_symbol
0000s0sPackage::Stash::::get_package_symbolPackage::Stash::get_package_symbol
0000s0sPackage::Stash::::get_symbolPackage::Stash::get_symbol
0000s0sPackage::Stash::::has_package_symbolPackage::Stash::has_package_symbol
0000s0sPackage::Stash::::has_symbolPackage::Stash::has_symbol
0000s0sPackage::Stash::::list_all_package_symbolsPackage::Stash::list_all_package_symbols
0000s0sPackage::Stash::::list_all_symbolsPackage::Stash::list_all_symbols
0000s0sPackage::Stash::::namePackage::Stash::name
0000s0sPackage::Stash::::namespacePackage::Stash::namespace
0000s0sPackage::Stash::::newPackage::Stash::new
0000s0sPackage::Stash::::remove_globPackage::Stash::remove_glob
0000s0sPackage::Stash::::remove_package_globPackage::Stash::remove_package_glob
0000s0sPackage::Stash::::remove_package_symbolPackage::Stash::remove_package_symbol
0000s0sPackage::Stash::::remove_symbolPackage::Stash::remove_symbol
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;
2{
321µs $Package::Stash::VERSION = '0.33';
4}
5340µs220µs
# spent 17µs (13+4) within Package::Stash::BEGIN@5 which was called: # once (13µs+4µs) by Class::MOP::Package::BEGIN@16 at line 5
use strict;
# spent 17µs making 1 call to Package::Stash::BEGIN@5 # spent 4µs making 1 call to strict::import
63192µs240µs
# spent 25µs (9+16) within Package::Stash::BEGIN@6 which was called: # once (9µs+16µs) by Class::MOP::Package::BEGIN@16 at line 6
use warnings;
# spent 25µs making 1 call to Package::Stash::BEGIN@6 # spent 15µs making 1 call to warnings::import
7# ABSTRACT: routines for manipulating stashes
8
91100nsour $IMPLEMENTATION;
10
11
# spent 2.79ms (222µs+2.57) within Package::Stash::BEGIN@11 which was called: # once (222µs+2.57ms) by Class::MOP::Package::BEGIN@16 at line 46
BEGIN {
121900ns $IMPLEMENTATION = $ENV{PACKAGE_STASH_IMPLEMENTATION}
13 if exists $ENV{PACKAGE_STASH_IMPLEMENTATION};
14
151200ns my $err;
161800ns if ($IMPLEMENTATION) {
17 if (!eval "require Package::Stash::$IMPLEMENTATION; 1") {
18 require Carp;
19 Carp::croak("Could not load Package::Stash::$IMPLEMENTATION: $@");
20 }
21 }
22 else {
231400ns for my $impl ('XS', 'PP') {
24120µs if (eval "require Package::Stash::$impl; 1;") {
# spent 59µs executing statements in string eval
251600ns $IMPLEMENTATION = $impl;
2611µs last;
27 }
28 else {
29 $err .= $@;
30 }
31 }
32 }
33
341100ns if (!$IMPLEMENTATION) {
35 require Carp;
36 Carp::croak("Could not find a suitable Package::Stash implementation: $err");
37 }
38
391500ns my $impl = "Package::Stash::$IMPLEMENTATION";
404221µs34.09ms
# spent 158µs within Package::Stash::BEGIN@40 which was called: # once (158µs+0s) by Package::Stash::XS::new at line 46
my $from = $impl->new($impl);
# spent 2.19ms making 1 call to Package::Stash::XS::new # spent 1.88ms making 1 call to utf8::AUTOLOAD # spent 25µs making 1 call to utf8::SWASHNEW
41110µs15µs my $to = $impl->new(__PACKAGE__);
# spent 5µs making 1 call to Package::Stash::XS::new
42130µs337µs my $methods = $from->get_all_symbols('CODE');
# spent 25µs making 1 call to Package::Stash::XS::get_all_symbols # spent 10µs making 1 call to Package::Stash::XS::namespace # spent 900ns making 1 call to Package::Stash::XS::name
43113µs for my $meth (keys %$methods) {
4412120µs2497µs $to->add_symbol("&$meth" => $methods->{$meth});
# spent 92µs making 12 calls to Package::Stash::XS::add_symbol, avg 8µs/call # spent 5µs making 12 calls to Package::Stash::XS::name, avg 408ns/call
45 }
46158µs22.95ms}
# spent 2.79ms making 1 call to Package::Stash::BEGIN@11 # spent 158µs making 1 call to Package::Stash::BEGIN@40
47
48110µs1156µs
# spent 169µs (13+156) within Package::Stash::BEGIN@48 which was called: # once (13µs+156µs) by Class::MOP::Package::BEGIN@16 at line 56
use Package::DeprecationManager -deprecations => {
# spent 156µs making 1 call to Package::DeprecationManager::import
49 'Package::Stash::add_package_symbol' => 0.14,
50 'Package::Stash::remove_package_glob' => 0.14,
51 'Package::Stash::has_package_symbol' => 0.14,
52 'Package::Stash::get_package_symbol' => 0.14,
53 'Package::Stash::get_or_add_package_symbol' => 0.14,
54 'Package::Stash::remove_package_symbol' => 0.14,
55 'Package::Stash::list_all_package_symbols' => 0.14,
562131µs1169µs};
# spent 169µs making 1 call to Package::Stash::BEGIN@48
57
58sub add_package_symbol {
59 #deprecated('add_package_symbol is deprecated, please use add_symbol');
60 shift->add_symbol(@_);
61}
62
63sub remove_package_glob {
64 #deprecated('remove_package_glob is deprecated, please use remove_glob');
65 shift->remove_glob(@_);
66}
67
68sub has_package_symbol {
69 #deprecated('has_package_symbol is deprecated, please use has_symbol');
70 shift->has_symbol(@_);
71}
72
73sub get_package_symbol {
74 #deprecated('get_package_symbol is deprecated, please use get_symbol');
75 shift->get_symbol(@_);
76}
77
78sub get_or_add_package_symbol {
79 #deprecated('get_or_add_package_symbol is deprecated, please use get_or_add_symbol');
80 shift->get_or_add_symbol(@_);
81}
82
83sub remove_package_symbol {
84 #deprecated('remove_package_symbol is deprecated, please use remove_symbol');
85 shift->remove_symbol(@_);
86}
87
88sub list_all_package_symbols {
89 #deprecated('list_all_package_symbols is deprecated, please use list_all_symbols');
90 shift->list_all_symbols(@_);
91}
92
93
9413µs1;
95
96__END__