← 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:58 2012

Filename/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/DateTime/TimeZone/OffsetOnly.pm
StatementsExecuted 22 statements in 464µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
111197µs253µsDateTime::TimeZone::OffsetOnly::::BEGIN@11DateTime::TimeZone::OffsetOnly::BEGIN@11
11112µs14µsDateTime::TimeZone::OffsetOnly::::BEGIN@6DateTime::TimeZone::OffsetOnly::BEGIN@6
1119µs62µsDateTime::TimeZone::OffsetOnly::::BEGIN@12DateTime::TimeZone::OffsetOnly::BEGIN@12
1118µs33µsDateTime::TimeZone::OffsetOnly::::BEGIN@9DateTime::TimeZone::OffsetOnly::BEGIN@9
1116µs13µsDateTime::TimeZone::OffsetOnly::::BEGIN@7DateTime::TimeZone::OffsetOnly::BEGIN@7
4214µs4µ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{
321µs $DateTime::TimeZone::OffsetOnly::VERSION = '1.46';
4}
5
6317µs216µs
# spent 14µs (12+2) within DateTime::TimeZone::OffsetOnly::BEGIN@6 which was called: # once (12µs+2µs) by parent::import at line 6
use strict;
# spent 14µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@6 # spent 2µs making 1 call to strict::import
7318µs220µs
# spent 13µs (6+7) within DateTime::TimeZone::OffsetOnly::BEGIN@7 which was called: # once (6µs+7µs) by parent::import at line 7
use warnings;
# spent 13µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@7 # spent 7µs making 1 call to warnings::import
8
9321µs233µs
# spent 33µs (8+24) within DateTime::TimeZone::OffsetOnly::BEGIN@9 which was called: # once (8µs+24µs) by parent::import at line 9
use parent 'DateTime::TimeZone';
# spent 33µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@9 # spent 24µs making 1 call to parent::import, recursion: max depth 1, sum of overlapping time 24µs
10
11381µs1253µs
# spent 253µs (197+56) within DateTime::TimeZone::OffsetOnly::BEGIN@11 which was called: # once (197µs+56µs) by parent::import at line 11
use DateTime::TimeZone::UTC;
# spent 253µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@11
123314µs2116µs
# spent 62µs (9+53) within DateTime::TimeZone::OffsetOnly::BEGIN@12 which was called: # once (9µs+53µs) by parent::import at line 12
use Params::Validate qw( validate SCALAR );
# spent 62µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@12 # spent 53µ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
41410µs
# spent 4µs within DateTime::TimeZone::OffsetOnly::is_utc which was called 4 times, avg 925ns/call: # 2 times (2µs+0s) by DateTime::_calc_utc_rd at line 372 of DateTime.pm, avg 1µs/call # 2 times (1µs+0s) by DateTime::_calc_local_rd at line 413 of DateTime.pm, avg 600ns/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
7312µs1;
74
75# ABSTRACT: A DateTime::TimeZone object that just contains an offset
76
- -
79=pod
80
81=head1 NAME
82
83DateTime::TimeZone::OffsetOnly - A DateTime::TimeZone object that just contains an offset
84
85=head1 VERSION
86
87version 1.46
88
89=head1 SYNOPSIS
90
91 my $offset_tz = DateTime::TimeZone->new( name => '-0300' );
92
93=head1 DESCRIPTION
94
95This class is used to provide the DateTime::TimeZone API needed by
96DateTime.pm, but with a fixed offset. An object in this class always
97returns the same offset as was given in its constructor, regardless of
98the date.
99
100=head1 USAGE
101
102This class has the same methods as a real time zone object, but the
103C<category()> method returns undef.
104
105=head2 DateTime::TimeZone::OffsetOnly->new ( offset => $offset )
106
107The value given to the offset parameter must be a string such as
108"+0300". Strings will be converted into numbers by the
109C<DateTime::TimeZone::offset_as_seconds()> function.
110
111=head2 $tz->offset_for_datetime( $datetime )
112
113No matter what date is given, the offset provided to the constructor
114is always used.
115
116=head2 $tz->name()
117
118=head2 $tz->short_name_for_datetime()
119
120Both of these methods return the offset in string form.
121
122=head1 AUTHOR
123
124Dave Rolsky <autarch@urth.org>
125
126=head1 COPYRIGHT AND LICENSE
127
128This software is copyright (c) 2012 by Dave Rolsky.
129
130This is free software; you can redistribute it and/or modify it under
131the same terms as the Perl 5 programming language system itself.
132
133=cut
134
135
136__END__