← 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/XS.pm
StatementsExecuted 15 statements in 437µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
499655.52ms5.59msParams::Validate::XS::::validateParams::Validate::XS::validate (xsub)
424211.14ms1.14msParams::Validate::XS::::validate_posParams::Validate::XS::validate_pos (xsub)
11112µs25µsParams::Validate::XS::::BEGIN@3Params::Validate::XS::BEGIN@3
1117µs44µsParams::Validate::XS::::BEGIN@6Params::Validate::XS::BEGIN@6
1117µs12µsParams::Validate::XS::::BEGIN@4Params::Validate::XS::BEGIN@4
1116µs6µsParams::Validate::XS::::BEGIN@36Params::Validate::XS::BEGIN@36
0000s0sParams::Validate::XS::::__ANON__[:10]Params::Validate::XS::__ANON__[:10]
0000s0sParams::Validate::XS::::_check_regex_from_xsParams::Validate::XS::_check_regex_from_xs
0000s0sParams::Validate::XS::::validation_optionsParams::Validate::XS::validation_options
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::XS;
21300ns$Params::Validate::XS::VERSION = '1.13';
3225µs237µs
# spent 25µs (12+12) within Params::Validate::XS::BEGIN@3 which was called: # once (12µs+12µs) by Module::Runtime::require_module at line 3
use strict;
# spent 25µs making 1 call to Params::Validate::XS::BEGIN@3 # spent 12µs making 1 call to strict::import
4222µs216µs
# spent 12µs (7+4) within Params::Validate::XS::BEGIN@4 which was called: # once (7µs+4µs) by Module::Runtime::require_module at line 4
use warnings;
# spent 12µs making 1 call to Params::Validate::XS::BEGIN@4 # spent 4µs making 1 call to warnings::import
5
62144µs280µs
# spent 44µs (7+36) within Params::Validate::XS::BEGIN@6 which was called: # once (7µs+36µs) by Module::Runtime::require_module at line 6
use Carp;
# spent 44µs making 1 call to Params::Validate::XS::BEGIN@6 # spent 36µs making 1 call to Exporter::import
7
8my $default_fail = sub {
9 Carp::confess( $_[0] );
1012µs};
11
12{
1325µs my %defaults = (
14 ignore_case => 0,
15 strip_leading => 0,
16 allow_extra => 0,
17 on_fail => $default_fail,
18 stack_skip => 1,
19 normalize_keys => undef,
20 );
21
221800ns *set_options = \&validation_options;
23
24 sub validation_options {
25 my %opts = @_;
26
27 my $caller = caller;
28
29 foreach ( keys %defaults ) {
30 $opts{$_} = $defaults{$_} unless exists $opts{$_};
31 }
32
33 $Params::Validate::OPTIONS{$caller} = \%opts;
34 }
35
36287µs16µs
# spent 6µs within Params::Validate::XS::BEGIN@36 which was called: # once (6µs+0s) by Module::Runtime::require_module at line 36
use XSLoader;
# spent 6µs making 1 call to Params::Validate::XS::BEGIN@36
37 XSLoader::load(
38 __PACKAGE__,
39 exists $Params::Validate::XS::{VERSION}
401145µs1138µs ? ${ $Params::Validate::XS::{VERSION} }
# spent 138µs making 1 call to XSLoader::load
41 : (),
42 );
43}
44
45sub _check_regex_from_xs {
46 return ( defined $_[0] ? $_[0] : '' ) =~ /$_[1]/ ? 1 : 0;
47}
48
4916µs1;
 
# spent 5.59ms (5.52+71µs) within Params::Validate::XS::validate which was called 499 times, avg 11µs/call: # 466 times (5.06ms+0s) by DateTime::Locale::_register at line 41 of DateTime/Locale.pm, avg 11µs/call # 10 times (189µs+39µs) by DateTime::Format::Builder::Parser::create_single_parser at line 164 of DateTime/Format/Builder/Parser.pm, avg 23µs/call # 10 times (162µs+32µs) by DateTime::Format::Builder::Parser::create_single_parser at line 185 of DateTime/Format/Builder/Parser.pm, avg 19µs/call # 10 times (65µs+0s) by DateTime::Format::Builder::Parser::generic::generic_parser at line 26 of DateTime/Format/Builder/Parser/generic.pm, avg 7µs/call # 2 times (18µs+0s) by DateTime::TimeZone::new at line 34 of DateTime/TimeZone.pm, avg 9µs/call # once (18µs+0s) by DateTime::Format::Builder::create_class at line 31 of DateTime/Format/Builder.pm
sub Params::Validate::XS::validate; # xsub
# spent 1.14ms within Params::Validate::XS::validate_pos which was called 424 times, avg 3µs/call: # 422 times (1.13ms+0s) by DateTime::Locale::_registered_id at line 92 of DateTime/Locale.pm, avg 3µs/call # 2 times (10µs+0s) by DateTime::Locale::load at line 182 of DateTime/Locale.pm, avg 5µs/call
sub Params::Validate::XS::validate_pos; # xsub