← Index
NYTProf Performance Profile   « block view • line view • sub view »
For mentat.storage.mongo.pl
  Run on Tue Jun 24 09:58:41 2014
Reported on Tue Jun 24 09:59:16 2014

Filename/usr/local/lib/perl/5.14.2/Params/Validate/XS.pm
StatementsExecuted 16 statements in 922µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
4776515.5ms15.5msParams::Validate::XS::::validateParams::Validate::XS::validate (xsub)
424213.71ms3.71msParams::Validate::XS::::validate_posParams::Validate::XS::validate_pos (xsub)
11127µs35µsParams::Validate::XS::::BEGIN@6Params::Validate::XS::BEGIN@6
11124µs33µsParams::Validate::XS::::_check_regex_from_xsParams::Validate::XS::_check_regex_from_xs
11115µs27µsParams::Validate::XS::::BEGIN@7Params::Validate::XS::BEGIN@7
11111µs11µsParams::Validate::XS::::BEGIN@38Params::Validate::XS::BEGIN@38
1117µs7µsParams::Validate::XS::::CORE:matchParams::Validate::XS::CORE:match (opcode)
1112µs2µsParams::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{
322µs $Params::Validate::XS::VERSION = '1.08';
4}
5
6262µs242µs
# spent 35µs (27+7) within Params::Validate::XS::BEGIN@6 which was called: # once (27µs+7µs) by Module::Runtime::require_module at line 6
use strict;
# spent 35µs making 1 call to Params::Validate::XS::BEGIN@6 # spent 8µs making 1 call to strict::import
72316µs239µs
# spent 27µs (15+12) within Params::Validate::XS::BEGIN@7 which was called: # once (15µs+12µs) by Module::Runtime::require_module at line 7
use warnings;
# spent 27µs making 1 call to Params::Validate::XS::BEGIN@7 # spent 12µs making 1 call to warnings::import
8
9my $default_fail = sub {
10 require Carp;
11 Carp::confess( $_[0] );
1215µs};
13
14{
154304µ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
24 *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
382174µs111µs
# spent 11µs within Params::Validate::XS::BEGIN@38 which was called: # once (11µs+0s) by Module::Runtime::require_module at line 38
use XSLoader;
# spent 11µs making 1 call to Params::Validate::XS::BEGIN@38
39 XSLoader::load(
40 __PACKAGE__,
41 exists $Params::Validate::XS::{VERSION}
4213µs1278µs ? ${ $Params::Validate::XS::{VERSION} }
# spent 278µs making 1 call to XSLoader::load
43 : (),
44 );
45}
46
47
# spent 33µs (24+9) within Params::Validate::XS::_check_regex_from_xs which was called: # once (24µs+9µs) by Params::Validate::XS::validate at line 504 of DateTime.pm
sub _check_regex_from_xs {
48136µs29µs return ( defined $_[0] ? $_[0] : '' ) =~ /$_[1]/ ? 1 : 0;
# spent 7µs making 1 call to Params::Validate::XS::CORE:match # spent 2µs making 1 call to Params::Validate::XS::CORE:regcomp
49}
50
51118µs1;
 
# spent 7µs within Params::Validate::XS::CORE:match which was called: # once (7µs+0s) by Params::Validate::XS::_check_regex_from_xs at line 48
sub Params::Validate::XS::CORE:match; # opcode
# spent 2µs within Params::Validate::XS::CORE:regcomp which was called: # once (2µs+0s) by Params::Validate::XS::_check_regex_from_xs at line 48
sub Params::Validate::XS::CORE:regcomp; # opcode
# spent 15.5ms (15.5+33µs) within Params::Validate::XS::validate which was called 477 times, avg 33µs/call: # 466 times (15.1ms+0s) by DateTime::Locale::_register at line 41 of DateTime/Locale.pm, avg 32µs/call # 6 times (130µs+0s) by DateTime::TimeZone::new at line 38 of DateTime/TimeZone.pm, avg 22µs/call # 2 times (68µs+0s) by DateTime::Duration::new at line 31 of DateTime/Duration.pm, avg 34µs/call # once (115µs+33µs) by DateTime::from_epoch at line 504 of DateTime.pm # once (34µs+0s) by DateTime::TimeZone::_init at line 117 of DateTime/TimeZone.pm # once (15µs+0s) by DateTime::TimeZone::OffsetOnly::new at line 19 of DateTime/TimeZone/OffsetOnly.pm
sub Params::Validate::XS::validate; # xsub
# spent 3.71ms within Params::Validate::XS::validate_pos which was called 424 times, avg 9µs/call: # 422 times (3.68ms+0s) by DateTime::Locale::_registered_id at line 92 of DateTime/Locale.pm, avg 9µs/call # 2 times (30µs+0s) by DateTime::Locale::load at line 182 of DateTime/Locale.pm, avg 15µs/call
sub Params::Validate::XS::validate_pos; # xsub