← Index
NYTProf Performance Profile   « block view • line view • sub view »
For mongo_pain.pl
  Run on Fri Mar 25 17:00:29 2011
Reported on Fri Mar 25 17:07:06 2011

Filename/usr/local/share/perl/5.10.1/DateTime/TimeZone/OffsetOnly.pm
StatementsExecuted 24 statements in 759µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
111368µs460µsDateTime::TimeZone::OffsetOnly::::BEGIN@12DateTime::TimeZone::OffsetOnly::BEGIN@12
11114µs17µsDateTime::TimeZone::OffsetOnly::::BEGIN@6DateTime::TimeZone::OffsetOnly::BEGIN@6
11112µs12µsDateTime::TimeZone::OffsetOnly::::BEGIN@2DateTime::TimeZone::OffsetOnly::BEGIN@2
11112µs69µsDateTime::TimeZone::OffsetOnly::::BEGIN@13DateTime::TimeZone::OffsetOnly::BEGIN@13
11111µs45µsDateTime::TimeZone::OffsetOnly::::BEGIN@10DateTime::TimeZone::OffsetOnly::BEGIN@10
11111µs23µsDateTime::TimeZone::OffsetOnly::::BEGIN@7DateTime::TimeZone::OffsetOnly::BEGIN@7
1116µs6µsDateTime::TimeZone::OffsetOnly::::BEGIN@9DateTime::TimeZone::OffsetOnly::BEGIN@9
4215µs5µsDateTime::TimeZone::OffsetOnly::::is_utcDateTime::TimeZone::OffsetOnly::is_utc
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
# spent 12µs within DateTime::TimeZone::OffsetOnly::BEGIN@2 which was called: # once (12µs+0s) by parent::import at line 4
BEGIN {
316µs $DateTime::TimeZone::OffsetOnly::VERSION = '1.31';
4129µs112µs}
# spent 12µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@2
5
6333µs220µs
# spent 17µs (14+3) within DateTime::TimeZone::OffsetOnly::BEGIN@6 which was called: # once (14µs+3µs) by parent::import at line 6
use strict;
# spent 17µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@6 # spent 3µs making 1 call to strict::import
7334µs235µs
# spent 23µs (11+12) within DateTime::TimeZone::OffsetOnly::BEGIN@7 which was called: # once (11µs+12µs) by parent::import at line 7
use warnings;
# spent 23µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@7 # spent 12µs making 1 call to warnings::import
8
9336µs16µs
# spent 6µs within DateTime::TimeZone::OffsetOnly::BEGIN@9 which was called: # once (6µs+0s) by parent::import at line 9
use DateTime::TimeZone;
# spent 6µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@9
10338µs245µs
# spent 45µs (11+35) within DateTime::TimeZone::OffsetOnly::BEGIN@10 which was called: # once (11µs+35µs) by parent::import at line 10
use parent 'DateTime::TimeZone';
# spent 45µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@10 # spent 35µs making 1 call to parent::import, recursion: max depth 1, sum of overlapping time 35µs
11
123126µs1460µs
# spent 460µs (368+92) within DateTime::TimeZone::OffsetOnly::BEGIN@12 which was called: # once (368µs+92µs) by parent::import at line 12
use DateTime::TimeZone::UTC;
# spent 460µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@12
133433µs2127µs
# spent 69µs (12+58) within DateTime::TimeZone::OffsetOnly::BEGIN@13 which was called: # once (12µs+58µs) by parent::import at line 13
use Params::Validate qw( validate SCALAR );
# spent 69µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@13 # spent 58µs making 1 call to Exporter::import
14
15sub new {
16 my $class = shift;
17 my %p = validate(
18 @_, {
19 offset => { type => SCALAR },
20 }
21 );
22
23 my $offset = DateTime::TimeZone::offset_as_seconds( $p{offset} );
24
25 die "Invalid offset: $p{offset}\n" unless defined $offset;
26
27 return DateTime::TimeZone::UTC->new unless $offset;
28
29 my $self = {
30 name => DateTime::TimeZone::offset_as_string($offset),
31 offset => $offset,
32 };
33
34 return bless $self, $class;
35}
36
37sub is_dst_for_datetime {0}
38
39sub offset_for_datetime { $_[0]->{offset} }
40sub offset_for_local_datetime { $_[0]->{offset} }
41
42420µs
# spent 5µs within DateTime::TimeZone::OffsetOnly::is_utc which was called 4 times, avg 1µs/call: # 2 times (3µs+0s) by DateTime::_calc_utc_rd at line 368 of DateTime.pm, avg 2µs/call # 2 times (2µs+0s) by DateTime::_calc_local_rd at line 409 of DateTime.pm, avg 1µs/call
sub is_utc {0}
43
44sub short_name_for_datetime { $_[0]->name }
45
46sub category {undef}
47
48sub STORABLE_freeze {
49 my $self = shift;
50
51 return $self->name;
52}
53
54sub STORABLE_thaw {
55 my $self = shift;
56 my $cloning = shift;
57 my $serialized = shift;
58
59 my $class = ref $self || $self;
60
61 my $obj;
62 if ( $class->isa(__PACKAGE__) ) {
63 $obj = __PACKAGE__->new( offset => $serialized );
64 }
65 else {
66 $obj = $class->new( offset => $serialized );
67 }
68
69 %$self = %$obj;
70
71 return $self;
72}
73
7413µs1;
75
76# ABSTRACT: A DateTime::TimeZone object that just contains an offset
77
- -
80=pod
81
- -
137__END__