← Index
NYTProf Performance Profile   « line view »
For -e
  Run on Thu Jun 30 16:16:00 2016
Reported on Thu Jun 30 16:16:08 2016

Filename/home/s1/perl5/perlbrew/perls/perl-5.22.1/lib/site_perl/5.22.1/x86_64-linux/Params/Validate/XS.pm
StatementsExecuted 7015 statements in 81.9ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
2200252542ms795msParams::Validate::XS::::validateParams::Validate::XS::validate (xsub)
70002146.2ms66.9msParams::Validate::XS::::_check_regex_from_xsParams::Validate::XS::_check_regex_from_xs
70001112.7ms12.7msParams::Validate::XS::::CORE:matchParams::Validate::XS::CORE:match (opcode)
7000117.91ms7.91msParams::Validate::XS::::CORE:regcompParams::Validate::XS::CORE:regcomp (opcode)
11133µs37µsParams::Validate::XS::::BEGIN@3Params::Validate::XS::BEGIN@3
21123µs23µsParams::Validate::XS::::validate_posParams::Validate::XS::validate_pos (xsub)
11111µs19µsParams::Validate::XS::::BEGIN@4Params::Validate::XS::BEGIN@4
11111µs63µsParams::Validate::XS::::BEGIN@8Params::Validate::XS::BEGIN@8
1118µs8µsParams::Validate::XS::::BEGIN@38Params::Validate::XS::BEGIN@38
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
3242µs242µs
# spent 37µs (33+5) within Params::Validate::XS::BEGIN@3 which was called: # once (33µs+5µs) by Module::Runtime::require_module at line 3
use strict;
# spent 37µs making 1 call to Params::Validate::XS::BEGIN@3 # spent 5µs making 1 call to strict::import
4252µs226µs
# spent 19µs (11+8) within Params::Validate::XS::BEGIN@4 which was called: # once (11µs+8µs) by Module::Runtime::require_module at line 4
use warnings;
# spent 19µs making 1 call to Params::Validate::XS::BEGIN@4 # spent 8µs making 1 call to warnings::import
5
61600nsour $VERSION = '1.24';
7
82215µs2115µs
# spent 63µs (11+52) within Params::Validate::XS::BEGIN@8 which was called: # once (11µs+52µs) by Module::Runtime::require_module at line 8
use Carp;
# spent 63µs making 1 call to Params::Validate::XS::BEGIN@8 # spent 52µs making 1 call to Exporter::import
9
10my $default_fail = sub {
11 Carp::confess( $_[0] );
1213µs};
13
14{
1528µ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
2412µ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
382129µs18µs
# spent 8µs within Params::Validate::XS::BEGIN@38 which was called: # once (8µs+0s) by Module::Runtime::require_module at line 38
use XSLoader;
# spent 8µs making 1 call to Params::Validate::XS::BEGIN@38
39 XSLoader::load(
40 __PACKAGE__,
41 exists $Params::Validate::XS::{VERSION}
421367µs1357µs ? ${ $Params::Validate::XS::{VERSION} }
# spent 357µs making 1 call to XSLoader::load
43 : (),
44 );
45}
46
47
# spent 66.9ms (46.2+20.6) within Params::Validate::XS::_check_regex_from_xs which was called 7000 times, avg 10µs/call: # 4000 times (31.7ms+10.8ms) by Params::Validate::XS::validate at line 2009 of DateTime.pm, avg 11µs/call # 3000 times (14.6ms+9.82ms) by Params::Validate::XS::validate at line 497 of DateTime.pm, avg 8µs/call
sub _check_regex_from_xs {
48700081.1ms1400020.6ms return ( defined $_[0] ? $_[0] : '' ) =~ /$_[1]/ ? 1 : 0;
# spent 12.7ms making 7000 calls to Params::Validate::XS::CORE:match, avg 2µs/call # spent 7.91ms making 7000 calls to Params::Validate::XS::CORE:regcomp, avg 1µs/call
49}
50
51113µs1;
 
# spent 12.7ms within Params::Validate::XS::CORE:match which was called 7000 times, avg 2µs/call: # 7000 times (12.7ms+0s) by Params::Validate::XS::_check_regex_from_xs at line 48, avg 2µs/call
sub Params::Validate::XS::CORE:match; # opcode
# spent 7.91ms within Params::Validate::XS::CORE:regcomp which was called 7000 times, avg 1µs/call: # 7000 times (7.91ms+0s) by Params::Validate::XS::_check_regex_from_xs at line 48, avg 1µs/call
sub Params::Validate::XS::CORE:regcomp; # opcode
# spent 795ms (542+252) within Params::Validate::XS::validate which was called 22002 times, avg 36µs/call: # 6000 times (357ms+158ms) by DateTime::new at line 197 of DateTime.pm, avg 86µs/call # 6000 times (92.2ms+27.4ms) by DateTime::set at line 1954 of DateTime.pm, avg 20µs/call # 4000 times (42.0ms+42.5ms) by DateTime::truncate at line 2009 of DateTime.pm, avg 21µs/call # 3002 times (17.7ms+0s) by DateTime::TimeZone::new at line 35 of DateTime/TimeZone.pm, avg 6µs/call # 3000 times (32.9ms+24.4ms) by DateTime::from_epoch at line 497 of DateTime.pm, avg 19µs/call
sub Params::Validate::XS::validate; # xsub
# spent 23µs within Params::Validate::XS::validate_pos which was called 2 times, avg 12µs/call: # 2 times (23µs+0s) by DateTime::Locale::load at line 191 of DateTime/Locale.pm, avg 12µs/call
sub Params::Validate::XS::validate_pos; # xsub