← Index
NYTProf Performance Profile   « block view • line view • sub view »
For -e
  Run on Sun Aug 5 15:24:32 2012
Reported on Sun Aug 5 15:24:49 2012

Filename/usr/lib/perl5/site_perl/5.12.1/DateTime/TimeZone/OffsetOnly.pm
StatementsExecuted 24 statements in 2.96ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1111.36ms2.12msDateTime::TimeZone::OffsetOnly::::BEGIN@11DateTime::TimeZone::OffsetOnly::BEGIN@11
11184µs110µsDateTime::TimeZone::OffsetOnly::::BEGIN@3DateTime::TimeZone::OffsetOnly::BEGIN@3
11158µs298µsDateTime::TimeZone::OffsetOnly::::BEGIN@12DateTime::TimeZone::OffsetOnly::BEGIN@12
11153µs469µsDateTime::TimeZone::OffsetOnly::::BEGIN@9DateTime::TimeZone::OffsetOnly::BEGIN@9
11150µs202µsDateTime::TimeZone::OffsetOnly::::BEGIN@5DateTime::TimeZone::OffsetOnly::BEGIN@5
42143µs43µsDateTime::TimeZone::OffsetOnly::::is_utcDateTime::TimeZone::OffsetOnly::is_utc
11136µs36µsDateTime::TimeZone::OffsetOnly::::BEGIN@8DateTime::TimeZone::OffsetOnly::BEGIN@8
0000s0sDateTime::TimeZone::OffsetOnly::::STORABLE_freezeDateTime::TimeZone::OffsetOnly::STORABLE_freeze
0000s0sDateTime::TimeZone::OffsetOnly::::STORABLE_thawDateTime::TimeZone::OffsetOnly::STORABLE_thaw
0000s0sDateTime::TimeZone::OffsetOnly::::categoryDateTime::TimeZone::OffsetOnly::category
0000s0sDateTime::TimeZone::OffsetOnly::::is_dst_for_datetimeDateTime::TimeZone::OffsetOnly::is_dst_for_datetime
0000s0sDateTime::TimeZone::OffsetOnly::::newDateTime::TimeZone::OffsetOnly::new
0000s0sDateTime::TimeZone::OffsetOnly::::offset_for_datetimeDateTime::TimeZone::OffsetOnly::offset_for_datetime
0000s0sDateTime::TimeZone::OffsetOnly::::offset_for_local_datetimeDateTime::TimeZone::OffsetOnly::offset_for_local_datetime
0000s0sDateTime::TimeZone::OffsetOnly::::short_name_for_datetimeDateTime::TimeZone::OffsetOnly::short_name_for_datetime
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package DateTime::TimeZone::OffsetOnly;
2
33155µs2135µs
# spent 110µs (84+25) within DateTime::TimeZone::OffsetOnly::BEGIN@3 which was called: # once (84µs+25µs) by base::import at line 3
use strict;
# spent 110µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@3 # spent 25µs making 1 call to strict::import
4
53188µs2355µs
# spent 202µs (50+152) within DateTime::TimeZone::OffsetOnly::BEGIN@5 which was called: # once (50µs+152µs) by base::import at line 5
use vars qw ($VERSION);
# spent 202µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@5 # spent 152µs making 1 call to vars::import
614µs$VERSION = 0.02;
7
83132µs136µs
# spent 36µs within DateTime::TimeZone::OffsetOnly::BEGIN@8 which was called: # once (36µs+0s) by base::import at line 8
use DateTime::TimeZone;
# spent 36µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@8
93164µs2469µs
# spent 469µs (53+417) within DateTime::TimeZone::OffsetOnly::BEGIN@9 which was called: # once (53µs+417µs) by base::import at line 9
use base 'DateTime::TimeZone';
# spent 469µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@9 # spent 417µs making 1 call to base::import, recursion: max depth 1, sum of overlapping time 417µs
10
113599µs12.12ms
# spent 2.12ms (1.36+759µs) within DateTime::TimeZone::OffsetOnly::BEGIN@11 which was called: # once (1.36ms+759µs) by base::import at line 11
use DateTime::TimeZone::UTC;
# spent 2.12ms making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@11
1231.63ms2538µs
# spent 298µs (58+240) within DateTime::TimeZone::OffsetOnly::BEGIN@12 which was called: # once (58µs+240µs) by base::import at line 12
use Params::Validate qw( validate SCALAR );
# spent 298µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@12 # spent 240µs making 1 call to Exporter::import
13
14sub new {
15 my $class = shift;
16 my %p = validate(
17 @_, {
18 offset => { type => SCALAR },
19 }
20 );
21
22 my $offset = DateTime::TimeZone::offset_as_seconds( $p{offset} );
23
24 die "Invalid offset: $p{offset}\n" unless defined $offset;
25
26 return DateTime::TimeZone::UTC->new unless $offset;
27
28 my $self = {
29 name => DateTime::TimeZone::offset_as_string($offset),
30 offset => $offset,
31 };
32
33 return bless $self, $class;
34}
35
36sub is_dst_for_datetime {0}
37
38sub offset_for_datetime { $_[0]->{offset} }
39sub offset_for_local_datetime { $_[0]->{offset} }
40
41476µs
# spent 43µs within DateTime::TimeZone::OffsetOnly::is_utc which was called 4 times, avg 11µs/call: # 2 times (22µs+0s) by DateTime::_calc_utc_rd at line 370 of DateTime.pm, avg 11µs/call # 2 times (20µs+0s) by DateTime::_calc_local_rd at line 411 of DateTime.pm, avg 10µs/call
sub is_utc {0}
42
43sub short_name_for_datetime { $_[0]->name }
44
45sub category {undef}
46
47sub STORABLE_freeze {
48 my $self = shift;
49
50 return $self->name;
51}
52
53sub STORABLE_thaw {
54 my $self = shift;
55 my $cloning = shift;
56 my $serialized = shift;
57
58 my $class = ref $self || $self;
59
60 my $obj;
61 if ( $class->isa(__PACKAGE__) ) {
62 $obj = __PACKAGE__->new( offset => $serialized );
63 }
64 else {
65 $obj = $class->new( offset => $serialized );
66 }
67
68 %$self = %$obj;
69
70 return $self;
71}
72
73116µs1;
74
75__END__