← Index
NYTProf Performance Profile   « block view • line view • sub view »
For -e
  Run on Wed Nov 17 21:45:08 2010
Reported on Wed Nov 17 22:09:54 2010

Filename/home/doy/perl5/perlbrew/perls/perl-5.10.1/lib/site_perl/5.10.1/MooseX/Types/Combine.pm
StatementsExecuted 659 statements in 17.1ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11120.0ms455msMooseX::Types::Combine::::BEGIN@12MooseX::Types::Combine::BEGIN@12
28282814.4ms1.98sMooseX::Types::Combine::::importMooseX::Types::Combine::import
29221.07ms1.07msMooseX::Types::Combine::::provide_types_fromMooseX::Types::Combine::provide_types_from
11172µs90µsMooseX::Types::Combine::::BEGIN@10MooseX::Types::Combine::BEGIN@10
11147µs124µsMooseX::Types::Combine::::BEGIN@73MooseX::Types::Combine::BEGIN@73
11137µs106µsMooseX::Types::Combine::::BEGIN@11MooseX::Types::Combine::BEGIN@11
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1=head1 NAME
2
- -
7package MooseX::Types::Combine;
814µsour $VERSION = "0.23";
9
10396µs2109µs
# spent 90µs (72+19) within MooseX::Types::Combine::BEGIN@10 which was called: # once (72µs+19µs) by base::import at line 10
use strict;
# spent 90µs making 1 call to MooseX::Types::Combine::BEGIN@10 # spent 19µs making 1 call to strict::import
11387µs2174µs
# spent 106µs (37+69) within MooseX::Types::Combine::BEGIN@11 which was called: # once (37µs+69µs) by base::import at line 11
use warnings;
# spent 106µs making 1 call to MooseX::Types::Combine::BEGIN@11 # spent 69µs making 1 call to warnings::import
1231.21ms1455ms
# spent 455ms (20.0+435) within MooseX::Types::Combine::BEGIN@12 which was called: # once (20.0ms+435ms) by base::import at line 12
use Class::MOP ();
# spent 455ms making 1 call to MooseX::Types::Combine::BEGIN@12
13
14=head1 SYNOPSIS
15
- -
35
# spent 1.98s (14.4ms+1.97) within MooseX::Types::Combine::import which was called 28 times, avg 70.8ms/call: # once (551µs+1.52s) by Markdent::Handler::HTMLStream::Document::BEGIN@9 at line 9 of Markdent/Handler/HTMLStream/Document.pm # once (731µs+27.1ms) by Markdent::Role::HTMLStream::BEGIN@10 at line 10 of Markdent/Role/HTMLStream.pm # once (647µs+26.7ms) by Markdent::Parser::BEGIN@12 at line 12 of Markdent/Parser.pm # once (666µs+25.7ms) by Markdent::Dialect::Standard::SpanParser::BEGIN@29 at line 29 of Markdent/Dialect/Standard/SpanParser.pm # once (525µs+20.0ms) by Markdent::Event::HTMLEntity::BEGIN@9 at line 9 of Markdent/Event/HTMLEntity.pm # once (546µs+18.2ms) by Markdent::Dialect::Standard::BlockParser::BEGIN@29 at line 29 of Markdent/Dialect/Standard/BlockParser.pm # once (496µs+17.3ms) by Markdent::Event::EndHTMLTag::BEGIN@9 at line 9 of Markdent/Event/EndHTMLTag.pm # once (637µs+17.0ms) by Markdent::Simple::Document::BEGIN@11 at line 11 of Markdent/Simple/Document.pm # once (553µs+16.6ms) by Markdent::Event::AutoLink::BEGIN@9 at line 9 of Markdent/Event/AutoLink.pm # once (491µs+16.3ms) by Markdent::Event::HTMLCommentBlock::BEGIN@9 at line 9 of Markdent/Event/HTMLCommentBlock.pm # once (491µs+15.8ms) by Markdent::Event::HTMLComment::BEGIN@9 at line 9 of Markdent/Event/HTMLComment.pm # once (501µs+15.8ms) by Markdent::Event::StartHTMLTag::BEGIN@9 at line 9 of Markdent/Event/StartHTMLTag.pm # once (481µs+15.8ms) by Markdent::Role::BalancedEvent::BEGIN@10 at line 10 of Markdent/Role/BalancedEvent.pm # once (463µs+15.7ms) by Markdent::Event::StartLink::BEGIN@9 at line 9 of Markdent/Event/StartLink.pm # once (489µs+15.7ms) by Markdent::Event::Text::BEGIN@9 at line 9 of Markdent/Event/Text.pm # once (495µs+15.7ms) by Markdent::Event::Image::BEGIN@9 at line 9 of Markdent/Event/Image.pm # once (497µs+15.6ms) by Markdent::Event::HTMLTag::BEGIN@9 at line 9 of Markdent/Event/HTMLTag.pm # once (559µs+15.3ms) by Markdent::Event::EndStrong::BEGIN@9 at line 9 of Markdent/Event/EndStrong.pm # once (473µs+15.1ms) by Markdent::Event::HTMLBlock::BEGIN@9 at line 9 of Markdent/Event/HTMLBlock.pm # once (497µs+15.0ms) by Markdent::Event::StartCode::BEGIN@9 at line 9 of Markdent/Event/StartCode.pm # once (467µs+14.9ms) by Markdent::Event::StartStrong::BEGIN@9 at line 9 of Markdent/Event/StartStrong.pm # once (467µs+14.9ms) by Markdent::Role::DebugPrinter::BEGIN@9 at line 9 of Markdent/Role/DebugPrinter.pm # once (474µs+14.8ms) by Markdent::Event::Preformatted::BEGIN@9 at line 9 of Markdent/Event/Preformatted.pm # once (453µs+14.9ms) by Markdent::Event::StartEmphasis::BEGIN@9 at line 9 of Markdent/Event/StartEmphasis.pm # once (482µs+14.7ms) by Markdent::Event::EndCode::BEGIN@9 at line 9 of Markdent/Event/EndCode.pm # once (501µs+14.7ms) by Markdent::Event::EndEmphasis::BEGIN@9 at line 9 of Markdent/Event/EndEmphasis.pm # once (402µs+7.87ms) by Markdent::Event::EndHeader::BEGIN@9 at line 9 of Markdent/Event/EndHeader.pm # once (371µs+7.84ms) by Markdent::Event::StartHeader::BEGIN@9 at line 9 of Markdent/Event/StartHeader.pm
sub import {
3650014.2ms my ($class, @types) = @_;
37 my $caller = caller;
38
39281.03ms my @type_libs = $class->provide_types_from;
# spent 1.03ms making 28 calls to MooseX::Types::Combine::provide_types_from, avg 37µs/call
40561.52s Class::MOP::load_class($_) for @type_libs;
# spent 1.52s making 56 calls to Class::MOP::load_class, avg 27.2ms/call, recursion: max depth 3, sum of overlapping time 1.28ms
41
42 my %types = map {
43 my $lib = $_;
44563.01ms map +($_ => $lib), $lib->type_names
# spent 3.01ms making 56 calls to MooseX::Types::Base::type_names, avg 54µs/call
45 } @type_libs;
46
47 my %from;
48 for my $type (@types) {
49 die
50 "$caller asked for a type ($type) which is not found in any of the"
51 . " type libraries (@type_libs) combined by $class\n"
52 unless $types{$type};
53
54 push @{ $from{ $types{$type} } }, $type;
55 }
56
57 $_->import({ -into => $caller }, @{ $from{ $_ } })
5831443ms for keys %from;
# spent 443ms making 31 calls to MooseX::Types::Base::import, avg 14.3ms/call
59}
60
61=head1 CLASS METHODS
62
- -
69
# spent 1.07ms within MooseX::Types::Combine::provide_types_from which was called 29 times, avg 37µs/call: # 28 times (1.03ms+0s) by MooseX::Types::Combine::import at line 39, avg 37µs/call # once (47µs+0s) by Markdent::Handler::HTMLStream::Document::BEGIN@9 at line 11 of Markdent/Types.pm
sub provide_types_from {
701451.23ms my ($class, @libs) = @_;
71
72 my $store =
733261µs2200µs
# spent 124µs (47+76) within MooseX::Types::Combine::BEGIN@73 which was called: # once (47µs+76µs) by base::import at line 73
do { no strict 'refs'; \@{ "${class}::__MOOSEX_TYPELIBRARY_LIBRARIES" } };
# spent 124µs making 1 call to MooseX::Types::Combine::BEGIN@73 # spent 76µs making 1 call to strict::unimport
74
75 @$store = @libs if @libs;
76
77 @$store;
78}
79
80=head1 SEE ALSO
81
- -
95110µs1;