← Index
Performance Profile   « block view • line view • sub view »
For /wise/base/deliv/dev/bin/getfix
  Run on Thu May 20 15:30:03 2010
Reported on Thu May 20 16:25:21 2010

File/wise/base/static/lib/perl5/site_perl/5.10.0/Class/Accessor/Chained/Fast.pm
Statements Executed13
Total Time0.000305 seconds

Subroutines — ordered by exclusive time
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
3113.2e-53.2e-5Class::Accessor::Chained::Fast::make_accessor
00000Class::Accessor::Chained::Fast::BEGIN
00000Class::Accessor::Chained::Fast::__ANON__[:15]
00000Class::Accessor::Chained::Fast::__ANON__[:34]
00000Class::Accessor::Chained::Fast::make_wo_accessor
00000base::BEGIN

LineStmts.Exclusive
Time
Avg.Code
133.8e-51.3e-5use strict;
# spent 10µs making 1 call to strict::import
2package Class::Accessor::Chained::Fast;
330.000248.2e-5use base 'Class::Accessor::Fast';
# spent 3.34ms making 1 call to base::import, max recursion depth 2
4
5
# spent 32µs within Class::Accessor::Chained::Fast::make_accessor which was called 3 times, avg 11µs/call: # 3 times (32µs+0) by Class::Accessor::_mk_accessors at line 166 of /wise/base/static/lib/perl5/site_perl/5.10.0/Class/Accessor.pm, avg 11µs/call
sub make_accessor {
661.9e-53.2e-6 my($class, $field) = @_;
7
8 return sub {
9 my $self = shift;
10 if(@_) {
11 $self->{$field} = (@_ == 1 ? $_[0] : [@_]);
12 return $self;
13 }
14 return $self->{$field};
15 };
16}
17
18sub make_wo_accessor {
19 my($class, $field) = @_;
20
21 return sub {
22 my($self) = shift;
23
24 unless (@_) {
25 my $caller = caller;
26 require Carp;
27 Carp::croak("'$caller' cannot access the value of '$field' on ".
28 "objects of class '$class'");
29 }
30 else {
31 $self->{$field} = (@_ == 1 ? $_[0] : [@_]);
32 return $self;
33 }
34 };
35}
36
3713.0e-63.0e-61;
38
39=head1 NAME
40
41Class::Accessor::Chained::Fast - Faster, but less expandable, chained accessors
42
43=head1 SYNOPSIS
44
45 package Foo;
46 use base qw(Class::Accessor::Chained::Fast);
47
48 # The rest as Class::Accessor::Chained except no set() or get().
49
50=head1 DESCRIPTION
51
52By analogue to Class::Accessor and Class::Accessor::Fast this module
53provides a faster less-flexible chained accessor maker.
54
55=head1 AUTHOR
56
57Richard Clamp <richardc@unixbeard.net>
58
59=head1 COPYRIGHT
60
61Copyright (C) 2003 Richard Clamp. All Rights Reserved.
62
63This module is free software; you can redistribute it and/or modify it
64under the same terms as Perl itself.
65
66=head1 SEE ALSO
67
68L<Class::Accessor::Fast>, L<Class::Accessor::Chained>
69
70=cut