← Index
NYTProf Performance Profile   « block view • line view • sub view »
For mentat.storage.mongo.pl
  Run on Tue Jun 24 09:58:41 2014
Reported on Tue Jun 24 09:59:16 2014

Filename/usr/local/lib/perl/5.14.2/Sub/Name.pm
StatementsExecuted 15 statements in 422µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1978654.98ms4.98msSub::Name::::subnameSub::Name::subname (xsub)
11164µs64µsSub::Name::::bootstrapSub::Name::bootstrap (xsub)
11138µs38µsSub::Name::::BEGIN@42Sub::Name::BEGIN@42
11123µs112µsSub::Name::::BEGIN@49Sub::Name::BEGIN@49
11115µs27µsSub::Name::::BEGIN@45Sub::Name::BEGIN@45
11115µs22µsSub::Name::::BEGIN@44Sub::Name::BEGIN@44
11113µs88µsSub::Name::::BEGIN@50Sub::Name::BEGIN@50
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Sub::Name;
2
3=head1 NAME
4
5Sub::Name - (re)name a sub
6
7=head1 SYNOPSIS
8
9 use Sub::Name;
10
11 subname $name, $subref;
12
13 $subref = subname foo => sub { ... };
14
15=head1 DESCRIPTION
16
17This module has only one function, which is also exported by default:
18
19=head2 subname NAME, CODEREF
20
21Assigns a new name to referenced sub. If package specification is omitted in
22the name, then the current package is used. The return value is the sub.
23
24The name is only used for informative routines (caller, Carp, etc). You won't
25be able to actually invoke the sub by the given name. To allow that, you need
26to do glob-assignment yourself.
27
28Note that for anonymous closures (subs that reference lexicals declared outside
29the sub itself) you can name each instance of the closure differently, which
30can be very useful for debugging.
31
32=head1 AUTHOR
33
34Matthijs van Duin <xmath@cpan.org>
35
36Copyright (C) 2004, 2008 Matthijs van Duin. All rights reserved.
37This program is free software; you can redistribute it and/or modify
38it under the same terms as Perl itself.
39
40=cut
41
42294µs138µs
# spent 38µs within Sub::Name::BEGIN@42 which was called: # once (38µs+0s) by Try::Tiny::BEGIN@1 at line 42
use 5.006;
# spent 38µs making 1 call to Sub::Name::BEGIN@42
43
44252µs229µs
# spent 22µs (15+7) within Sub::Name::BEGIN@44 which was called: # once (15µs+7µs) by Try::Tiny::BEGIN@1 at line 44
use strict;
# spent 22µs making 1 call to Sub::Name::BEGIN@44 # spent 7µs making 1 call to strict::import
45272µs238µs
# spent 27µs (15+12) within Sub::Name::BEGIN@45 which was called: # once (15µs+12µs) by Try::Tiny::BEGIN@1 at line 45
use warnings;
# spent 27µs making 1 call to Sub::Name::BEGIN@45 # spent 12µs making 1 call to warnings::import
46
4711µsour $VERSION = '0.05';
48
49256µs2201µs
# spent 112µs (23+89) within Sub::Name::BEGIN@49 which was called: # once (23µs+89µs) by Try::Tiny::BEGIN@1 at line 49
use base 'Exporter';
# spent 112µs making 1 call to Sub::Name::BEGIN@49 # spent 89µs making 1 call to base::import
502121µs2163µs
# spent 88µs (13+75) within Sub::Name::BEGIN@50 which was called: # once (13µs+75µs) by Try::Tiny::BEGIN@1 at line 50
use base 'DynaLoader';
# spent 88µs making 1 call to Sub::Name::BEGIN@50 # spent 75µs making 1 call to base::import
51
5212µsour @EXPORT = qw(subname);
531900nsour @EXPORT_OK = @EXPORT;
54
55113µs1337µsbootstrap Sub::Name $VERSION;
# spent 337µs making 1 call to DynaLoader::bootstrap
56
57111µs1;
 
# spent 64µs within Sub::Name::bootstrap which was called: # once (64µs+0s) by DynaLoader::bootstrap at line 207 of DynaLoader.pm
sub Sub::Name::bootstrap; # xsub
# spent 4.98ms within Sub::Name::subname which was called 1978 times, avg 3µs/call: # 706 times (1.96ms+0s) by Try::Tiny::try at line 62 of Try/Tiny.pm, avg 3µs/call # 706 times (1.26ms+0s) by Try::Tiny::try at line 63 of Try/Tiny.pm, avg 2µs/call # 431 times (1.44ms+0s) by Class::MOP::Mixin::HasMethods::add_method at line 83 of Class/MOP/Mixin/HasMethods.pm, avg 3µs/call # 88 times (193µs+0s) by Moose::Exporter::__ANON__[/usr/local/lib/perl/5.14.2/Moose/Exporter.pm:379] at line 374 of Moose/Exporter.pm, avg 2µs/call # 46 times (121µs+0s) by Class::MOP::Class::add_around_method_modifier at line 1099 of Class/MOP/Class.pm, avg 3µs/call # once (3µs+0s) by Moose::Meta::TypeConstraint::_compile_subtype at line 391 of Moose/Meta/TypeConstraint.pm
sub Sub::Name::subname; # xsub