Filename | /2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Params/Validate/XS.pm |
Statements | Executed 309 statements in 7.97ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1373 | 8 | 7 | 84.0ms | 91.1ms | validate (xsub) | Params::Validate::XS::
717 | 2 | 1 | 17.9ms | 17.9ms | validate_pos (xsub) | Params::Validate::XS::
294 | 1 | 1 | 3.57ms | 7.11ms | _check_regex_from_xs | Params::Validate::XS::
294 | 1 | 1 | 2.45ms | 2.45ms | CORE:match (opcode) | Params::Validate::XS::
294 | 1 | 1 | 1.09ms | 1.09ms | CORE:regcomp (opcode) | Params::Validate::XS::
1 | 1 | 1 | 13µs | 16µs | BEGIN@3 | Params::Validate::XS::
1 | 1 | 1 | 7µs | 18µs | BEGIN@4 | Params::Validate::XS::
1 | 1 | 1 | 7µs | 7µs | BEGIN@35 | Params::Validate::XS::
0 | 0 | 0 | 0s | 0s | __ANON__[:9] | Params::Validate::XS::
0 | 0 | 0 | 0s | 0s | validation_options | Params::Validate::XS::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package Params::Validate::XS; | ||||
2 | |||||
3 | 3 | 19µs | 2 | 20µs | # spent 16µs (13+3) within Params::Validate::XS::BEGIN@3 which was called:
# once (13µs+3µs) by Module::Runtime::require_module at line 3 # spent 16µs making 1 call to Params::Validate::XS::BEGIN@3
# spent 3µs making 1 call to strict::import |
4 | 3 | 132µs | 2 | 28µs | # spent 18µs (7+11) within Params::Validate::XS::BEGIN@4 which was called:
# once (7µs+11µs) by Module::Runtime::require_module at line 4 # spent 18µs making 1 call to Params::Validate::XS::BEGIN@4
# spent 11µs making 1 call to warnings::import |
5 | |||||
6 | my $default_fail = sub { | ||||
7 | require Carp; | ||||
8 | Carp::confess( $_[0] ); | ||||
9 | 1 | 2µs | }; | ||
10 | |||||
11 | { | ||||
12 | 4 | 238µ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 | |||||
21 | *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 | |||||
35 | 3 | 70µs | 1 | 7µs | # spent 7µs within Params::Validate::XS::BEGIN@35 which was called:
# once (7µs+0s) by Module::Runtime::require_module at line 35 # spent 7µs making 1 call to Params::Validate::XS::BEGIN@35 |
36 | XSLoader::load( | ||||
37 | __PACKAGE__, | ||||
38 | exists $Params::Validate::XS::{VERSION} | ||||
39 | 1 | 226µs | ? ${ $Params::Validate::XS::{VERSION} } # spent 226µs making 1 call to XSLoader::load | ||
40 | : (), | ||||
41 | ); | ||||
42 | } | ||||
43 | |||||
44 | # spent 7.11ms (3.57+3.54) within Params::Validate::XS::_check_regex_from_xs which was called 294 times, avg 24µs/call:
# 294 times (3.57ms+3.54ms) by Params::Validate::XS::validate at line 490 of DateTime.pm, avg 24µs/call | ||||
45 | 294 | 7.51ms | 588 | 3.54ms | return ( defined $_[0] ? $_[0] : '' ) =~ /$_[1]/ ? 1 : 0; # spent 2.45ms making 294 calls to Params::Validate::XS::CORE:match, avg 8µs/call
# spent 1.09ms making 294 calls to Params::Validate::XS::CORE:regcomp, avg 4µs/call |
46 | } | ||||
47 | |||||
48 | 1 | 7µs | 1; | ||
# spent 2.45ms within Params::Validate::XS::CORE:match which was called 294 times, avg 8µs/call:
# 294 times (2.45ms+0s) by Params::Validate::XS::_check_regex_from_xs at line 45, avg 8µs/call | |||||
# spent 1.09ms within Params::Validate::XS::CORE:regcomp which was called 294 times, avg 4µs/call:
# 294 times (1.09ms+0s) by Params::Validate::XS::_check_regex_from_xs at line 45, avg 4µs/call | |||||
# spent 91.1ms (84.0+7.14) within Params::Validate::XS::validate which was called 1373 times, avg 66µs/call:
# 590 times (26.8ms+0s) by DateTime::TimeZone::new at line 35 of DateTime/TimeZone.pm, avg 45µs/call
# 466 times (15.1ms+0s) by DateTime::Locale::_register at line 41 of DateTime/Locale.pm, avg 32µs/call
# 294 times (41.2ms+7.11ms) by DateTime::from_epoch at line 490 of DateTime.pm, avg 164µs/call
# 7 times (272µs+16µs) by DateTime::Format::Builder::Parser::create_single_parser at line 311 of DateTime/Format/Builder/Parser.pm, avg 41µs/call
# 7 times (238µs+14µs) by DateTime::Format::Builder::Parser::create_single_parser at line 333 of DateTime/Format/Builder/Parser.pm, avg 36µs/call
# 7 times (188µs+0s) by DateTime::Format::Builder::Parser::generic::generic_parser at line 69 of DateTime/Format/Builder/Parser/generic.pm, avg 27µs/call
# once (98µs+3µs) by Test::Fixture::DBIC::Schema::construct_fixture at line 12 of Test/Fixture/DBIC/Schema.pm
# once (43µs+0s) by DateTime::Format::Builder::create_class at line 61 of DateTime/Format/Builder.pm | |||||
# spent 17.9ms within Params::Validate::XS::validate_pos which was called 717 times, avg 25µs/call:
# 422 times (6.71ms+0s) by DateTime::Locale::_registered_id at line 92 of DateTime/Locale.pm, avg 16µs/call
# 295 times (11.2ms+0s) by DateTime::Locale::load at line 182 of DateTime/Locale.pm, avg 38µs/call |