| 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 | Params::Validate::XS::validate (xsub) |
| 717 | 2 | 1 | 17.9ms | 17.9ms | Params::Validate::XS::validate_pos (xsub) |
| 294 | 1 | 1 | 3.57ms | 7.11ms | Params::Validate::XS::_check_regex_from_xs |
| 294 | 1 | 1 | 2.45ms | 2.45ms | Params::Validate::XS::CORE:match (opcode) |
| 294 | 1 | 1 | 1.09ms | 1.09ms | Params::Validate::XS::CORE:regcomp (opcode) |
| 1 | 1 | 1 | 13µs | 16µs | Params::Validate::XS::BEGIN@3 |
| 1 | 1 | 1 | 7µs | 18µs | Params::Validate::XS::BEGIN@4 |
| 1 | 1 | 1 | 7µs | 7µs | Params::Validate::XS::BEGIN@35 |
| 0 | 0 | 0 | 0s | 0s | Params::Validate::XS::__ANON__[:9] |
| 0 | 0 | 0 | 0s | 0s | Params::Validate::XS::validation_options |
| 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 | 2 | 5µ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 | 1 | 1µ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 | |||||
| 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 | 233µs | 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 |