← Index
NYTProf Performance Profile   « block view • line view • sub view »
For -e
  Run on Sun Aug 5 15:24:32 2012
Reported on Sun Aug 5 15:24:58 2012

Filename/usr/lib/perl5/site_perl/5.12.4/i686-linux/Params/Validate/XS.pm
StatementsExecuted 15 statements in 2.20ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
4682298.0ms98.0msParams::Validate::XS::::validateParams::Validate::XS::validate (xsub)
4232149.0ms49.0msParams::Validate::XS::::validate_posParams::Validate::XS::validate_pos (xsub)
11183µs109µsParams::Validate::XS::::BEGIN@3Params::Validate::XS::BEGIN@3
11166µs161µsParams::Validate::XS::::BEGIN@4Params::Validate::XS::BEGIN@4
11165µs65µsParams::Validate::XS::::BEGIN@35Params::Validate::XS::BEGIN@35
0000s0sParams::Validate::XS::::__ANON__[:9]Params::Validate::XS::__ANON__[:9]
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;
2
33162µs2135µs
# spent 109µs (83+26) within Params::Validate::XS::BEGIN@3 which was called: # once (83µs+26µs) by Module::Runtime::require_module at line 3
use strict;
# spent 109µs making 1 call to Params::Validate::XS::BEGIN@3 # spent 26µs making 1 call to strict::import
43760µs2256µs
# spent 161µs (66+95) within Params::Validate::XS::BEGIN@4 which was called: # once (66µs+95µs) by Module::Runtime::require_module at line 4
use warnings;
# spent 161µs making 1 call to Params::Validate::XS::BEGIN@4 # spent 95µs making 1 call to warnings::import
5
6my $default_fail = sub {
7 require Carp;
8 Carp::confess( $_[0] );
9116µs};
10
11{
12225µs my %defaults = (
13 ignore_case => 0,
14 strip_leading => 0,
15 allow_extra => 0,
16 on_fail => $default_fail,
17 stack_skip => 1,
18 normalize_keys => undef,
19 );
20
2118µs *set_options = \&validation_options;
22
23 sub validation_options {
24 my %opts = @_;
25
26 my $caller = caller;
27
28 foreach ( keys %defaults ) {
29 $opts{$_} = $defaults{$_} unless exists $opts{$_};
30 }
31
32 $Params::Validate::OPTIONS{$caller} = \%opts;
33 }
34
353451µs165µs
# spent 65µs within Params::Validate::XS::BEGIN@35 which was called: # once (65µs+0s) by Module::Runtime::require_module at line 35
use XSLoader;
# spent 65µs making 1 call to Params::Validate::XS::BEGIN@35
36 XSLoader::load(
37 __PACKAGE__,
38 exists $Params::Validate::XS::{VERSION}
391742µs1704µs ? ${ $Params::Validate::XS::{VERSION} }
# spent 704µs making 1 call to XSLoader::load
40 : (),
41 );
42}
43
44sub _check_regex_from_xs {
45 return ( defined $_[0] ? $_[0] : '' ) =~ /$_[1]/ ? 1 : 0;
46}
47
48136µs1;
 
# spent 98.0ms within Params::Validate::XS::validate which was called 468 times, avg 209µs/call: # 466 times (97.7ms+0s) by DateTime::Locale::_register at line 41 of DateTime/Locale.pm, avg 210µs/call # 2 times (312µs+0s) by DateTime::TimeZone::new at line 34 of DateTime/TimeZone.pm, avg 156µs/call
sub Params::Validate::XS::validate; # xsub
# spent 49.0ms within Params::Validate::XS::validate_pos which was called 423 times, avg 116µs/call: # 422 times (48.9ms+0s) by DateTime::Locale::_registered_id at line 92 of DateTime/Locale.pm, avg 116µs/call # once (136µs+0s) by DateTime::Locale::load at line 182 of DateTime/Locale.pm
sub Params::Validate::XS::validate_pos; # xsub