← Index
NYTProf Performance Profile   « block view • line view • sub view »
For -e
  Run on Wed Nov 17 22:00:36 2010
Reported on Wed Nov 17 22:13:58 2010

Filename/home/doy/coding/src/MooseX-StrictConstructor-0.12/lib/MooseX/StrictConstructor/Role/Meta/Class.pm
StatementsExecuted 299 statements in 5.91ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11146µs46µsMooseX::StrictConstructor::Role::Meta::Class::::BEGIN@2MooseX::StrictConstructor::Role::Meta::Class::BEGIN@2
11145µs759µsMooseX::StrictConstructor::Role::Meta::Class::::BEGIN@37MooseX::StrictConstructor::Role::Meta::Class::BEGIN@37
11140µs15.9msMooseX::StrictConstructor::Role::Meta::Class::::BEGIN@12MooseX::StrictConstructor::Role::Meta::Class::BEGIN@12
11139µs57µsMooseX::StrictConstructor::Role::Meta::Class::::BEGIN@6MooseX::StrictConstructor::Role::Meta::Class::BEGIN@6
11138µs107µsMooseX::StrictConstructor::Role::Meta::Class::::BEGIN@7MooseX::StrictConstructor::Role::Meta::Class::BEGIN@7
11125µs25µsMooseX::StrictConstructor::Role::Meta::Class::::BEGIN@10MooseX::StrictConstructor::Role::Meta::Class::BEGIN@10
11123µs23µsMooseX::StrictConstructor::Role::Meta::Class::::BEGIN@9MooseX::StrictConstructor::Role::Meta::Class::BEGIN@9
0000s0sMooseX::StrictConstructor::Role::Meta::Class::::__ANON__[:35]MooseX::StrictConstructor::Role::Meta::Class::__ANON__[:35]
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package MooseX::StrictConstructor::Role::Meta::Class;
2
# spent 46µs within MooseX::StrictConstructor::Role::Meta::Class::BEGIN@2 which was called: # once (46µs+0s) by MooseX::StrictConstructor::BEGIN@13 at line 4
BEGIN {
3127µs $MooseX::StrictConstructor::Role::Meta::Class::VERSION = '0.12';
4171µs146µs}
5
6393µs274µs
# spent 57µs (39+17) within MooseX::StrictConstructor::Role::Meta::Class::BEGIN@6 which was called: # once (39µs+17µs) by MooseX::StrictConstructor::BEGIN@13 at line 6
use strict;
# spent 57µs making 1 call to MooseX::StrictConstructor::Role::Meta::Class::BEGIN@6 # spent 17µs making 1 call to strict::import
7395µs2175µs
# spent 107µs (38+68) within MooseX::StrictConstructor::Role::Meta::Class::BEGIN@7 which was called: # once (38µs+68µs) by MooseX::StrictConstructor::BEGIN@13 at line 7
use warnings;
# spent 107µs making 1 call to MooseX::StrictConstructor::Role::Meta::Class::BEGIN@7 # spent 68µs making 1 call to warnings::import
8
93110µs123µs
# spent 23µs within MooseX::StrictConstructor::Role::Meta::Class::BEGIN@9 which was called: # once (23µs+0s) by MooseX::StrictConstructor::BEGIN@13 at line 9
use B ();
10391µs125µs
# spent 25µs within MooseX::StrictConstructor::Role::Meta::Class::BEGIN@10 which was called: # once (25µs+0s) by MooseX::StrictConstructor::BEGIN@13 at line 10
use Carp ();
11
123554µs231.7ms
# spent 15.9ms (40µs+15.8) within MooseX::StrictConstructor::Role::Meta::Class::BEGIN@12 which was called: # once (40µs+15.8ms) by MooseX::StrictConstructor::BEGIN@13 at line 12
use Moose::Role;
13
14around '_inline_BUILDALL' => sub {
1537139µs my $orig = shift;
1637111µs my $self = shift;
17
1837391µs3729.0ms my @source = $self->$orig();
# spent 29.0ms making 37 calls to Moose::Meta::Class::_inline_BUILDALL, avg 782µs/call
19
2041913µs41416µs my @attrs = (
# spent 416µs making 41 calls to B::perlstring, avg 10µs/call
21 '__INSTANCE__ => 1,',
22 map { B::perlstring($_) . ' => 1,' }
23521.03ms52305µs grep {defined}
# spent 305µs making 52 calls to Class::MOP::Mixin::AttributeCore::init_arg, avg 6µs/call
24371.12ms3711.4ms map { $_->init_arg() } $self->get_all_attributes()
# spent 11.4ms making 37 calls to Class::MOP::Class::get_all_attributes, avg 308µs/call
25 );
26
27 return (
2837966µs @source,
29 'my %attrs = (' . join(' ', @attrs) . ');',
30 'my @bad = sort grep { !$attrs{$_} } keys %{ $params };',
31 'if (@bad) {',
32 'Carp::confess "Found unknown attribute(s) passed to the constructor: @bad";',
33 '}',
34 );
35122µs1362µs};
# spent 362µs making 1 call to Moose::Role::around
36
373142µs21.47ms
# spent 759µs (45+714) within MooseX::StrictConstructor::Role::Meta::Class::BEGIN@37 which was called: # once (45µs+714µs) by MooseX::StrictConstructor::BEGIN@13 at line 37
no Moose::Role;
38
39127µs1;
40
41# ABSTRACT: A role to make immutable constructors strict
42
- -
45=pod
46
- -
86__END__