Profile of strict.pm

← 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:08 2016

Filename | /usr/share/perl/5.18/strict.pm
Statements | Executed 5925 statements in 5.77ms

Subroutines
Calls | P | F | Exclusive Time | Inclusive Time | Subroutine
--- | --- | --- | --- | --- | ---
399 | 3 | 2 | 2.82ms | 2.82ms | strict::::bitsstrict::bits
322 | 254 | 244 | 1.59ms | 3.97ms | strict::::importstrict::import
74 | 74 | 45 | 440µs | 864µs | strict::::unimportstrict::unimport
1 | 1 | 1 | 27µs | 27µs | strict::::CORE:regcompstrict::CORE:regcomp (opcode)
1 | 1 | 1 | 9µs | 9µs | strict::::CORE:matchstrict::CORE:match (opcode)

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

Line | State ments | Time on line | Calls | Time in subs | Code
--- | --- | --- | --- | --- | ---
1 |  |  |  |  | package strict;
2 |  |  |  |  |
3 | 1 | 500ns |  |  | $strict::VERSION = "1.07";
4 |  |  |  |  |
5 |  |  |  |  | # Verify that we're called correctly so that strictures will work.
6 | 1 | 62µs | 2 | 36µs | unless ( __FILE__ =~ /(^|[\/\\])\Q${\__PACKAGE__}\E\.pmc?$/ ) { # spent 27µs making 1 call to strict::CORE:regcomp # spent 9µs making 1 call to strict::CORE:match
7 |  |  |  |  | # Can't use Carp, since Carp uses us!
8 |  |  |  |  | my (undef, $f, $l) = caller;
9 |  |  |  |  | die("Incorrect use of pragma '${\__PACKAGE__}' at $f line $l.\n");
10 |  |  |  |  | }
11 |  |  |  |  |
12 | 1 | 4µs |  |  | my %bitmask = (
13 |  |  |  |  | refs => 0x00000002,
14 |  |  |  |  | subs => 0x00000200,
15 |  |  |  |  | vars => 0x00000400
16 |  |  |  |  | );
17 | 1 | 600ns |  |  | my %explicit_bitmask = (
18 |  |  |  |  | refs => 0x00000020,
19 |  |  |  |  | subs => 0x00000040,
20 |  |  |  |  | vars => 0x00000080
21 |  |  |  |  | );
22 |  |  |  |  |
23 |  |  |  |  | # spent 2.82ms within strict::bits which was called 399 times, avg 7µs/call: # 322 times (2.38ms+0s) by strict::import at line 44, avg 7µs/call # 74 times (424µs+0s) by strict::unimport at line 49, avg 6µs/call # 3 times (13µs+0s) by YAML::XS::BEGIN@56 at line 830 of B/Deparse.pm, avg 4µs/call sub bits {
24 | 399 | 131µs |  |  | my $bits = 0;
25 | 399 | 60µs |  |  | my @wrong;
26 | 399 | 365µs |  |  | foreach my $s (@_) {
27 | 1044 | 398µs |  |  | if (exists $bitmask{$s}) {
28 | 1044 | 693µs |  |  | $^H |= $explicit_bitmask{$s};
29 |  |  |  |  | }
30 |  |  |  |  | else { push @wrong, $s };
31 | 1044 | 577µs |  |  | $bits |= $bitmask{$s} || 0;
32 |  |  |  |  | }
33 | 399 | 121µs |  |  | if (@wrong) {
34 |  |  |  |  | require Carp;
35 |  |  |  |  | Carp::croak("Unknown 'strict' tag(s) '@wrong'");
36 |  |  |  |  | }
37 | 399 | 1.31ms |  |  | $bits;
38 |  |  |  |  | }
39 |  |  |  |  |
40 | 1 | 800ns |  |  | my @default_bits = qw(refs subs vars);
41 |  |  |  |  |
42 |  |  |  |  | # spent 3.97ms (1.59+2.38) within strict::import which was called 322 times, avg 12µs/call: # 67 times (268µs+476µs) by Moose::Role::import or Moose::Util::TypeConstraints::import or Moose::import at line 474 of Moose/Exporter.pm, avg 11µs/call # 3 times (11µs+16µs) by Moose::Exporter::import at line 791 of Moose/Exporter.pm, avg 9µs/call # once (32µs+46µs) by HTTP::Headers::ActionPack::Core::BaseHeaderType::BEGIN@10 at line 10 of HTTP/Headers/ActionPack/Core/BaseHeaderType.pm # once (30µs+41µs) by HTTP::Headers::ActionPack::MediaType::BEGIN@10 at line 10 of HTTP/Headers/ActionPack/MediaType.pm # once (15µs+50µs) by HTTP::Headers::ActionPack::MediaTypeList::BEGIN@10 at line 10 of HTTP/Headers/ActionPack/MediaTypeList.pm # once (22µs+38µs) by Time::Piece::BEGIN@3 at line 3 of Time/Piece.pm # once (19µs+33µs) by HTTP::Headers::ActionPack::Util::BEGIN@10 at line 10 of HTTP/Headers/ActionPack/Util.pm # once (31µs+5µs) by MRO::Compat::BEGIN@2 at line 2 of MRO/Compat.pm # once (12µs+20µs) by DBD::_::st::BEGIN@1841 at line 1841 of DBI.pm # once (24µs+6µs) by Module::Pluggable::Object::BEGIN@3 at line 3 of Module/Pluggable/Object.pm # once (16µs+13µs) by Plack::Request::BEGIN@2 at line 2 of Plack/Request.pm # once (10µs+16µs) by PONAPI::CLI::RunServer::BEGIN@2 at line 2 of Plack/Middleware/MethodOverride.pm # once (12µs+13µs) by Time::Seconds::BEGIN@2 at line 2 of Time/Seconds.pm # once (9µs+15µs) by Hash::MultiValue::BEGIN@3 at line 3 of Hash/MultiValue.pm # once (7µs+16µs) by HTTP::Message::BEGIN@3 at line 3 of HTTP/Message.pm # once (9µs+14µs) by re::BEGIN@4 at line 4 of re.pm # once (8µs+14µs) by HTTP::Body::BEGIN@6 at line 6 of HTTP/Body.pm # once (8µs+14µs) by HTTP::Headers::Fast::BEGIN@2 at line 2 of HTTP/Headers/Fast.pm # once (8µs+12µs) by HTTP::Headers::Util::BEGIN@3 at line 3 of HTTP/Headers/Util.pm # once (8µs+11µs) by HTTP::Headers::BEGIN@3 at line 3 of HTTP/Headers.pm # once (4µs+15µs) by Stream::Buffered::BEGIN@2 at line 2 of Stream/Buffered.pm # once (8µs+10µs) by Config::BEGIN@5 at line 5 of Config_heavy.pl # once (8µs+10µs) by Moose::Meta::Method::Accessor::Native::Hash::set::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor/Native/Hash/set.pm # once (3µs+15µs) by Sub::Exporter::Progressive::BEGIN@3 at line 3 of Sub/Exporter/Progressive.pm # once (6µs+11µs) by HTTP::Body::OctetStream::BEGIN@6 at line 6 of HTTP/Body/OctetStream.pm # once (7µs+11µs) by DBD::SQLite::Constants::BEGIN@6 at line 6 of DBD/SQLite/Constants.pm # once (7µs+11µs) by PONAPI::CLI::BEGIN@3 at line 3 of lib/PONAPI/CLI.pm # once (8µs+9µs) by Plack::Middleware::Lint::BEGIN@2 at line 2 of Plack/Middleware/Lint.pm # once (6µs+11µs) by PONAPI::Builder::BEGIN@1 at line 1 of Moose/Role.pm # once (7µs+10µs) by Moose::Meta::Method::Accessor::Native::Hash::keys::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor/Native/Hash/keys.pm # once (6µs+11µs) by Moose::Meta::Method::Accessor::Native::Hash::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor/Native/Hash.pm # once (11µs+5µs) by Fcntl::BEGIN@3 at line 3 of Fcntl.pm # once (6µs+10µs) by Class::MOP::Deprecated::BEGIN@4 at line 4 of Class/MOP/Deprecated.pm # once (6µs+9µs) by Moose::Meta::Method::Accessor::Native::Hash::count::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor/Native/Hash/count.pm # once (6µs+10µs) by Moose::Util::TypeConstraints::Builtins::BEGIN@4 at line 4 of Moose/Util/TypeConstraints/Builtins.pm # once (6µs+10µs) by Moose::Meta::Method::Accessor::Native::Hash::get::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor/Native/Hash/get.pm # once (6µs+10µs) by Moose::Meta::Method::Accessor::Native::Array::get::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor/Native/Array/get.pm # once (5µs+10µs) by PONAPI::Constants::BEGIN@4 at line 4 of lib/PONAPI/Constants.pm # once (5µs+10µs) by Moose::Meta::Method::Accessor::Native::Array::push::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor/Native/Array/push.pm # once (5µs+10µs) by DBD::SQLite::BEGIN@4 at line 4 of DBD/SQLite.pm # once (6µs+10µs) by HTTP::Headers::ActionPack::PriorityList::BEGIN@10 at line 10 of HTTP/Headers/ActionPack/PriorityList.pm # once (6µs+8µs) by Apache::LogFormat::Compiler::BEGIN@3 at line 3 of Apache/LogFormat/Compiler.pm # once (7µs+7µs) by Plack::Middleware::StackTrace::BEGIN@2 at line 2 of Plack/Middleware/StackTrace.pm # once (7µs+8µs) by URI::BEGIN@3 at line 3 of URI.pm # once (6µs+9µs) by Moose::Meta::TypeConstraint::DuckType::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint/DuckType.pm # once (6µs+9µs) by Devel::InnerPackage::BEGIN@3 at line 3 of Devel/InnerPackage.pm # once (5µs+10µs) by Moose::Meta::Method::Augmented::BEGIN@4 at line 4 of Moose/Meta/Method/Augmented.pm # once (6µs+9µs) by Moose::Meta::Method::Accessor::Native::Array::count::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor/Native/Array/count.pm # once (5µs+9µs) by Moose::Meta::Method::Accessor::Native::Hash::exists::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor/Native/Hash/exists.pm # once (7µs+8µs) by Moose::Meta::Method::Accessor::Native::Hash::Writer::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor/Native/Hash/Writer.pm # once (6µs+9µs) by PONAPI::Utils::Names::BEGIN@4 at line 4 of lib/PONAPI/Utils/Names.pm # once (6µs+8µs) by Moose::Meta::TypeConstraint::Registry::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint/Registry.pm # once (7µs+7µs) by HTTP::Date::BEGIN@10 at line 10 of HTTP/Date.pm # once (5µs+9µs) by POSIX::BEGIN@2 at line 2 of POSIX.pm # once (5µs+9µs) by Moose::Meta::Role::Composite::BEGIN@4 at line 4 of Moose/Meta/Role/Composite.pm # once (5µs+9µs) by Module::Runtime::BEGIN@1 at line 1 of App/Cmd/Command/commands.pm # once (6µs+8µs) by URI::Escape::BEGIN@2 at line 2 of URI/Escape.pm # once (7µs+7µs) by Plack::Middleware::AccessLog::BEGIN@2 at line 2 of Plack/Middleware/AccessLog.pm # once (5µs+9µs) by Moose::Meta::Instance::BEGIN@4 at line 4 of Moose/Meta/Instance.pm # once (5µs+9µs) by Class::MOP::Attribute::BEGIN@4 at line 4 of Class/MOP/Attribute.pm # once (6µs+8µs) by Cwd::BEGIN@3 at line 3 of Cwd.pm # once (6µs+8µs) by Moose::Meta::TypeConstraint::Parameterized::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint/Parameterized.pm # once (5µs+8µs) by Moose::Meta::TypeCoercion::BEGIN@4 at line 4 of Moose/Meta/TypeCoercion.pm # once (7µs+7µs) by PONAPI::CLI::RunServer::BEGIN@4 at line 4 of lib/PONAPI/CLI/RunServer.pm # once (7µs+7µs) by Plack::Loader::BEGIN@2 at line 2 of Plack/Loader.pm # once (5µs+8µs) by Moose::Meta::TypeConstraint::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint.pm # once (6µs+7µs) by Moose::Meta::Method::Accessor::Native::Collection::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor/Native/Collection.pm # once (5µs+8µs) by Moose::Util::MetaRole::BEGIN@4 at line 4 of Moose/Util/MetaRole.pm # once (6µs+8µs) by Moose::Meta::Role::Application::ToClass::BEGIN@4 at line 4 of Moose/Meta/Role/Application/ToClass.pm # once (5µs+8µs) by HTTP::Headers::ActionPack::Core::BaseHeaderList::BEGIN@10 at line 10 of HTTP/Headers/ActionPack/Core/BaseHeaderList.pm # once (6µs+7µs) by PONAPI::CLI::BEGIN@1 at line 1 of App/Cmd/Setup.pm # once (6µs+7µs) by Devel::StackTrace::AsHTML::BEGIN@3 at line 3 of Devel/StackTrace/AsHTML.pm # once (5µs+8µs) by Moose::Meta::Mixin::AttributeCore::BEGIN@4 at line 4 of Moose/Meta/Mixin/AttributeCore.pm # once (4µs+8µs) by URI::QueryParam::BEGIN@3 at line 3 of URI/QueryParam.pm # once (4µs+9µs) by App::Cmd::BEGIN@1 at line 1 of App/Cmd/ArgProcessor.pm # once (5µs+7µs) by HTTP::Body::UrlEncoded::BEGIN@6 at line 6 of HTTP/Body/UrlEncoded.pm # once (4µs+8µs) by Moose::Meta::Role::Application::ToRole::BEGIN@4 at line 4 of Moose/Meta/Role/Application/ToRole.pm # once (5µs+7µs) by Moose::Meta::TypeConstraint::Class::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint/Class.pm # once (5µs+7µs) by Moose::Meta::Role::Application::BEGIN@4 at line 4 of Moose/Meta/Role/Application.pm # once (5µs+8µs) by App::Cmd::Setup::BEGIN@1.4 at line 1 of App/Cmd/Command.pm # once (6µs+6µs) by DBD::_::common::BEGIN@1366 at line 1366 of DBI.pm # once (4µs+8µs) by Moose::Meta::Method::Accessor::Native::Array::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor/Native/Array.pm # once (5µs+7µs) by Moose::Meta::TypeConstraint::Parameterizable::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint/Parameterizable.pm # once (4µs+8µs) by Params::Validate::BEGIN@8 at line 8 of Params/Validate.pm # once (5µs+7µs) by attributes::BEGIN@9 at line 9 of attributes.pm # once (5µs+7µs) by Plack::Runner::BEGIN@2 at line 2 of Plack/Runner.pm # once (5µs+7µs) by Moose::Meta::Role::Application::RoleSummation::BEGIN@4 at line 4 of Moose/Meta/Role/Application/RoleSummation.pm # once (5µs+7µs) by HTTP::Body::XFormsMultipart::BEGIN@6 at line 6 of HTTP/Body/XFormsMultipart.pm # once (4µs+7µs) by Module::Runtime::BEGIN@1.12 at line 1 of App/Cmd/Command/help.pm # once (6µs+6µs) by App::Cmd::ArgProcessor::BEGIN@1 at line 1 of Getopt/Long/Descriptive.pm # once (5µs+7µs) by Getopt::Long::Descriptive::BEGIN@1.18 at line 1 of Sub/Exporter/Util.pm # once (6µs+6µs) by Moose::Meta::Method::Accessor::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor.pm # once (4µs+8µs) by PONAPI::CLI::Command::manual::BEGIN@6 at line 6 of lib/PONAPI/CLI/Command/manual.pm # once (4µs+7µs) by Getopt::Long::Descriptive::BEGIN@1 at line 1 of Getopt/Long/Descriptive/Opts.pm # once (5µs+7µs) by Moose::Meta::Method::Accessor::Native::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor/Native.pm # once (5µs+7µs) by Moose::Meta::Method::Accessor::Native::Reader::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor/Native/Reader.pm # once (5µs+6µs) by IO::Socket::UNIX::BEGIN@9 at line 9 of IO/Socket/UNIX.pm # once (5µs+7µs) by Moose::Meta::Method::Accessor::Native::Writer::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor/Native/Writer.pm # once (5µs+6µs) by HTTP::Body::XForms::BEGIN@6 at line 6 of HTTP/Body/XForms.pm # once (5µs+7µs) by Plack::Middleware::ContentLength::BEGIN@2 at line 2 of Plack/Middleware/ContentLength.pm # once (5µs+7µs) by HTTP::Headers::ActionPack::Core::BaseHeaderWithParams::BEGIN@10 at line 10 of HTTP/Headers/ActionPack/Core/BaseHeaderWithParams.pm # once (4µs+7µs) by Module::Runtime::BEGIN@1.14 at line 1 of App/Cmd/Command/version.pm # once (5µs+6µs) by App::Cmd::Setup::BEGIN@1.6 at line 1 of App/Cmd/Plugin.pm # once (4µs+7µs) by Moose::Meta::Role::Method::BEGIN@4 at line 4 of Moose/Meta/Role/Method.pm # once (4µs+7µs) by PONAPI::CLI::Command::demo::BEGIN@6 at line 6 of lib/PONAPI/CLI/Command/demo.pm # once (5µs+7µs) by Pod::Perldoc::BEGIN@4 at line 4 of Pod/Perldoc.pm # once (4µs+7µs) by Path::Class::File::BEGIN@1.10 at line 1 of Perl/OSType.pm # once (5µs+6µs) by Moose::Meta::Method::Accessor::Native::Array::Writer::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor/Native/Array/Writer.pm # once (4µs+7µs) by File::Temp::Dir::BEGIN@2489 at line 2489 of File/Temp.pm # once (4µs+7µs) by Params::Validate::Constants::BEGIN@6 at line 6 of Params/Validate/Constants.pm # once (5µs+6µs) by HTTP::Body::MultiPart::BEGIN@6 at line 6 of HTTP/Body/MultiPart.pm # once (4µs+7µs) by Class::MOP::Class::Immutable::Trait::BEGIN@4 at line 4 of Class/MOP/Class/Immutable/Trait.pm # once (5µs+6µs) by Plack::Handler::Standalone::BEGIN@2 at line 2 of Plack/Handler/Standalone.pm # once (4µs+6µs) by PONAPI::Server::BEGIN@4 at line 4 of lib/PONAPI/Server.pm # once (5µs+5µs) by deprecate::BEGIN@2 at line 2 of deprecate.pm # once (4µs+6µs) by Time::HiRes::BEGIN@4 at line 4 of Time/HiRes.pm # once (4µs+7µs) by Pod::Perldoc::GetOptsOO::BEGIN@2 at line 2 of Pod/Perldoc/GetOptsOO.pm # once (4µs+6µs) by App::Cmd::Setup::BEGIN@1.8 at line 1 of String/RewritePrefix.pm # once (4µs+6µs) by Getopt::Long::Descriptive::BEGIN@1.16 at line 1 of Getopt/Long/Descriptive/Usage.pm # once (5µs+6µs) by HTTP::Status::BEGIN@3 at line 3 of HTTP/Status.pm # once (5µs+6µs) by PONAPI::Server::ConfigReader::BEGIN@1 at line 1 of Moose.pm # once (3µs+7µs) by Class::MOP::Package::BEGIN@4 at line 4 of Class/MOP/Package.pm # once (4µs+6µs) by IO::Dir::BEGIN@11 at line 11 of IO/Dir.pm # once (4µs+6µs) by Data::OptList::BEGIN@1 at line 1 of Sub/Install.pm # once (4µs+6µs) by Params::Validate::XS::BEGIN@6 at line 6 of Params/Validate/XS.pm # once (4µs+6µs) by Moose::Object::BEGIN@4 at line 4 of Moose/Object.pm # once (4µs+6µs) by Class::MOP::Method::Wrapped::BEGIN@4 at line 4 of Class/MOP/Method/Wrapped.pm # once (4µs+6µs) by Moose::Exporter::BEGIN@4 at line 4 of Moose/Exporter.pm # once (5µs+6µs) by IO::File::BEGIN@6 at line 6 of IO/File.pm # once (4µs+6µs) by Class::MOP::Mixin::HasOverloads::BEGIN@4 at line 4 of Class/MOP/Mixin/HasOverloads.pm # once (5µs+5µs) by Devel::StackTrace::BEGIN@7 at line 7 of Devel/StackTrace.pm # once (4µs+6µs) by Moose::Meta::TypeConstraint::Enum::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint/Enum.pm # once (4µs+6µs) by Moose::Meta::TypeConstraint::Role::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint/Role.pm # once (4µs+5µs) by Moose::Meta::Role::Method::Conflicting::BEGIN@4 at line 4 of Moose/Meta/Role/Method/Conflicting.pm # once (4µs+6µs) by Class::Load::BEGIN@7 at line 7 of Class/Load.pm # once (3µs+7µs) by Class::MOP::Method::Generated::BEGIN@4 at line 4 of Class/MOP/Method/Generated.pm # once (4µs+6µs) by Moose::Meta::Role::Application::ToInstance::BEGIN@4 at line 4 of Moose/Meta/Role/Application/ToInstance.pm # once (4µs+6µs) by File::Path::BEGIN@4 at line 4 of File/Path.pm # once (4µs+6µs) by PONAPI::Server::ConfigReader::BEGIN@1.21 at line 1 of YAML/XS.pm # once (4µs+6µs) by DBD::_::dr::BEGIN@1466 at line 1466 of DBI.pm # once (4µs+6µs) by Plack::Middleware::BEGIN@2 at line 2 of Plack/Middleware.pm # once (4µs+5µs) by Moose::Meta::Role::BEGIN@4 at line 4 of Moose/Meta/Role.pm # once (4µs+5µs) by File::Spec::BEGIN@3 at line 3 of File/Spec.pm # once (4µs+6µs) by PONAPI::CLI::Command::gen::BEGIN@6 at line 6 of lib/PONAPI/CLI/Command/gen.pm # once (4µs+6µs) by Module::Implementation::BEGIN@9 at line 9 of Module/Implementation.pm # once (4µs+6µs) by Class::MOP::Method::Accessor::BEGIN@4 at line 4 of Class/MOP/Method/Accessor.pm # once (4µs+6µs) by File::Temp::BEGIN@143 at line 143 of File/Temp.pm # once (3µs+6µs) by File::Copy::BEGIN@11 at line 11 of File/Copy.pm # once (4µs+6µs) by Class::MOP::Instance::BEGIN@4 at line 4 of Class/MOP/Instance.pm # once (4µs+5µs) by Class::MOP::Method::Constructor::BEGIN@4 at line 4 of Class/MOP/Method/Constructor.pm # once (4µs+6µs) by Class::MOP::Mixin::HasAttributes::BEGIN@4 at line 4 of Class/MOP/Mixin/HasAttributes.pm # once (4µs+6µs) by Moose::Meta::Method::Delegation::BEGIN@4 at line 4 of Moose/Meta/Method/Delegation.pm # once (5µs+5µs) by Path::Class::BEGIN@1 at line 1 of Path/Class/File.pm # once (4µs+6µs) by HTTP::Headers::ActionPack::BEGIN@10 at line 10 of HTTP/Headers/ActionPack.pm # once (4µs+5µs) by Exporter::Heavy::BEGIN@3 at line 3 of Exporter/Heavy.pm # once (4µs+6µs) by Return::MultiLevel::BEGIN@4 at line 4 of Return/MultiLevel.pm # once (4µs+6µs) by Moose::Meta::Method::Overridden::BEGIN@4 at line 4 of Moose/Meta/Method/Overridden.pm # once (4µs+5µs) by PONAPI::CLI::Command::gen::BEGIN@1 at line 1 of Path/Class.pm # once (4µs+6µs) by Plack::Component::BEGIN@2 at line 2 of Plack/Component.pm # once (3µs+6µs) by Devel::OverloadInfo::BEGIN@14 at line 14 of Devel/OverloadInfo.pm # once (4µs+6µs) by Class::MOP::Mixin::HasMethods::BEGIN@4 at line 4 of Class/MOP/Mixin/HasMethods.pm # once (4µs+6µs) by Moose::Meta::Class::BEGIN@4 at line 4 of Moose/Meta/Class.pm # once (4µs+6µs) by utf8::BEGIN@2 at line 2 of utf8_heavy.pl # once (3µs+6µs) by Try::Tiny::BEGIN@9 at line 9 of Try/Tiny.pm # once (4µs+5µs) by Class::MOP::Class::BEGIN@4 at line 4 of Class/MOP/Class.pm # once (4µs+6µs) by POSIX::strftime::Compiler::BEGIN@4 at line 4 of POSIX/strftime/Compiler.pm # once (4µs+6µs) by Scope::Upper::BEGIN@5 at line 5 of Scope/Upper.pm # once (4µs+6µs) by Moose::BEGIN@1 at line 1 of Moose/Meta/Attribute/Native.pm # once (4µs+6µs) by Stream::Buffered::File::BEGIN@2 at line 2 of Stream/Buffered/File.pm # once (4µs+5µs) by Config::BEGIN@9 at line 9 of Config.pm # once (4µs+5µs) by DBD::_::db::BEGIN@1531 at line 1531 of DBI.pm # once (3µs+6µs) by constant::BEGIN@3 at line 3 of constant.pm # once (4µs+6µs) by Moose::Meta::Method::Destructor::BEGIN@4 at line 4 of Moose/Meta/Method/Destructor.pm # once (4µs+5µs) by IO::Socket::BEGIN@14 at line 14 of IO/Socket.pm # once (4µs+5µs) by List::Util::BEGIN@9 at line 9 of List/Util.pm # once (4µs+5µs) by File::Spec::Unix::BEGIN@3 at line 3 of File/Spec/Unix.pm # once (4µs+5µs) by Moose::Meta::Role::Attribute::BEGIN@4 at line 4 of Moose/Meta/Role/Attribute.pm # once (3µs+6µs) by Class::MOP::Method::Inlined::BEGIN@4 at line 4 of Class/MOP/Method/Inlined.pm # once (4µs+5µs) by Class::MOP::Mixin::AttributeCore::BEGIN@4 at line 4 of Class/MOP/Mixin/AttributeCore.pm # once (4µs+5µs) by Package::DeprecationManager::BEGIN@6 at line 6 of Package/DeprecationManager.pm # once (4µs+5µs) by Moose::Deprecated::BEGIN@4 at line 4 of Moose/Deprecated.pm # once (4µs+5µs) by App::Cmd::Setup::BEGIN@1 at line 1 of App/Cmd.pm # once (4µs+6µs) by Moose::Meta::TypeCoercion::Union::BEGIN@4 at line 4 of Moose/Meta/TypeCoercion/Union.pm # once (3µs+6µs) by Carp::BEGIN@4 at line 4 of Carp.pm # once (4µs+5µs) by Class::Struct::BEGIN@7 at line 7 of Class/Struct.pm # once (4µs+5µs) by Moose::Meta::Role::Method::Required::BEGIN@4 at line 4 of Moose/Meta/Role/Method/Required.pm # once (4µs+5µs) by Class::Load::XS::BEGIN@8 at line 8 of Class/Load/XS.pm # once (3µs+6µs) by App::Cmd::BEGIN@2.3 at line 2 of Sub/Exporter.pm # once (4µs+5µs) by Plack::Response::BEGIN@2 at line 2 of Plack/Response.pm # once (3µs+6µs) by Stream::Buffered::PerlIO::BEGIN@2 at line 2 of Stream/Buffered/PerlIO.pm # once (4µs+5µs) by Plack::Util::Accessor::BEGIN@2 at line 2 of Plack/Util/Accessor.pm # once (4µs+5µs) by Moose::Meta::Method::Meta::BEGIN@4 at line 4 of Moose/Meta/Method/Meta.pm # once (4µs+5µs) by Errno::BEGIN@8 at line 8 of Errno.pm # once (4µs+5µs) by Class::MOP::MiniTrait::BEGIN@4 at line 4 of Class/MOP/MiniTrait.pm # once (4µs+5µs) by Moose::Meta::Class::Immutable::Trait::BEGIN@4 at line 4 of Moose/Meta/Class/Immutable/Trait.pm # once (3µs+5µs) by Stream::Buffered::Auto::BEGIN@2 at line 2 of Stream/Buffered/Auto.pm # once (4µs+5µs) by Moose::Meta::TypeConstraint::Union::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint/Union.pm # once (4µs+5µs) by Plack::Request::Upload::BEGIN@2 at line 2 of Plack/Request/Upload.pm # once (4µs+5µs) by Moose::Meta::TypeCoercion::BEGIN@1 at line 1 of Moose/Meta/Attribute.pm # once (3µs+5µs) by Class::MOP::Module::BEGIN@4 at line 4 of Class/MOP/Module.pm # once (4µs+5µs) by Plack::HTTPParser::BEGIN@2 at line 2 of Plack/HTTPParser.pm # once (3µs+5µs) by File::Spec::Functions::BEGIN@4 at line 4 of File/Spec/Functions.pm # once (4µs+5µs) by Plack::Handler::HTTP::Server::PSGI::BEGIN@2 at line 2 of Plack/Handler/HTTP/Server/PSGI.pm # once (4µs+5µs) by Plack::BEGIN@3 at line 3 of Plack.pm # once (4µs+5µs) by Devel::StackTrace::Frame::BEGIN@3 at line 3 of Devel/StackTrace/Frame.pm # once (3µs+6µs) by Getopt::Long::BEGIN@17 at line 17 of Getopt/Long.pm # once (4µs+5µs) by metaclass::BEGIN@4 at line 4 of metaclass.pm # once (4µs+5µs) by Moose::Meta::Method::Constructor::BEGIN@4 at line 4 of Moose/Meta/Method/Constructor.pm # once (3µs+5µs) by mro::BEGIN@10 at line 10 of mro.pm # once (4µs+5µs) by HTTP::Server::PSGI::BEGIN@2 at line 2 of HTTP/Server/PSGI.pm # once (3µs+5µs) by Class::MOP::Method::BEGIN@4 at line 4 of Class/MOP/Method.pm # once (4µs+5µs) by IO::Socket::INET::BEGIN@9 at line 9 of IO/Socket/INET.pm # once (3µs+5µs) by Params::Util::BEGIN@59 at line 59 of Params/Util.pm # once (4µs+5µs) by DBI::BEGIN@292 at line 292 of DBI.pm # once (4µs+5µs) by Socket::BEGIN@3 at line 3 of Socket.pm # once (4µs+5µs) by Scalar::Util::BEGIN@9 at line 9 of Scalar/Util.pm # once (3µs+5µs) by Class::MOP::BEGIN@4 at line 4 of Class/MOP.pm # once (4µs+5µs) by Class::Load::BEGIN@1 at line 1 of Data/OptList.pm # once (3µs+5µs) by B::Deparse::BEGIN@24 at line 24 of B/Deparse.pm # once (4µs+5µs) by File::Find::BEGIN@3 at line 3 of File/Find.pm # once (3µs+5µs) by YAML::XS::LibYAML::BEGIN@3 at line 3 of YAML/XS/LibYAML.pm # once (3µs+5µs) by File::Find::BEGIN@357 at line 357 of File/Find.pm # once (3µs+5µs) by Class::MOP::Method::Meta::BEGIN@4 at line 4 of Class/MOP/Method/Meta.pm # once (4µs+5µs) by Class::MOP::Mixin::BEGIN@4 at line 4 of Class/MOP/Mixin.pm # once (3µs+5µs) by IO::Handle::BEGIN@4 at line 4 of IO/Handle.pm # once (3µs+5µs) by Plack::Util::BEGIN@2 at line 2 of Plack/Util.pm # once (3µs+5µs) by Moose::Meta::Method::BEGIN@4 at line 4 of Moose/Meta/Method.pm # once (3µs+5µs) by HTTP::Headers::ActionPack::Core::Base::BEGIN@10 at line 10 of HTTP/Headers/ActionPack/Core/Base.pm # once (3µs+5µs) by Devel::GlobalDestruction::BEGIN@3 at line 3 of Devel/GlobalDestruction.pm # once (3µs+5µs) by File::Basename::BEGIN@50 at line 50 of File/Basename.pm # once (3µs+5µs) by Package::Stash::XS::BEGIN@8 at line 8 of Package/Stash/XS.pm # once (3µs+5µs) by Cookie::Baker::BEGIN@4 at line 4 of Cookie/Baker.pm # once (3µs+5µs) by Package::Stash::BEGIN@8 at line 8 of Package/Stash.pm # once (3µs+5µs) by Eval::Closure::BEGIN@8 at line 8 of Eval/Closure.pm # once (4µs+5µs) by HTTP::Parser::XS::BEGIN@3 at line 3 of HTTP/Parser/XS.pm # once (3µs+5µs) by Sub::Name::BEGIN@44 at line 44 of Sub/Name.pm # once (3µs+5µs) by List::MoreUtils::BEGIN@4 at line 4 of List/MoreUtils.pm # once (3µs+5µs) by Sub::Identify::BEGIN@3 at line 3 of Sub/Identify.pm # once (3µs+5µs) by Time::Local::BEGIN@6 at line 6 of Time/Local.pm # once (5µs+3µs) by Pod::Perldoc::BEGIN@95 at line 95 of Pod/Perldoc.pm # once (3µs+5µs) by Moose::Util::BEGIN@4 at line 4 of Moose/Util.pm # once (3µs+5µs) by Path::Class::File::BEGIN@1 at line 1 of Path/Class/Dir.pm # once (3µs+5µs) by Class::MOP::Object::BEGIN@4 at line 4 of Class/MOP/Object.pm # once (3µs+5µs) by Class::MOP::Overload::BEGIN@4 at line 4 of Class/MOP/Overload.pm # once (3µs+5µs) by FileHandle::BEGIN@4 at line 4 of FileHandle.pm # once (3µs+5µs) by IO::BEGIN@7 at line 7 of IO.pm # once (3µs+5µs) by parent::BEGIN@2 at line 2 of parent.pm # once (3µs+5µs) by parent::BEGIN@1 at line 1 of Path/Class/Entity.pm # once (3µs+5µs) by File::stat::BEGIN@4 at line 4 of File/stat.pm # once (4µs+4µs) by base::BEGIN@3 at line 3 of base.pm # once (3µs+5µs) by IO::Seekable::BEGIN@7 at line 7 of IO/Seekable.pm # once (3µs+5µs) by vars::BEGIN@8 at line 8 of vars.pm # once (3µs+4µs) by B::BEGIN@9 at line 9 of B.pm # once (3µs+4µs) by Sub::Exporter::Progressive::BEGIN@23 at line 23 of Sub/Exporter/Progressive.pm sub import {
43 | 322 | 77µs |  |  | shift;
44 | 322 | 1.54ms | 322 | 2.38ms | $^H |= bits(@_ ? @_ : @default_bits); # spent 2.38ms making 322 calls to strict::bits, avg 7µs/call
45 |  |  |  |  | }
46 |  |  |  |  |
47 |  |  |  |  | # spent 864µs (440+424) within strict::unimport which was called 74 times, avg 12µs/call: # once (52µs+43µs) by Time::Piece::BEGIN@121 at line 121 of Time/Piece.pm # once (23µs+28µs) by Plack::Runner::BEGIN@166 at line 166 of Plack/Runner.pm # once (15µs+18µs) by HTTP::Headers::Fast::BEGIN@551 at line 551 of HTTP/Headers/Fast.pm # once (11µs+11µs) by HTTP::Message::BEGIN@651 at line 651 of HTTP/Message.pm # once (8µs+12µs) by URI::BEGIN@128 at line 128 of URI.pm # once (10µs+10µs) by Moose::Util::TypeConstraints::BEGIN@62 at line 62 of Moose/Util/TypeConstraints.pm # once (8µs+9µs) by B::Deparse::BEGIN@3802 at line 3802 of B/Deparse.pm # once (8µs+7µs) by B::Deparse::BEGIN@1998 at line 1998 of B/Deparse.pm # once (5µs+8µs) by Moose::Exporter::BEGIN@135 at line 135 of Moose/Exporter.pm # once (7µs+6µs) by B::BEGIN@251 at line 251 of B.pm # once (8µs+5µs) by Cwd::BEGIN@647 at line 647 of Cwd.pm # once (6µs+7µs) by DBI::BEGIN@288 at line 288 of DBI.pm # once (7µs+5µs) by Getopt::Long::Descriptive::Opts::BEGIN@99 at line 99 of Getopt/Long/Descriptive/Opts.pm # once (6µs+6µs) by Moose::Object::BEGIN@79 at line 79 of Moose/Object.pm # once (5µs+6µs) by POSIX::BEGIN@204 at line 204 of POSIX.pm # once (6µs+5µs) by File::Path::BEGIN@329 at line 329 of File/Path.pm # once (5µs+5µs) by B::Deparse::BEGIN@595 at line 595 of B/Deparse.pm # once (6µs+4µs) by Socket::BEGIN@240 at line 240 of Socket.pm # once (5µs+5µs) by App::Cmd::Setup::BEGIN@167 at line 167 of App/Cmd/Setup.pm # once (6µs+5µs) by Pod::Perldoc::BEGIN@94 at line 94 of Pod/Perldoc.pm # once (5µs+5µs) by File::stat::BEGIN@211 at line 211 of File/stat.pm # once (6µs+4µs) by Time::HiRes::BEGIN@43 at line 43 of Time/HiRes.pm # once (5µs+4µs) by Sub::Exporter::Util::BEGIN@139 at line 139 of Sub/Exporter/Util.pm # once (5µs+5µs) by IO::Handle::BEGIN@370 at line 370 of IO/Handle.pm # once (6µs+4µs) by FileHandle::BEGIN@46 at line 46 of FileHandle.pm # once (4µs+5µs) by Sub::Install::BEGIN@170 at line 170 of Sub/Install.pm # once (4µs+5µs) by Moose::Exporter::BEGIN@331 at line 331 of Moose/Exporter.pm # once (5µs+4µs) by Devel::InnerPackage::BEGIN@67 at line 67 of Devel/InnerPackage.pm # once (5µs+5µs) by DBI::BEGIN@707 at line 707 of DBI.pm # once (4µs+5µs) by B::Deparse::BEGIN@807 at line 807 of B/Deparse.pm # once (6µs+4µs) by Devel::StackTrace::Frame::BEGIN@8 at line 8 of Devel/StackTrace/Frame.pm # once (5µs+4µs) by Plack::Util::Accessor::BEGIN@14 at line 14 of Plack/Util/Accessor.pm # once (4µs+5µs) by utf8::BEGIN@656 at line 656 of utf8_heavy.pl # once (5µs+4µs) by utf8::BEGIN@155 at line 155 of utf8_heavy.pl # once (5µs+4µs) by B::Deparse::BEGIN@39 at line 39 of B/Deparse.pm # once (5µs+4µs) by Moose::Exporter::BEGIN@725 at line 725 of Moose/Exporter.pm # once (5µs+4µs) by DBI::BEGIN@550 at line 550 of DBI.pm # once (4µs+4µs) by Carp::BEGIN@433 at line 433 of Carp.pm # once (4µs+5µs) by DBI::BEGIN@982 at line 982 of DBI.pm # once (4µs+4µs) by DBI::BEGIN@820 at line 820 of DBI.pm # once (5µs+4µs) by Class::MOP::Class::Immutable::Trait::BEGIN@29 at line 29 of Class/MOP/Class/Immutable/Trait.pm # once (4µs+4µs) by Class::MOP::Package::BEGIN@171 at line 171 of Class/MOP/Package.pm # once (4µs+4µs) by DBI::BEGIN@1051 at line 1051 of DBI.pm # once (4µs+5µs) by DBI::BEGIN@854 at line 854 of DBI.pm # once (5µs+4µs) by MRO::Compat::BEGIN@118 at line 118 of MRO/Compat.pm # once (4µs+5µs) by Module::Implementation::BEGIN@123 at line 123 of Module/Implementation.pm # once (5µs+4µs) by constant::BEGIN@28 at line 28 of constant.pm # once (4µs+4µs) by constant::BEGIN@54 at line 54 of constant.pm # once (4µs+4µs) by File::Spec::Unix::BEGIN@65 at line 65 of File/Spec/Unix.pm # once (5µs+4µs) by Sub::Exporter::Progressive::BEGIN@18 at line 18 of Sub/Exporter/Progressive.pm # once (4µs+4µs) by Class::Struct::BEGIN@96 at line 96 of Class/Struct.pm # once (4µs+4µs) by App::Cmd::BEGIN@36 at line 36 of App/Cmd.pm # once (4µs+4µs) by Devel::InnerPackage::BEGIN@87 at line 87 of Devel/InnerPackage.pm # once (4µs+4µs) by DBI::BEGIN@885 at line 885 of DBI.pm # once (5µs+3µs) by Path::Class::BEGIN@10 at line 10 of Path/Class.pm # once (4µs+4µs) by File::stat::BEGIN@35 at line 35 of File/stat.pm # once (4µs+4µs) by File::Spec::Functions::BEGIN@42 at line 42 of File/Spec/Functions.pm # once (4µs+4µs) by MRO::Compat::BEGIN@258 at line 258 of MRO/Compat.pm # once (4µs+4µs) by File::Temp::BEGIN@245 at line 245 of File/Temp.pm # once (4µs+4µs) by parent::BEGIN@25 at line 25 of parent.pm # once (4µs+4µs) by Config::BEGIN@47 at line 47 of Config.pm # once (4µs+4µs) by MRO::Compat::BEGIN@227 at line 227 of MRO/Compat.pm # once (4µs+4µs) by Class::Struct::BEGIN@189 at line 189 of Class/Struct.pm # once (4µs+4µs) by List::Util::BEGIN@30 at line 30 of List/Util.pm # once (4µs+4µs) by Carp::BEGIN@448 at line 448 of Carp.pm # once (4µs+4µs) by Class::Struct::BEGIN@105 at line 105 of Class/Struct.pm # once (4µs+4µs) by File::Temp::BEGIN@275 at line 275 of File/Temp.pm # once (4µs+4µs) by constant::BEGIN@116 at line 116 of constant.pm # once (4µs+4µs) by Carp::BEGIN@67 at line 67 of Carp.pm # once (4µs+4µs) by Moose::Exporter::BEGIN@735 at line 735 of Moose/Exporter.pm # once (3µs+4µs) by Class::MOP::Class::Immutable::Trait::BEGIN@39 at line 39 of Class/MOP/Class/Immutable/Trait.pm # once (3µs+4µs) by Carp::BEGIN@18 at line 18 of Carp.pm # once (4µs+3µs) by Exporter::Heavy::BEGIN@4 at line 4 of Exporter/Heavy.pm # once (3µs+3µs) by Carp::BEGIN@8 at line 8 of Carp.pm sub unimport {
48 | 74 | 16µs |  |  | shift;
49 | 74 | 410µs | 74 | 424µs | $^H &= ~ bits(@_ ? @_ : @default_bits); # spent 424µs making 74 calls to strict::bits, avg 6µs/call
50 |  |  |  |  | }
51 |  |  |  |  |
52 | 1 | 9µs |  |  | 1;
53 |  |  |  |  | __END__
|  |  |  |  | # spent 9µs within strict::CORE:match which was called: # once (9µs+0s) by PONAPI::CLI::BEGIN@3 at line 6 sub strict::CORE:match; # opcode
|  |  |  |  | # spent 27µs within strict::CORE:regcomp which was called: # once (27µs+0s) by PONAPI::CLI::BEGIN@3 at line 6 sub strict::CORE:regcomp; # opcode