← Index
NYTProf Performance Profile   « block view • line view • sub view »
For mentat.storage.mongo.pl
  Run on Tue Jun 24 09:58:41 2014
Reported on Tue Jun 24 09:59:29 2014

Filename/usr/local/share/perl/5.14.2/DateTime/TimeZone/OffsetOnly.pm
StatementsExecuted 22 statements in 1.17ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
111569µs704µsDateTime::TimeZone::OffsetOnly::::BEGIN@14DateTime::TimeZone::OffsetOnly::BEGIN@14
11134µs94µsDateTime::TimeZone::OffsetOnly::::newDateTime::TimeZone::OffsetOnly::new
11119µs19µsDateTime::TimeZone::OffsetOnly::::BEGIN@5DateTime::TimeZone::OffsetOnly::BEGIN@5
11117µs90µsDateTime::TimeZone::OffsetOnly::::BEGIN@15DateTime::TimeZone::OffsetOnly::BEGIN@15
11116µs26µsDateTime::TimeZone::OffsetOnly::::BEGIN@10DateTime::TimeZone::OffsetOnly::BEGIN@10
11116µs74µsDateTime::TimeZone::OffsetOnly::::BEGIN@12DateTime::TimeZone::OffsetOnly::BEGIN@12
11116µs22µsDateTime::TimeZone::OffsetOnly::::BEGIN@9DateTime::TimeZone::OffsetOnly::BEGIN@9
4218µs8µ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::::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{
323µs $DateTime::TimeZone::OffsetOnly::VERSION = '1.63';
4}
5
# spent 19µs within DateTime::TimeZone::OffsetOnly::BEGIN@5 which was called: # once (19µs+0s) by parent::import at line 7
BEGIN {
6111µs $DateTime::TimeZone::OffsetOnly::AUTHORITY = 'cpan:DROLSKY';
7144µs119µs}
# spent 19µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@5
8
9247µs229µs
# spent 22µs (16+7) within DateTime::TimeZone::OffsetOnly::BEGIN@9 which was called: # once (16µs+7µs) by parent::import at line 9
use strict;
# spent 22µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@9 # spent 7µs making 1 call to strict::import
10250µs237µs
# spent 26µs (16+10) within DateTime::TimeZone::OffsetOnly::BEGIN@10 which was called: # once (16µs+10µs) by parent::import at line 10
use warnings;
# spent 26µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@10 # spent 10µs making 1 call to warnings::import
11
12262µs274µs
# spent 74µs (16+59) within DateTime::TimeZone::OffsetOnly::BEGIN@12 which was called: # once (16µs+59µs) by parent::import at line 12
use parent 'DateTime::TimeZone';
# spent 74µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@12 # spent 59µs making 1 call to parent::import, recursion: max depth 1, sum of overlapping time 59µs
13
142227µs1704µs
# spent 704µs (569+134) within DateTime::TimeZone::OffsetOnly::BEGIN@14 which was called: # once (569µs+134µs) by parent::import at line 14
use DateTime::TimeZone::UTC;
# spent 704µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@14
152633µs2163µs
# spent 90µs (17+73) within DateTime::TimeZone::OffsetOnly::BEGIN@15 which was called: # once (17µs+73µs) by parent::import at line 15
use Params::Validate qw( validate SCALAR );
# spent 90µs making 1 call to DateTime::TimeZone::OffsetOnly::BEGIN@15 # spent 73µs making 1 call to Exporter::import
16
17
# spent 94µs (34+60) within DateTime::TimeZone::OffsetOnly::new which was called: # once (34µs+60µs) by DateTime::TimeZone::new at line 64 of DateTime/TimeZone.pm
sub new {
1811µs my $class = shift;
19129µs115µs my %p = validate(
# spent 15µs making 1 call to Params::Validate::XS::validate
20 @_, {
21 offset => { type => SCALAR },
22 }
23 );
24
2514µs146µs my $offset = DateTime::TimeZone::offset_as_seconds( $p{offset} );
# spent 46µs making 1 call to DateTime::TimeZone::offset_as_seconds
26
27127µs die "Invalid offset: $p{offset}\n" unless defined $offset;
28
29 return DateTime::TimeZone::UTC->new unless $offset;
30
31 my $self = {
32 name => DateTime::TimeZone::offset_as_string($offset),
33 offset => $offset,
34 };
35
36 return bless $self, $class;
37}
38
39sub is_dst_for_datetime {0}
40
41sub offset_for_datetime { $_[0]->{offset} }
42sub offset_for_local_datetime { $_[0]->{offset} }
43
44422µs
# spent 8µs within DateTime::TimeZone::OffsetOnly::is_utc which was called 4 times, avg 2µs/call: # 2 times (5µs+0s) by DateTime::_calc_utc_rd at line 386 of DateTime.pm, avg 2µs/call # 2 times (3µs+0s) by DateTime::_calc_local_rd at line 427 of DateTime.pm, avg 1µs/call
sub is_utc {0}
45
46sub short_name_for_datetime { $_[0]->name }
47
48sub category {undef}
49
50sub STORABLE_freeze {
51 my $self = shift;
52
53 return $self->name;
54}
55
56sub STORABLE_thaw {
57 my $self = shift;
58 my $cloning = shift;
59 my $serialized = shift;
60
61 my $class = ref $self || $self;
62
63 my $obj;
64 if ( $class->isa(__PACKAGE__) ) {
65 $obj = __PACKAGE__->new( offset => $serialized );
66 }
67 else {
68 $obj = $class->new( offset => $serialized );
69 }
70
71 %$self = %$obj;
72
73 return $self;
74}
75
7616µs1;
77
78# ABSTRACT: A DateTime::TimeZone object that just contains an offset
79
80__END__