Profile of Params/Validate/XS.pm

← Index
NYTProf Performance Profile «block view•line view•sub view»
For xt/tapper-mcp-scheduler-with-db-longrun.t
Run on Tue May 22 17:18:39 2012
Reported on Tue May 22 17:23:53 2012

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

Subroutines
Calls | P | F | Exclusive Time | Inclusive Time | Subroutine
--- | --- | --- | --- | --- | ---
1373 | 8 | 7 | 84.0ms | 91.1ms | Params::Validate::XS::::validateParams::Validate::XS::validate (xsub)
717 | 2 | 1 | 17.9ms | 17.9ms | Params::Validate::XS::::validate_posParams::Validate::XS::validate_pos (xsub)
294 | 1 | 1 | 3.57ms | 7.11ms | Params::Validate::XS::::_check_regex_from_xsParams::Validate::XS::_check_regex_from_xs
294 | 1 | 1 | 2.45ms | 2.45ms | Params::Validate::XS::::CORE:matchParams::Validate::XS::CORE:match (opcode)
294 | 1 | 1 | 1.09ms | 1.09ms | Params::Validate::XS::::CORE:regcompParams::Validate::XS::CORE:regcomp (opcode)
1 | 1 | 1 | 13µs | 16µs | Params::Validate::XS::::BEGIN@3Params::Validate::XS::BEGIN@3
1 | 1 | 1 | 7µs | 18µs | Params::Validate::XS::::BEGIN@4Params::Validate::XS::BEGIN@4
1 | 1 | 1 | 7µs | 7µs | Params::Validate::XS::::BEGIN@35Params::Validate::XS::BEGIN@35
0 | 0 | 0 | 0s | 0s | Params::Validate::XS::::__ANON__[:9]Params::Validate::XS::__ANON__[:9]
0 | 0 | 0 | 0s | 0s | Params::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
--- | --- | --- | --- | --- | ---
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 use strict; # 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 use warnings; # 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 use XSLoader; # 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 sub _check_regex_from_xs {
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 sub Params::Validate::XS::CORE:match; # opcode
|  |  |  |  | # 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 sub Params::Validate::XS::CORE:regcomp; # opcode
|  |  |  |  | # 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 sub Params::Validate::XS::validate; # xsub
|  |  |  |  | # 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 sub Params::Validate::XS::validate_pos; # xsub