← Index
NYTProf Performance Profile   « block view • line view • sub view »
For mentat.storage.mongo.pl
  Run on Tue Jun 24 10:04:38 2014
Reported on Tue Jun 24 10:05:24 2014

Filename/usr/local/lib/perl/5.14.2/Params/Validate/XS.pm
StatementsExecuted 16 statements in 445µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
477656.78ms6.80msParams::Validate::XS::::validateParams::Validate::XS::validate (xsub)
424211.62ms1.62msParams::Validate::XS::::validate_posParams::Validate::XS::validate_pos (xsub)
11113µs19µsParams::Validate::XS::::BEGIN@6Params::Validate::XS::BEGIN@6
11112µs16µsParams::Validate::XS::::_check_regex_from_xsParams::Validate::XS::_check_regex_from_xs
1116µs11µsParams::Validate::XS::::BEGIN@7Params::Validate::XS::BEGIN@7
1114µs4µsParams::Validate::XS::::BEGIN@38Params::Validate::XS::BEGIN@38
1113µs3µsParams::Validate::XS::::CORE:matchParams::Validate::XS::CORE:match (opcode)
111800ns800nsParams::Validate::XS::::CORE:regcompParams::Validate::XS::CORE:regcomp (opcode)
0000s0sParams::Validate::XS::::__ANON__[:12]Params::Validate::XS::__ANON__[:12]
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{
321µs $Params::Validate::XS::VERSION = '1.08';
4}
5
6227µs226µs
# spent 19µs (13+7) within Params::Validate::XS::BEGIN@6 which was called: # once (13µs+7µs) by Module::Runtime::require_module at line 6
use strict;
# spent 19µs making 1 call to Params::Validate::XS::BEGIN@6 # spent 7µs making 1 call to strict::import
72139µs216µs
# spent 11µs (6+5) within Params::Validate::XS::BEGIN@7 which was called: # once (6µs+5µs) by Module::Runtime::require_module at line 7
use warnings;
# spent 11µs making 1 call to Params::Validate::XS::BEGIN@7 # spent 5µs making 1 call to warnings::import
8
9my $default_fail = sub {
10 require Carp;
11 Carp::confess( $_[0] );
1212µs};
13
14{
1525µs my %defaults = (
16 ignore_case => 0,
17 strip_leading => 0,
18 allow_extra => 0,
19 on_fail => $default_fail,
20 stack_skip => 1,
21 normalize_keys => undef,
22 );
23
2411µs *set_options = \&validation_options;
25
26 sub validation_options {
27 my %opts = @_;
28
29 my $caller = caller;
30
31 foreach ( keys %defaults ) {
32 $opts{$_} = $defaults{$_} unless exists $opts{$_};
33 }
34
35 $Params::Validate::OPTIONS{$caller} = \%opts;
36 }
37
38279µs14µs
# spent 4µs within Params::Validate::XS::BEGIN@38 which was called: # once (4µs+0s) by Module::Runtime::require_module at line 38
use XSLoader;
# spent 4µs making 1 call to Params::Validate::XS::BEGIN@38
3911µs XSLoader::load(
40 __PACKAGE__,
41 exists $Params::Validate::XS::{VERSION}
421166µs1160µs ? ${ $Params::Validate::XS::{VERSION} }
# spent 160µs making 1 call to XSLoader::load
43 : (),
44 );
45}
46
47
# spent 16µs (12+4) within Params::Validate::XS::_check_regex_from_xs which was called: # once (12µs+4µs) by Params::Validate::XS::validate at line 504 of DateTime.pm
sub _check_regex_from_xs {
48116µs24µs return ( defined $_[0] ? $_[0] : '' ) =~ /$_[1]/ ? 1 : 0;
# spent 3µs making 1 call to Params::Validate::XS::CORE:match # spent 800ns making 1 call to Params::Validate::XS::CORE:regcomp
49}
50
5118µs1;
 
# spent 3µs within Params::Validate::XS::CORE:match which was called: # once (3µs+0s) by Params::Validate::XS::_check_regex_from_xs at line 48
sub Params::Validate::XS::CORE:match; # opcode
# spent 800ns within Params::Validate::XS::CORE:regcomp which was called: # once (800ns+0s) by Params::Validate::XS::_check_regex_from_xs at line 48
sub Params::Validate::XS::CORE:regcomp; # opcode
# spent 6.80ms (6.78+16µs) within Params::Validate::XS::validate which was called 477 times, avg 14µs/call: # 466 times (6.61ms+0s) by DateTime::Locale::_register at line 41 of DateTime/Locale.pm, avg 14µs/call # 6 times (57µs+0s) by DateTime::TimeZone::new at line 38 of DateTime/TimeZone.pm, avg 10µs/call # 2 times (31µs+0s) by DateTime::Duration::new at line 31 of DateTime/Duration.pm, avg 16µs/call # once (57µs+16µs) by DateTime::from_epoch at line 504 of DateTime.pm # once (15µs+0s) by DateTime::TimeZone::_init at line 117 of DateTime/TimeZone.pm # once (6µs+0s) by DateTime::TimeZone::OffsetOnly::new at line 19 of DateTime/TimeZone/OffsetOnly.pm
sub Params::Validate::XS::validate; # xsub
# spent 1.62ms within Params::Validate::XS::validate_pos which was called 424 times, avg 4µs/call: # 422 times (1.61ms+0s) by DateTime::Locale::_registered_id at line 92 of DateTime/Locale.pm, avg 4µs/call # 2 times (13µs+0s) by DateTime::Locale::load at line 182 of DateTime/Locale.pm, avg 7µs/call
sub Params::Validate::XS::validate_pos; # xsub