← Index
NYTProf Performance Profile   « line view »
For svc/members/upsert
  Run on Tue Jan 13 11:50:22 2015
Reported on Tue Jan 13 12:09:47 2015

Filename/usr/lib/x86_64-linux-gnu/perl5/5.20/Params/Validate.pm
StatementsExecuted 26 statements in 2.24ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1111.50ms6.99msParams::Validate::::BEGIN@9Params::Validate::BEGIN@9
1111.37ms1.46msParams::Validate::::BEGIN@10Params::Validate::BEGIN@10
11116µs16µsParams::Validate::::BEGIN@3Params::Validate::BEGIN@3
1117µs11µsParams::Validate::::BEGIN@6Params::Validate::BEGIN@6
1117µs18µsParams::Validate::::BEGIN@5Params::Validate::BEGIN@5
1117µs42µsParams::Validate::::BEGIN@12Params::Validate::BEGIN@12
1114µs11µsParams::Validate::::BEGIN@8Params::Validate::BEGIN@8
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Params::Validate;
21400ns$Params::Validate::VERSION = '1.13';
3243µs116µs
# spent 16µs within Params::Validate::BEGIN@3 which was called: # once (16µs+0s) by DateTime::TimeZone::OffsetOnly::BEGIN@9 at line 3
use 5.008001;
# spent 16µs making 1 call to Params::Validate::BEGIN@3
4
5223µs229µs
# spent 18µs (7+11) within Params::Validate::BEGIN@5 which was called: # once (7µs+11µs) by DateTime::TimeZone::OffsetOnly::BEGIN@9 at line 5
use strict;
# spent 18µs making 1 call to Params::Validate::BEGIN@5 # spent 11µs making 1 call to strict::import
6221µs216µs
# spent 11µs (7+4) within Params::Validate::BEGIN@6 which was called: # once (7µs+4µs) by DateTime::TimeZone::OffsetOnly::BEGIN@9 at line 6
use warnings;
# spent 11µs making 1 call to Params::Validate::BEGIN@6 # spent 4µs making 1 call to warnings::import
7
822µs218µs
# spent 11µs (4+7) within Params::Validate::BEGIN@8 which was called: # once (4µs+7µs) by DateTime::TimeZone::OffsetOnly::BEGIN@9 at line 8
use Exporter;
# spent 11µs making 1 call to Params::Validate::BEGIN@8 # spent 7µs making 1 call to Exporter::import
92756µs16.99ms
# spent 6.99ms (1.50+5.49) within Params::Validate::BEGIN@9 which was called: # once (1.50ms+5.49ms) by DateTime::TimeZone::OffsetOnly::BEGIN@9 at line 9
use Module::Implementation;
# spent 6.99ms making 1 call to Params::Validate::BEGIN@9
1021.21ms21.51ms
# spent 1.46ms (1.37+84µs) within Params::Validate::BEGIN@10 which was called: # once (1.37ms+84µs) by DateTime::TimeZone::OffsetOnly::BEGIN@9 at line 10
use Params::Validate::Constants;
# spent 1.46ms making 1 call to Params::Validate::BEGIN@10 # spent 50µs making 1 call to Exporter::import
11
122155µs277µs
# spent 42µs (7+35) within Params::Validate::BEGIN@12 which was called: # once (7µs+35µs) by DateTime::TimeZone::OffsetOnly::BEGIN@9 at line 12
use vars qw( $NO_VALIDATION %OPTIONS $options );
# spent 42µs making 1 call to Params::Validate::BEGIN@12 # spent 35µs making 1 call to vars::import
13
1415µsour @ISA = 'Exporter';
15
1612µsmy %tags = (
17 types => [
18 qw(
19 SCALAR
20 ARRAYREF
21 HASHREF
22 CODEREF
23 GLOB
24 GLOBREF
25 SCALARREF
26 HANDLE
27 BOOLEAN
28 UNDEF
29 OBJECT
30 )
31 ],
32);
33
34our %EXPORT_TAGS = (
35 'all' => [
36 qw( validate validate_pos validation_options validate_with ),
3715µs map { @{ $tags{$_} } } keys %tags
38 ],
39 %tags,
40);
41
4211µsour @EXPORT_OK = ( @{ $EXPORT_TAGS{all} }, 'set_options' );
431300nsour @EXPORT = qw( validate validate_pos );
44
451300ns$NO_VALIDATION = $ENV{PERL_NO_VALIDATION};
46
47{
4823µs120µs my $loader = Module::Implementation::build_loader_sub(
# spent 20µs making 1 call to Module::Implementation::build_loader_sub
49 implementations => [ 'XS', 'PP' ],
50 symbols => [
51 qw(
52 validate
53 validate_pos
54 validate_with
55 validation_options
56 set_options
57 ),
58 ],
59 );
60
611600ns $ENV{PARAMS_VALIDATE_IMPLEMENTATION} = 'PP' if $ENV{PV_TEST_PERL};
62
6314µs12.23ms $loader->();
64}
65
6619µs1;
67
68# ABSTRACT: Validate method/function parameters
69
70__END__