Profile of /usr/local/lib/perl5/site_perl/5.10.1/MooseX/AttributeHelpers/Collection/ImmutableHash.pm

← Index
NYTProf Performance Profile «block view•line view•sub view»
For 05.Domain_and_Item.t
Run on Tue May 4 17:21:41 2010
Reported on Tue May 4 17:22:24 2010

File | /usr/local/lib/perl5/site_perl/5.10.1/MooseX/AttributeHelpers/Collection/ImmutableHash.pm
Statements Executed | 12
Statement Execution Time | 228µs

Subroutines — ordered by exclusive time
Calls | P | F | Exclusive Time | Inclusive Time | Subroutine
--- | --- | --- | --- | --- | ---
1 | 1 | 1 | 18µs | 3.22ms | MooseX::AttributeHelpers::Collection::ImmutableHash::::BEGIN@3 MooseX::AttributeHelpers::Collection::ImmutableHash::BEGIN@3
1 | 1 | 1 | 9µs | 115µs | MooseX::AttributeHelpers::Collection::ImmutableHash::::BEGIN@12 MooseX::AttributeHelpers::Collection::ImmutableHash::BEGIN@12
0 | 0 | 0 | 0s | 0s | Moose::Meta::Attribute::Custom::Collection::ImmutableHash::::register_implementationMoose::Meta::Attribute::Custom::Collection::ImmutableHash::register_implementation

Call graph for these subroutines as a Graphviz dot language file.

Line | State ments | Time on line | Calls | Time in subs | Code
--- | --- | --- | --- | --- | ---
1 |  |  |  |  |
2 |  |  |  |  | package MooseX::AttributeHelpers::Collection::ImmutableHash;
3 | 3 | 88µs | 2 | 6.42ms | # spent 3.22ms (18µs+3.20) within MooseX::AttributeHelpers::Collection::ImmutableHash::BEGIN@3 which was called # once (18µs+3.20ms) by MooseX::AttributeHelpers::BEGIN@30 at line 3 use Moose; # spent 3.22ms making 1 call to MooseX::AttributeHelpers::Collection::ImmutableHash::BEGIN@3 # spent 3.20ms making 1 call to Moose::Exporter::__ANON__[Moose/Exporter.pm:389]
4 |  |  |  |  |
5 | 1 | 600ns |  |  | our $VERSION = '0.23';
6 | 1 | 18µs |  |  | $VERSION = eval $VERSION;
7 | 1 | 300ns |  |  | our $AUTHORITY = 'cpan:STEVAN';
8 |  |  |  |  |
9 | 1 | 2µs | 1 | 528µs | extends 'Moose::Meta::Attribute'; # spent 528µs making 1 call to Moose::extends
10 | 1 | 2µs | 1 | 8.45ms | with 'MooseX::AttributeHelpers::Trait::Collection::ImmutableHash'; # spent 8.45ms making 1 call to Moose::with
11 |  |  |  |  |
12 | 3 | 86µs | 2 | 221µs | # spent 115µs (9+106) within MooseX::AttributeHelpers::Collection::ImmutableHash::BEGIN@12 which was called # once (9µs+106µs) by MooseX::AttributeHelpers::BEGIN@30 at line 12 no Moose; # spent 115µs making 1 call to MooseX::AttributeHelpers::Collection::ImmutableHash::BEGIN@12 # spent 106µs making 1 call to Moose::Exporter::__ANON__[Moose/Exporter.pm:478]
13 |  |  |  |  |
14 |  |  |  |  | # register the alias ...
15 |  |  |  |  | package # hide me from search.cpan.org
16 |  |  |  |  | Moose::Meta::Attribute::Custom::Collection::ImmutableHash;
17 |  |  |  |  | sub register_implementation { 'MooseX::AttributeHelpers::Collection::ImmutableHash' }
18 |  |  |  |  |
19 |  |  |  |  |
20 | 1 | 32µs |  |  | 1;
21 |  |  |  |  |
22 |  |  |  |  | __END__
23 |  |  |  |  |
24 |  |  |  |  | =pod
25 |  |  |  |  |
26 |  |  |  |  | =head1 NAME
27 |  |  |  |  |
28 |  |  |  |  | MooseX::AttributeHelpers::Collection::ImmutableHash
29 |  |  |  |  |
30 |  |  |  |  | =head1 SYNOPSIS
31 |  |  |  |  |
32 |  |  |  |  | package Stuff;
33 |  |  |  |  | use Moose;
34 |  |  |  |  | use MooseX::AttributeHelpers;
35 |  |  |  |  |
36 |  |  |  |  | has 'options' => (
37 |  |  |  |  | metaclass => 'Collection::ImmutableHash',
38 |  |  |  |  | is => 'ro',
39 |  |  |  |  | isa => 'HashRef[Str]',
40 |  |  |  |  | default => sub { {} },
41 |  |  |  |  | provides => {
42 |  |  |  |  | 'get' => 'get_option',
43 |  |  |  |  | 'empty' => 'has_options',
44 |  |  |  |  | 'keys' => 'get_option_list',
45 |  |  |  |  | }
46 |  |  |  |  | );
47 |  |  |  |  |
48 |  |  |  |  | =head1 DESCRIPTION
49 |  |  |  |  |
50 |  |  |  |  | This module provides a immutable HashRef attribute which provides a number of
51 |  |  |  |  | hash-line operations. See L<MooseX::AttributeHelpers::MethodProvider::ImmutableHash>
52 |  |  |  |  | for more details.
53 |  |  |  |  |
54 |  |  |  |  | =head1 METHODS
55 |  |  |  |  |
56 |  |  |  |  | =over 4
57 |  |  |  |  |
58 |  |  |  |  | =item B<meta>
59 |  |  |  |  |
60 |  |  |  |  | =item B<method_provider>
61 |  |  |  |  |
62 |  |  |  |  | =item B<has_method_provider>
63 |  |  |  |  |
64 |  |  |  |  | =item B<helper_type>
65 |  |  |  |  |
66 |  |  |  |  | =back
67 |  |  |  |  |
68 |  |  |  |  | =head1 BUGS
69 |  |  |  |  |
70 |  |  |  |  | All complex software has bugs lurking in it, and this module is no
71 |  |  |  |  | exception. If you find a bug please either email me, or add the bug
72 |  |  |  |  | to cpan-RT.
73 |  |  |  |  |
74 |  |  |  |  | =head1 AUTHOR
75 |  |  |  |  |
76 |  |  |  |  | Stevan Little E<lt>stevan@iinteractive.comE<gt>
77 |  |  |  |  |
78 |  |  |  |  | =head1 COPYRIGHT AND LICENSE
79 |  |  |  |  |
80 |  |  |  |  | Copyright 2007-2009 by Infinity Interactive, Inc.
81 |  |  |  |  |
82 |  |  |  |  | L<http://www.iinteractive.com>
83 |  |  |  |  |
84 |  |  |  |  | This library is free software; you can redistribute it and/or modify
85 |  |  |  |  | it under the same terms as Perl itself.
86 |  |  |  |  |
87 |  |  |  |  | =cut