← Index
NYTProf Performance Profile   « line view »
For script/ponapi
  Run on Wed Feb 10 15:51:26 2016
Reported on Thu Feb 11 09:43:09 2016

Filename/usr/share/perl/5.18/parent.pm
StatementsExecuted 689 statements in 3.99ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
71717112.6ms78.3msparent::::importparent::import (recurses: max depth 2, inclusive time 30.3ms)
8511343µs343µsparent::::CORE:substparent::CORE:subst (opcode)
11112µs33µsparent::::BEGIN@3parent::BEGIN@3
1118µs16µsparent::::BEGIN@2parent::BEGIN@2
1116µs14µsparent::::BEGIN@25parent::BEGIN@25
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package parent;
2221µs224µs
# spent 16µs (8+8) within parent::BEGIN@2 which was called: # once (8µs+8µs) by Path::Class::Dir::BEGIN@10 at line 2
use strict;
# spent 16µs making 1 call to parent::BEGIN@2 # spent 8µs making 1 call to strict::import
32113µs253µs
# spent 33µs (12+20) within parent::BEGIN@3 which was called: # once (12µs+20µs) by Path::Class::Dir::BEGIN@10 at line 3
use vars qw($VERSION);
# spent 33µs making 1 call to parent::BEGIN@3 # spent 20µs making 1 call to vars::import
41400ns$VERSION = '0.225';
5
6
# spent 78.3ms (12.6+65.7) within parent::import which was called 71 times, avg 1.10ms/call: # once (196µs+24.2ms) by Plack::Handler::Standalone::BEGIN@4 at line 4 of Plack/Handler/Standalone.pm # once (1.21ms+15.8ms) by HTTP::Headers::ActionPack::MediaType::BEGIN@15 at line 15 of HTTP/Headers/ActionPack/MediaType.pm # once (572µs+10.5ms) by Path::Class::Dir::BEGIN@10 at line 10 of Path/Class/Dir.pm # once (462µs+7.74ms) by Moose::Meta::Attribute::BEGIN@19 at line 19 of Moose/Meta/Attribute.pm # once (157µs+5.91ms) by Moose::Meta::Method::Overridden::BEGIN@7 at line 7 of Moose/Meta/Method/Overridden.pm # once (413µs+2.41ms) by Class::MOP::Class::BEGIN@20 at line 20 of Class/MOP/Class.pm # once (1.39ms+1.19ms) by HTTP::Headers::ActionPack::MediaTypeList::BEGIN@17 at line 17 of HTTP/Headers/ActionPack/MediaTypeList.pm # once (619µs+1.26ms) by Class::MOP::Method::Meta::BEGIN@12 at line 12 of Class/MOP/Method/Meta.pm # once (313µs+1.22ms) by Class::MOP::Method::Accessor::BEGIN@10 at line 10 of Class/MOP/Method/Accessor.pm # once (264µs+752µs) by Plack::Middleware::MethodOverride::BEGIN@10 at line 10 of Plack/Middleware/MethodOverride.pm # once (421µs+76µs) by Class::MOP::Method::Constructor::BEGIN@10 at line 10 of Class/MOP/Method/Constructor.pm # once (202µs+77µs) by Class::MOP::Mixin::AttributeCore::BEGIN@9 at line 9 of Class/MOP/Mixin/AttributeCore.pm # once (43µs+11µs) by Moose::Meta::Role::BEGIN@19 at line 19 of Moose/Meta/Role.pm # once (27µs+7µs) by Moose::Meta::Method::Accessor::BEGIN@9 at line 9 of Moose/Meta/Method/Accessor.pm # once (26µs+6µs) by Moose::Meta::Role::Attribute::BEGIN@10 at line 10 of Moose/Meta/Role/Attribute.pm # once (23µs+6µs) by Moose::Meta::TypeConstraint::Enum::BEGIN@11 at line 11 of Moose/Meta/TypeConstraint/Enum.pm # once (21µs+7µs) by Class::MOP::Attribute::BEGIN@13 at line 13 of Class/MOP/Attribute.pm # once (23µs+5µs) by Moose::Meta::Method::Constructor::BEGIN@9 at line 9 of Moose/Meta/Method/Constructor.pm # once (22µs+5µs) by Moose::Meta::Role::Composite::BEGIN@10 at line 10 of Moose/Meta/Role/Composite.pm # once (21µs+5µs) by Moose::Meta::Method::Meta::BEGIN@7 at line 7 of Moose/Meta/Method/Meta.pm # once (20µs+6µs) by Path::Class::File::BEGIN@9 at line 9 of Path/Class/File.pm # once (22µs+4µs) by Plack::Util::IOWithPath::BEGIN@368 at line 368 of Plack/Util.pm # once (21µs+5µs) by PONAPI::Server::BEGIN@20 at line 20 of lib/PONAPI/Server.pm # once (20µs+6µs) by Moose::Meta::Instance::BEGIN@9 at line 9 of Moose/Meta/Instance.pm # once (19µs+5µs) by Moose::Meta::TypeConstraint::DuckType::BEGIN@15 at line 15 of Moose/Meta/TypeConstraint/DuckType.pm # once (20µs+4µs) by Moose::Meta::TypeConstraint::Registry::BEGIN@10 at line 10 of Moose/Meta/TypeConstraint/Registry.pm # once (18µs+6µs) by Moose::Meta::TypeConstraint::Parameterizable::BEGIN@8 at line 8 of Moose/Meta/TypeConstraint/Parameterizable.pm # once (18µs+5µs) by Moose::Meta::Method::Delegation::BEGIN@9 at line 9 of Moose/Meta/Method/Delegation.pm # once (18µs+5µs) by Moose::Meta::Method::Destructor::BEGIN@11 at line 11 of Moose/Meta/Method/Destructor.pm # once (19µs+4µs) by Plack::Middleware::Lint::BEGIN@5 at line 5 of Plack/Middleware/Lint.pm # once (17µs+5µs) by Moose::Meta::Method::Augmented::BEGIN@7 at line 7 of Moose/Meta/Method/Augmented.pm # once (18µs+4µs) by Plack::Middleware::AccessLog::BEGIN@4 at line 4 of Plack/Middleware/AccessLog.pm # once (18µs+4µs) by Moose::Meta::Role::Method::BEGIN@7 at line 7 of Moose/Meta/Role/Method.pm # once (16µs+6µs) by Moose::Meta::Role::Application::ToClass::BEGIN@12 at line 12 of Moose/Meta/Role/Application/ToClass.pm # once (15µs+6µs) by Moose::Meta::Role::Application::RoleSummation::BEGIN@13 at line 13 of Moose/Meta/Role/Application/RoleSummation.pm # once (19µs+2µs) by PONAPI::Utils::Names::BEGIN@7 at line 7 of lib/PONAPI/Utils/Names.pm # once (17µs+4µs) by Moose::Meta::TypeConstraint::Parameterized::BEGIN@13 at line 13 of Moose/Meta/TypeConstraint/Parameterized.pm # once (16µs+4µs) by Plack::Middleware::StackTrace::BEGIN@4 at line 4 of Plack/Middleware/StackTrace.pm # once (15µs+4µs) by Moose::Meta::TypeConstraint::Union::BEGIN@12 at line 12 of Moose/Meta/TypeConstraint/Union.pm # once (15µs+5µs) by Moose::Meta::Class::Immutable::Trait::BEGIN@10 at line 10 of Moose/Meta/Class/Immutable/Trait.pm # once (16µs+3µs) by Moose::Meta::Class::BEGIN@22 at line 22 of Moose/Meta/Class.pm # once (15µs+4µs) by Moose::Meta::TypeConstraint::Class::BEGIN@12 at line 12 of Moose/Meta/TypeConstraint/Class.pm # once (15µs+3µs) by Moose::Meta::TypeConstraint::Role::BEGIN@12 at line 12 of Moose/Meta/TypeConstraint/Role.pm # once (14µs+4µs) by Moose::Meta::Role::Application::ToRole::BEGIN@8 at line 8 of Moose/Meta/Role/Application/ToRole.pm # once (13µs+5µs) by Moose::Meta::TypeCoercion::Union::BEGIN@10 at line 10 of Moose/Meta/TypeCoercion/Union.pm # once (14µs+3µs) by Moose::Meta::Role::Method::Required::BEGIN@13 at line 13 of Moose/Meta/Role/Method/Required.pm # once (14µs+4µs) by Moose::Meta::Role::Method::Conflicting::BEGIN@9 at line 9 of Moose/Meta/Role/Method/Conflicting.pm # once (14µs+3µs) by Class::MOP::Instance::BEGIN@9 at line 9 of Class/MOP/Instance.pm # once (13µs+4µs) by Class::MOP::Method::Wrapped::BEGIN@10 at line 10 of Class/MOP/Method/Wrapped.pm # once (14µs+3µs) by Class::MOP::Mixin::HasAttributes::BEGIN@9 at line 9 of Class/MOP/Mixin/HasAttributes.pm # once (13µs+4µs) by Moose::Meta::Role::Application::ToInstance::BEGIN@12 at line 12 of Moose/Meta/Role/Application/ToInstance.pm # once (13µs+3µs) by Class::MOP::Mixin::HasOverloads::BEGIN@15 at line 15 of Class/MOP/Mixin/HasOverloads.pm # once (15µs+1µs) by Return::MultiLevel::BEGIN@9 at line 9 of Return/MultiLevel.pm # once (13µs+3µs) by Class::MOP::Overload::BEGIN@11 at line 11 of Class/MOP/Overload.pm # once (12µs+3µs) by Class::MOP::Mixin::HasMethods::BEGIN@12 at line 12 of Class/MOP/Mixin/HasMethods.pm # once (1.02ms+-1.02ms) by Class::MOP::Module::BEGIN@7 at line 7 of Class/MOP/Module.pm # once (18µs+-18µs) by Moose::Meta::Method::BEGIN@9 at line 9 of Moose/Meta/Method.pm # once (270µs+-270µs) by HTTP::Headers::ActionPack::Core::BaseHeaderWithParams::BEGIN@15 at line 15 of HTTP/Headers/ActionPack/Core/BaseHeaderWithParams.pm # once (18µs+-18µs) by Moose::Meta::Mixin::AttributeCore::BEGIN@7 at line 7 of Moose/Meta/Mixin/AttributeCore.pm # once (20µs+-20µs) by Plack::Middleware::ContentLength::BEGIN@4 at line 4 of Plack/Middleware/ContentLength.pm # once (356µs+-356µs) by Plack::Middleware::BEGIN@5 at line 5 of Plack/Middleware.pm # once (20µs+-20µs) by HTTP::Headers::ActionPack::Core::BaseHeaderList::BEGIN@16 at line 16 of HTTP/Headers/ActionPack/Core/BaseHeaderList.pm # once (486µs+-486µs) by HTTP::Headers::ActionPack::PriorityList::BEGIN@18 at line 18 of HTTP/Headers/ActionPack/PriorityList.pm # once (14µs+-14µs) by Class::MOP::Method::Inlined::BEGIN@9 at line 9 of Class/MOP/Method/Inlined.pm # once (453µs+-453µs) by HTTP::Headers::ActionPack::Core::BaseHeaderType::BEGIN@20 at line 20 of HTTP/Headers/ActionPack/Core/BaseHeaderType.pm # once (15µs+-15µs) by Class::MOP::Method::Generated::BEGIN@9 at line 9 of Class/MOP/Method/Generated.pm # once (14µs+-14µs) by Class::MOP::Object::BEGIN@7 at line 7 of Class/MOP/Object.pm # once (1.82ms+-1.82ms) by Plack::Handler::HTTP::Server::PSGI::BEGIN@5 at line 5 of Plack/Handler/HTTP/Server/PSGI.pm # once (16µs+-16µs) by Plack::HTTPParser::BEGIN@3 at line 3 of Plack/HTTPParser.pm # once (14µs+-14µs) by Class::MOP::Package::BEGIN@12 at line 12 of Class/MOP/Package.pm # once (1.07ms+-1.07ms) by Class::MOP::Method::BEGIN@9 at line 9 of Class/MOP/Method.pm
sub import {
77128µs my $class = shift;
8
97170µs my $inheritor = caller(0);
10
117169µs if ( @_ and $_[0] eq '-norequire' ) {
12 shift @_;
13 } else {
1471128µs for ( my @filename = @_ ) {
158520µs if ( $_ eq $inheritor ) {
16 warn "Class '$inheritor' tried to inherit from itself\n";
17 };
18
1985540µs85343µs s{::|'}{/}g;
# spent 343µs making 85 calls to parent::CORE:subst, avg 4µs/call
20852.05ms require "$_.pm"; # dies if the file is not found
21 }
22 }
23
24 {
2573329µs222µs
# spent 14µs (6+8) within parent::BEGIN@25 which was called: # once (6µs+8µs) by Path::Class::Dir::BEGIN@10 at line 25
no strict 'refs';
# spent 14µs making 1 call to parent::BEGIN@25 # spent 8µs making 1 call to strict::unimport
2671620µs push @{"$inheritor\::ISA"}, @_;
27 };
28};
29
3012µs"All your base are belong to us"
31
32__END__
 
# spent 343µs within parent::CORE:subst which was called 85 times, avg 4µs/call: # 85 times (343µs+0s) by parent::import at line 19, avg 4µs/call
sub parent::CORE:subst; # opcode