Filename | /usr/share/perl/5.18/parent.pm |
Statements | Executed 689 statements in 3.99ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
71 | 71 | 71 | 12.6ms | 78.3ms | import (recurses: max depth 2, inclusive time 30.3ms) | parent::
85 | 1 | 1 | 343µs | 343µs | CORE:subst (opcode) | parent::
1 | 1 | 1 | 12µs | 33µs | BEGIN@3 | parent::
1 | 1 | 1 | 8µs | 16µs | BEGIN@2 | parent::
1 | 1 | 1 | 6µs | 14µs | BEGIN@25 | parent::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package parent; | ||||
2 | 2 | 21µs | 2 | 24µ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 # spent 16µs making 1 call to parent::BEGIN@2
# spent 8µs making 1 call to strict::import |
3 | 2 | 113µs | 2 | 53µ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 # spent 33µs making 1 call to parent::BEGIN@3
# spent 20µs making 1 call to vars::import |
4 | 1 | 400ns | $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 | ||||
7 | 71 | 28µs | my $class = shift; | ||
8 | |||||
9 | 71 | 70µs | my $inheritor = caller(0); | ||
10 | |||||
11 | 71 | 69µs | if ( @_ and $_[0] eq '-norequire' ) { | ||
12 | shift @_; | ||||
13 | } else { | ||||
14 | 71 | 128µs | for ( my @filename = @_ ) { | ||
15 | 85 | 20µs | if ( $_ eq $inheritor ) { | ||
16 | warn "Class '$inheritor' tried to inherit from itself\n"; | ||||
17 | }; | ||||
18 | |||||
19 | 85 | 540µs | 85 | 343µs | s{::|'}{/}g; # spent 343µs making 85 calls to parent::CORE:subst, avg 4µs/call |
20 | 85 | 2.05ms | require "$_.pm"; # dies if the file is not found | ||
21 | } | ||||
22 | } | ||||
23 | |||||
24 | { | ||||
25 | 73 | 329µs | 2 | 22µ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 # spent 14µs making 1 call to parent::BEGIN@25
# spent 8µs making 1 call to strict::unimport |
26 | 71 | 620µs | push @{"$inheritor\::ISA"}, @_; | ||
27 | }; | ||||
28 | }; | ||||
29 | |||||
30 | 1 | 2µ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 |