← Index
NYTProf Performance Profile   « block view • line view • sub view »
For 01.HTTP.t
  Run on Tue May 4 15:25:55 2010
Reported on Tue May 4 15:26:13 2010

File /usr/local/lib/perl5/site_perl/5.10.1/darwin-2level/Moose/Util/TypeConstraints/OptimizedConstraints.pm
Statements Executed 16
Statement Execution Time 443µs
Subroutines — ordered by exclusive time
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11114µs21µsMoose::Util::TypeConstraints::OptimizedConstraints::::BEGIN@3Moose::Util::TypeConstraints::OptimizedConstraints::BEGIN@3
1117µs16µsMoose::Util::TypeConstraints::OptimizedConstraints::::BEGIN@4Moose::Util::TypeConstraints::OptimizedConstraints::BEGIN@4
1116µs37µsMoose::Util::TypeConstraints::OptimizedConstraints::::BEGIN@7Moose::Util::TypeConstraints::OptimizedConstraints::BEGIN@7
1114µs4µsMoose::Util::TypeConstraints::OptimizedConstraints::::BEGIN@6Moose::Util::TypeConstraints::OptimizedConstraints::BEGIN@6
0000s0sMoose::Util::TypeConstraints::OptimizedConstraints::::ArrayRefMoose::Util::TypeConstraints::OptimizedConstraints::ArrayRef
0000s0sMoose::Util::TypeConstraints::OptimizedConstraints::::ClassNameMoose::Util::TypeConstraints::OptimizedConstraints::ClassName
0000s0sMoose::Util::TypeConstraints::OptimizedConstraints::::CodeRefMoose::Util::TypeConstraints::OptimizedConstraints::CodeRef
0000s0sMoose::Util::TypeConstraints::OptimizedConstraints::::FileHandleMoose::Util::TypeConstraints::OptimizedConstraints::FileHandle
0000s0sMoose::Util::TypeConstraints::OptimizedConstraints::::GlobRefMoose::Util::TypeConstraints::OptimizedConstraints::GlobRef
0000s0sMoose::Util::TypeConstraints::OptimizedConstraints::::HashRefMoose::Util::TypeConstraints::OptimizedConstraints::HashRef
0000s0sMoose::Util::TypeConstraints::OptimizedConstraints::::IntMoose::Util::TypeConstraints::OptimizedConstraints::Int
0000s0sMoose::Util::TypeConstraints::OptimizedConstraints::::NumMoose::Util::TypeConstraints::OptimizedConstraints::Num
0000s0sMoose::Util::TypeConstraints::OptimizedConstraints::::ObjectMoose::Util::TypeConstraints::OptimizedConstraints::Object
0000s0sMoose::Util::TypeConstraints::OptimizedConstraints::::RefMoose::Util::TypeConstraints::OptimizedConstraints::Ref
0000s0sMoose::Util::TypeConstraints::OptimizedConstraints::::RegexpRefMoose::Util::TypeConstraints::OptimizedConstraints::RegexpRef
0000s0sMoose::Util::TypeConstraints::OptimizedConstraints::::RoleMoose::Util::TypeConstraints::OptimizedConstraints::Role
0000s0sMoose::Util::TypeConstraints::OptimizedConstraints::::RoleNameMoose::Util::TypeConstraints::OptimizedConstraints::RoleName
0000s0sMoose::Util::TypeConstraints::OptimizedConstraints::::ScalarRefMoose::Util::TypeConstraints::OptimizedConstraints::ScalarRef
0000s0sMoose::Util::TypeConstraints::OptimizedConstraints::::StrMoose::Util::TypeConstraints::OptimizedConstraints::Str
0000s0sMoose::Util::TypeConstraints::OptimizedConstraints::::ValueMoose::Util::TypeConstraints::OptimizedConstraints::Value
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Moose::Util::TypeConstraints::OptimizedConstraints;
2
3321µs227µs
# spent 21µs (14+6) within Moose::Util::TypeConstraints::OptimizedConstraints::BEGIN@3 which was called # once (14µs+6µs) by Moose::Util::TypeConstraints::BEGIN@39 at line 3
use strict;
# spent 21µs making 1 call to Moose::Util::TypeConstraints::OptimizedConstraints::BEGIN@3 # spent 6µs making 1 call to strict::import
4319µs225µs
# spent 16µs (7+9) within Moose::Util::TypeConstraints::OptimizedConstraints::BEGIN@4 which was called # once (7µs+9µs) by Moose::Util::TypeConstraints::BEGIN@39 at line 4
use warnings;
# spent 16µs making 1 call to Moose::Util::TypeConstraints::OptimizedConstraints::BEGIN@4 # spent 9µs making 1 call to warnings::import
5
6320µs14µs
# spent 4µs within Moose::Util::TypeConstraints::OptimizedConstraints::BEGIN@6 which was called # once (4µs+0s) by Moose::Util::TypeConstraints::BEGIN@39 at line 6
use Class::MOP;
73360µs269µs
# spent 37µs (6+31) within Moose::Util::TypeConstraints::OptimizedConstraints::BEGIN@7 which was called # once (6µs+31µs) by Moose::Util::TypeConstraints::BEGIN@39 at line 7
use Scalar::Util 'blessed', 'looks_like_number';
# spent 37µs making 1 call to Moose::Util::TypeConstraints::OptimizedConstraints::BEGIN@7 # spent 31µs making 1 call to Exporter::import
8
91600nsour $VERSION = '0.98';
10114µs$VERSION = eval $VERSION;
111300nsour $AUTHORITY = 'cpan:STEVAN';
12
13sub Value { defined($_[0]) && !ref($_[0]) }
14
15sub Ref { ref($_[0]) }
16
17# We need to use a temporary here to flatten LVALUEs, for instance as in
18# Str(substr($_,0,255)).
19sub Str {
20 my $value = $_[0];
21 defined($value) && ref(\$value) eq 'SCALAR'
22}
23
24sub Num { !ref($_[0]) && looks_like_number($_[0]) }
25
26sub Int { defined($_[0]) && !ref($_[0]) && $_[0] =~ /^-?[0-9]+$/ }
27
28sub ScalarRef { ref($_[0]) eq 'SCALAR' || ref($_[0]) eq 'REF' }
29sub ArrayRef { ref($_[0]) eq 'ARRAY' }
30sub HashRef { ref($_[0]) eq 'HASH' }
31sub CodeRef { ref($_[0]) eq 'CODE' }
32sub RegexpRef { ref($_[0]) eq 'Regexp' }
33sub GlobRef { ref($_[0]) eq 'GLOB' }
34
35sub FileHandle { ref($_[0]) eq 'GLOB' && Scalar::Util::openhandle($_[0]) or blessed($_[0]) && $_[0]->isa("IO::Handle") }
36
37sub Object { blessed($_[0]) && blessed($_[0]) ne 'Regexp' }
38
39sub Role { Carp::cluck('The Role type is deprecated.'); blessed($_[0]) && $_[0]->can('does') }
40
41sub ClassName {
42 return Class::MOP::is_class_loaded( $_[0] );
43}
44
45sub RoleName {
46 ClassName($_[0])
47 && (Class::MOP::class_of($_[0]) || return)->isa('Moose::Meta::Role')
48}
49
50# NOTE:
51# we have XS versions too, ...
52# 04:09 <@konobi> nothingmuch: konobi.co.uk/code/utilsxs.tar.gz
53# 04:09 <@konobi> or utilxs.tar.gz iirc
54
5519µs1;
56
57__END__
58
59=pod
60
61=head1 NAME
62
63Moose::Util::TypeConstraints::OptimizedConstraints - Optimized constraint
64bodies for various moose types
65
66=head1 DESCRIPTION
67
68This file contains the hand optimized versions of Moose type constraints,
69no user serviceable parts inside.
70
71=head1 FUNCTIONS
72
73=over 4
74
75=item C<Value>
76
77=item C<Ref>
78
79=item C<Str>
80
81=item C<Num>
82
83=item C<Int>
84
85=item C<ScalarRef>
86
87=item C<ArrayRef>
88
89=item C<HashRef>
90
91=item C<CodeRef>
92
93=item C<RegexpRef>
94
95=item C<GlobRef>
96
97=item C<FileHandle>
98
99=item C<Object>
100
101=item C<Role>
102
103=item C<ClassName>
104
105=item C<RoleName>
106
107=back
108
109=head1 BUGS
110
111See L<Moose/BUGS> for details on reporting bugs.
112
113=head1 AUTHOR
114
115Yuval Kogman E<lt>nothingmuch@cpan.orgE<gt>
116
117=head1 COPYRIGHT AND LICENSE
118
119Copyright 2007-2009 by Infinity Interactive, Inc.
120
121L<http://www.iinteractive.com>
122
123This library is free software; you can redistribute it and/or modify
124it under the same terms as Perl itself.
125
126=cut