← Index
NYTProf Performance Profile   « line view »
For /home/ss5/perl5/perlbrew/perls/perl-5.22.0/bin/benchmarkanything-storage
  Run on Mon Jan 29 16:55:34 2018
Reported on Mon Jan 29 16:57:06 2018

Filename/home/ss5/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0/App/Rad/Help.pm
StatementsExecuted 103 statements in 435µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
515095338.02ms8.02msUNIVERSAL::::can UNIVERSAL::can (xsub)
108989567.94ms7.94msUNIVERSAL::::VERSION UNIVERSAL::VERSION (xsub)
1111.44ms5.55msApp::Rad::Help::::BEGIN@2App::Rad::Help::BEGIN@2
15113124791µs791µsUNIVERSAL::::isa UNIVERSAL::isa (xsub)
111148µs48µsUNIVERSAL::::Help UNIVERSAL::Help
152127µs27µsApp::Rad::Help::::register_helpApp::Rad::Help::register_help
11118µs57µsApp::Rad::Help::::loadApp::Rad::Help::load
1115µs6µsApp::Rad::Help::::BEGIN@3App::Rad::Help::BEGIN@3
1115µs159µsApp::Rad::Help::::BEGIN@59App::Rad::Help::BEGIN@59
1114µs9µsApp::Rad::Help::::BEGIN@4App::Rad::Help::BEGIN@4
0000s0sApp::Rad::Help::::helpApp::Rad::Help::help
0000s0sApp::Rad::Help::::helpstrApp::Rad::Help::helpstr
0000s0sApp::Rad::Help::::usageApp::Rad::Help::usage
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package App::Rad::Help;
2264µs25.55ms
# spent 5.55ms (1.44+4.10) within App::Rad::Help::BEGIN@2 which was called: # once (1.44ms+4.10ms) by App::Rad::BEGIN@3 at line 2
use Attribute::Handlers;
# spent 5.55ms making 1 call to App::Rad::Help::BEGIN@2 # spent 2µs making 1 call to Attribute::Handlers::import
3212µs28µs
# spent 6µs (5+1) within App::Rad::Help::BEGIN@3 which was called: # once (5µs+1µs) by App::Rad::BEGIN@3 at line 3
use strict;
# spent 6µs making 1 call to App::Rad::Help::BEGIN@3 # spent 1µs making 1 call to strict::import
42176µs214µs
# spent 9µs (4+5) within App::Rad::Help::BEGIN@4 which was called: # once (4µs+5µs) by App::Rad::BEGIN@3 at line 4
use warnings;
# spent 9µs making 1 call to App::Rad::Help::BEGIN@4 # spent 5µs making 1 call to warnings::import
5
61300nsour $VERSION = '0.03';
7
8
# spent 57µs (18+39) within App::Rad::Help::load which was called: # once (18µs+39µs) by App::Rad::_init at line 40 of App/Rad.pm
sub load {
91700ns my ($self, $c) = @_;
1017µs139µs $c->register('help', \&help, 'show syntax and available commands');
# spent 39µs making 1 call to App::Rad::register
11}
12
13# shows specific help commands
14# TODO: context specific help,
15# such as "myapp.pl help command"
16sub help {
17 my $c = shift;
18 return usage() . "\n\n" . helpstr($c);
19}
20
21sub usage {
22 return "Usage: $0 command [arguments]";
23}
24
25sub helpstr {
26 my $c = shift;
27
28 my $string = "Available Commands:\n";
29
30 # get length of largest command name
31 my $len = 0;
32 foreach ( sort $c->commands() ) {
33 $len = length($_) if (length($_) > $len);
34 }
35
36 # format help string
37 foreach ( sort $c->commands() ) {
38 $string .= sprintf " %-*s\t%s\n", $len, $_,
39 defined ($c->{'_commands'}->{$_}->{'help'})
40 ? $c->{'_commands'}->{$_}->{'help'}
41 : ''
42 ;
43 ;
44 }
45 return $string;
46}
47
48
49{
501800nsmy %help_attr = ();
51
# spent 48µs within UNIVERSAL::Help which was called 11 times, avg 4µs/call: # 11 times (48µs+0s) by Attribute::Handlers::_apply_handler_AH_ at line 229 of Attribute/Handlers.pm, avg 4µs/call
sub UNIVERSAL::Help :ATTR(CODE) {
521111µs my ($package, $symbol, $ref, $attr, $data, $phase, $filename, $linenum) = @_;
53
541140µs if ($package eq 'main') {
55 # If data is a single word, it is received as an array ref. Don't ask.
56113µs $data = join(' ', @$data) if ref($data) eq 'ARRAY';
571111µs $help_attr{ *{$symbol}{NAME} } = $data;
58 }
59265µs2313µs
# spent 159µs (5+154) within App::Rad::Help::BEGIN@59 which was called: # once (5µs+154µs) by App::Rad::BEGIN@3 at line 59
}
# spent 159µs making 1 call to App::Rad::Help::BEGIN@59 # spent 154µs making 1 call to attributes::import
60
61
# spent 27µs within App::Rad::Help::register_help which was called 15 times, avg 2µs/call: # 12 times (20µs+0s) by App::Rad::register_commands at line 252 of App/Rad.pm, avg 2µs/call # 3 times (7µs+0s) by App::Rad::register at line 306 of App/Rad.pm, avg 2µs/call
sub register_help {
62155µs my ($self, $c, $cmd, $helptext) = @_;
63
64157µs if ((not defined $helptext) && (defined $help_attr{$cmd})) {
65 $helptext = $help_attr{$cmd};
66 }
67
68 # we do $helptext // undef as it would issue a warning otherwise
691529µs $c->{'_commands'}->{$cmd}->{'help'} = defined $helptext
70 ? $helptext
71 : undef
72 ;
73}
74
75}
7623µs42;
77__END__
 
# spent 7.94ms within UNIVERSAL::VERSION which was called 1089 times, avg 7µs/call: # 1001 times (7.39ms+0s) by HTTP::Tiny::_agent at line 477 of HTTP/Tiny.pm, avg 7µs/call # once (12µs+0s) by Search::Elasticsearch::BEGIN@3 at line 3 of Search/Elasticsearch.pm # once (12µs+0s) by Moose::Meta::TypeConstraint::Union::BEGIN@10 at line 10 of Moose/Meta/TypeConstraint/Union.pm # once (12µs+0s) by Data::OptList::BEGIN@11 at line 11 of Data/OptList.pm # once (11µs+0s) by Moose::Util::MetaRole::BEGIN@8 at line 8 of Moose/Util/MetaRole.pm # once (11µs+0s) by Moose::Meta::TypeConstraint::DuckType::BEGIN@10 at line 10 of Moose/Meta/TypeConstraint/DuckType.pm # once (11µs+0s) by Moose::Meta::Attribute::BEGIN@8 at line 8 of Moose/Meta/Attribute.pm # once (11µs+0s) by Class::MOP::Class::BEGIN@18 at line 18 of Class/MOP/Class.pm # once (10µs+0s) by Package::DeprecationManager::BEGIN@9 at line 9 of Package/DeprecationManager.pm # once (10µs+0s) by Search::Elasticsearch::Serializer::JSON::BEGIN@4 at line 4 of Search/Elasticsearch/Serializer/JSON.pm # once (10µs+0s) by Moose::Meta::Role::Application::BEGIN@9 at line 9 of Moose/Meta/Role/Application.pm # once (10µs+0s) by Moose::Meta::Role::Attribute::BEGIN@7 at line 7 of Moose/Meta/Role/Attribute.pm # once (10µs+0s) by Class::Load::BEGIN@11 at line 11 of Class/Load.pm # once (9µs+0s) by String::RewritePrefix::BEGIN@11 at line 13 of String/RewritePrefix.pm # once (9µs+0s) by Moose::Util::TypeConstraints::Builtins::BEGIN@8 at line 8 of Moose/Util/TypeConstraints/Builtins.pm # once (9µs+0s) by Search::Elasticsearch::Role::Client::Direct::BEGIN@8 at line 8 of Search/Elasticsearch/Role/Client/Direct.pm # once (9µs+0s) by IO::Socket::IP::BEGIN@19 at line 30 of IO/Socket/IP.pm # once (9µs+0s) by IO::Uncompress::RawInflate::BEGIN@11 at line 11 of IO/Uncompress/RawInflate.pm # once (8µs+0s) by Moose::Util::BEGIN@7 at line 7 of Moose/Util.pm # once (8µs+0s) by Devel::OverloadInfo::BEGIN@19 at line 19 of Devel/OverloadInfo.pm # once (8µs+0s) by Moose::Deprecated::BEGIN@7 at line 12 of Moose/Deprecated.pm # once (8µs+0s) by Package::Stash::BEGIN@13 at line 13 of Package/Stash.pm # once (8µs+0s) by Search::Elasticsearch::Logger::LogAny::BEGIN@8 at line 8 of Search/Elasticsearch/Logger/LogAny.pm # once (8µs+0s) by Moose::Util::BEGIN@12 at line 12 of Moose/Util.pm # once (7µs+0s) by IO::Compress::Base::BEGIN@9 at line 9 of IO/Compress/Base.pm # once (7µs+0s) by IO::Compress::Gzip::BEGIN@11 at line 11 of IO/Compress/Gzip.pm # once (7µs+0s) by Class::Load::XS::BEGIN@8 at line 8 of Class/Load/XS.pm # once (7µs+0s) by Search::Elasticsearch::Cxn::HTTPTiny::BEGIN@6 at line 873 of HTTP/Tiny.pm # once (7µs+0s) by IO::Uncompress::Gunzip::BEGIN@12 at line 12 of IO/Uncompress/Gunzip.pm # once (7µs+0s) by Encode::BEGIN@12 at line 12 of Encode.pm # once (7µs+0s) by BenchmarkAnything::Storage::Frontend::Lib::BEGIN@10 at line 24 of Scalar/Util.pm # once (7µs+0s) by Sub::Exporter::BEGIN@11 at line 11 of Sub/Exporter.pm # once (6µs+0s) by Moose::Meta::Role::Application::ToInstance::BEGIN@9 at line 9 of Moose/Meta/Role/Application/ToInstance.pm # once (6µs+0s) by Moose::Exporter::BEGIN@11 at line 11 of Moose/Exporter.pm # once (6µs+0s) by Try::Tiny::BEGIN@16 at line 22 of Sub/Util.pm # once (6µs+0s) by Moose::Meta::Class::BEGIN@9 at line 9 of Moose/Meta/Class.pm # once (6µs+0s) by IO::Compress::RawDeflate::BEGIN@11 at line 11 of IO/Compress/RawDeflate.pm # once (6µs+0s) by BenchmarkAnything::Storage::Search::Elasticsearch::Serializer::JSON::DontTouchMyUTF8::BEGIN@11 at line 11 of BenchmarkAnything/Storage/Search/Elasticsearch/Serializer/JSON/DontTouchMyUTF8.pm # once (6µs+0s) by Class::MOP::Mixin::HasOverloads::BEGIN@9 at line 9 of Class/MOP/Mixin/HasOverloads.pm # once (6µs+0s) by Module::Implementation::BEGIN@8 at line 8 of Module/Implementation.pm # once (6µs+0s) by DBIx::MultiStatementDo::BEGIN@11 at line 11 of DBIx/MultiStatementDo.pm # once (6µs+0s) by Devel::OverloadInfo::BEGIN@22 at line 22 of Devel/OverloadInfo.pm # once (6µs+0s) by B::Hooks::EndOfScope::BEGIN@23 at line 26 of B/Hooks/EndOfScope.pm # once (6µs+0s) by IO::Compress::Adapter::Deflate::BEGIN@8 at line 8 of IO/Compress/Adapter/Deflate.pm # once (6µs+0s) by IO::Socket::BEGIN@13 at line 13 of IO/Socket.pm # once (6µs+0s) by B::Hooks::EndOfScope::XS::BEGIN@9 at line 9 of B/Hooks/EndOfScope/XS.pm # once (6µs+0s) by Moose::Meta::Role::Application::RoleSummation::BEGIN@8 at line 8 of Moose/Meta/Role/Application/RoleSummation.pm # once (6µs+0s) by Class::MOP::BEGIN@10 at line 10 of Class/MOP.pm # once (6µs+0s) by IO::Uncompress::Adapter::Inflate::BEGIN@7 at line 7 of IO/Uncompress/Adapter/Inflate.pm # once (6µs+0s) by SQL::SplitStatement::BEGIN@14 at line 14 of SQL/SplitStatement.pm # once (5µs+0s) by IO::Compress::Deflate::BEGIN@11 at line 11 of IO/Compress/Deflate.pm # once (5µs+0s) by IO::Uncompress::RawInflate::BEGIN@12 at line 12 of IO/Uncompress/RawInflate.pm # once (5µs+0s) by IO::Compress::RawDeflate::BEGIN@119 at line 119 of IO/Compress/RawDeflate.pm # once (5µs+0s) by IO::Compress::Deflate::BEGIN@14 at line 14 of IO/Compress/Deflate.pm # once (5µs+0s) by IO::Compress::Gzip::BEGIN@15 at line 15 of IO/Compress/Gzip.pm # once (5µs+0s) by URI::Escape::BEGIN@140 at line 140 of URI/Escape.pm # once (5µs+0s) by IO::Uncompress::Inflate::BEGIN@8 at line 8 of IO/Uncompress/Inflate.pm # once (5µs+0s) by IO::Uncompress::Inflate::BEGIN@11 at line 11 of IO/Uncompress/Inflate.pm # once (5µs+0s) by IO::Compress::RawDeflate::BEGIN@120 at line 120 of IO/Compress/RawDeflate.pm # once (5µs+0s) by IO::Compress::Zlib::Extra::BEGIN@13 at line 13 of IO/Compress/Zlib/Extra.pm # once (5µs+0s) by IO::Uncompress::Base::BEGIN@17 at line 17 of IO/Uncompress/Base.pm # once (5µs+0s) by IO::Uncompress::RawInflate::BEGIN@8 at line 8 of IO/Uncompress/RawInflate.pm # once (5µs+0s) by Class::Load::BEGIN@12 at line 12 of Class/Load.pm # once (5µs+0s) by B::Hooks::EndOfScope::XS::BEGIN@10 at line 13 of B/Hooks/EndOfScope/XS.pm # once (5µs+0s) by IO::Uncompress::Adapter::Inflate::BEGIN@8 at line 8 of IO/Uncompress/Adapter/Inflate.pm # once (5µs+0s) by Sub::Name::BEGIN@58 at line 58 of Sub/Name.pm # once (5µs+0s) by Moose::Meta::Role::Application::ToInstance::BEGIN@10 at line 10 of Moose/Meta/Role/Application/ToInstance.pm # once (5µs+0s) by IO::Compress::Adapter::Deflate::BEGIN@7 at line 7 of IO/Compress/Adapter/Deflate.pm # once (4µs+0s) by B::Hooks::EndOfScope::BEGIN@16 at line 16 of B/Hooks/EndOfScope.pm # once (4µs+0s) by IO::Compress::RawDeflate::BEGIN@9 at line 9 of IO/Compress/RawDeflate.pm # once (4µs+0s) by Moose::Exporter::BEGIN@12 at line 12 of Moose/Exporter.pm # once (4µs+0s) by IO::Uncompress::Gunzip::BEGIN@16 at line 16 of IO/Uncompress/Gunzip.pm # once (4µs+0s) by Try::Tiny::BEGIN@10 at line 10 of Try/Tiny.pm # once (4µs+0s) by IO::Compress::Deflate::BEGIN@15 at line 15 of IO/Compress/Deflate.pm # once (4µs+0s) by IO::Uncompress::Inflate::BEGIN@9 at line 9 of IO/Uncompress/Inflate.pm # once (4µs+0s) by IO::Compress::RawDeflate::BEGIN@10 at line 10 of IO/Compress/RawDeflate.pm # once (4µs+0s) by IO::Compress::Gzip::BEGIN@14 at line 14 of IO/Compress/Gzip.pm # once (4µs+0s) by IO::Compress::Gzip::BEGIN@16 at line 16 of IO/Compress/Gzip.pm # once (4µs+0s) by IO::Uncompress::Gunzip::BEGIN@14 at line 14 of IO/Uncompress/Gunzip.pm # once (4µs+0s) by IO::Uncompress::RawInflate::BEGIN@9 at line 9 of IO/Uncompress/RawInflate.pm # once (4µs+0s) by IO::Uncompress::Gunzip::BEGIN@17 at line 17 of IO/Uncompress/Gunzip.pm # once (4µs+0s) by Sub::Exporter::BEGIN@12 at line 12 of Sub/Exporter.pm # once (3µs+0s) by Sub::Exporter::BEGIN@13 at line 13 of Sub/Exporter.pm # once (3µs+0s) by Method::Generate::Accessor::BEGIN@11 at line 17 of Method/Generate/Accessor.pm # once (3µs+0s) by IO::Compress::Gzip::BEGIN@12 at line 12 of IO/Compress/Gzip.pm # once (3µs+0s) by IO::Compress::Deflate::BEGIN@12 at line 12 of IO/Compress/Deflate.pm # once (3µs+0s) by Search::Elasticsearch::Cxn::HTTPTiny::BEGIN@6 at line 6 of Search/Elasticsearch/Cxn/HTTPTiny.pm # once (3µs+0s) by IO::Uncompress::Gunzip::BEGIN@15 at line 15 of IO/Uncompress/Gunzip.pm # once (2µs+0s) by Method::Generate::Accessor::BEGIN@11 at line 21 of Method/Generate/Accessor.pm
sub UNIVERSAL::VERSION; # xsub
# spent 8.02ms within UNIVERSAL::can which was called 5150 times, avg 2µs/call: # 2003 times (3.94ms+0s) by Log::Any::Adapter::Util::require_dynamic at line 171 of Log/Any/Adapter/Util.pm, avg 2µs/call # 2002 times (3.24ms+0s) by HTTP::Tiny::Handle::_get_tid at line 1419 of HTTP/Tiny.pm, avg 2µs/call # 294 times (98µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 345 of Class/MOP/Class.pm, avg 332ns/call # 135 times (73µs+0s) by Class::MOP::Mixin::HasAttributes::add_attribute at line 39 of Class/MOP/Mixin/HasAttributes.pm, avg 541ns/call # 131 times (87µs+0s) by Class::MOP::Method::Generated::_compile_code at line 52 of Class/MOP/Method/Generated.pm, avg 663ns/call # 96 times (61µs+0s) by Moo::Role::_inhale_if_moose at line 138 of Moo/Role.pm, avg 636ns/call # 63 times (48µs+0s) by Method::Generate::Accessor::_generate_xs at line 651 of Method/Generate/Accessor.pm, avg 768ns/call # 53 times (82µs+0s) by Sub::Exporter::default_generator at line 411 of Sub/Exporter.pm, avg 2µs/call # 39 times (27µs+0s) by Role::Tiny::_install_does at line 425 of Role/Tiny.pm, avg 685ns/call # 25 times (23µs+0s) by Class::MOP::Mixin::HasMethods::_add_meta_method at line 19 of Class/MOP/Mixin/HasMethods.pm, avg 904ns/call # 20 times (16µs+0s) by Role::Tiny::_check_requires at line 315 of Role/Tiny.pm, avg 785ns/call # 17 times (23µs+0s) by CHI::Util::BEGIN@8 at line 53 of File/Spec/Functions.pm, avg 1µs/call # 14 times (23µs+0s) by attributes::import at line 63 of attributes.pm, avg 2µs/call # 13 times (22µs+0s) by Role::Tiny::_install_does at line 422 of Role/Tiny.pm, avg 2µs/call # 13 times (8µs+0s) by Role::Tiny::_install_does at line 420 of Role/Tiny.pm, avg 631ns/call # 12 times (9µs+0s) by Moo::Role::import at line 81 of Moo/Role.pm, avg 775ns/call # 12 times (6µs+0s) by Moose::Exporter::BEGIN@9 at line 94 of List/MoreUtils.pm, avg 492ns/call # 11 times (21µs+0s) by Moo::_accessor_maker_for at line 132 of Moo.pm, avg 2µs/call # 11 times (8µs+0s) by Attribute::Handlers::__ANON__[/home/ss5/perl5/perlbrew/perls/perl-5.22.0/lib/5.22.0/Attribute/Handlers.pm:199] at line 175 of Attribute/Handlers.pm, avg 764ns/call # 10 times (25µs+0s) by Method::Generate::Constructor::generate_method at line 140 of Method/Generate/Constructor.pm, avg 3µs/call # 10 times (18µs+0s) by Method::Generate::Constructor::generate_method at line 131 of Method/Generate/Constructor.pm, avg 2µs/call # 10 times (16µs+0s) by Method::Generate::Constructor::generate_method at line 146 of Method/Generate/Constructor.pm, avg 2µs/call # 10 times (7µs+0s) by Moose::Exporter::BEGIN@8 at line 646 of Class/MOP.pm, avg 680ns/call # 9 times (21µs+0s) by Exporter::Tiny::_exporter_expand_sub at line 210 of Exporter/Tiny.pm, avg 2µs/call # 9 times (5µs+0s) by Exporter::Tiny::_exporter_expand_sub at line 213 of Exporter/Tiny.pm, avg 600ns/call # 8 times (4µs+0s) by Role::Tiny::_install_does at line 427 of Role/Tiny.pm, avg 562ns/call # 8 times (4µs+0s) by CHI::Util::BEGIN@8 at line 55 of File/Spec/Functions.pm, avg 462ns/call # 6 times (2µs+0s) by CHI::Util::BEGIN@8 at line 57 of File/Spec/Functions.pm, avg 317ns/call # 6 times (2µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 278 of Class/MOP/Class.pm, avg 300ns/call # 4 times (26µs+0s) by Moose::Meta::Class::_inline_init_attr_from_default at line 421 of Moose/Meta/Class.pm, avg 7µs/call # 4 times (3µs+0s) by Moose::Meta::Class::add_attribute at line 576 of Moose/Meta/Class.pm, avg 825ns/call # 4 times (1µs+0s) by Moose::Meta::Class::_inline_check_required_attr at line 376 of Moose/Meta/Class.pm, avg 350ns/call # 4 times (1µs+0s) by Moose::Meta::Class::_inline_triggers at line 463 of Moose/Meta/Class.pm, avg 275ns/call # 4 times (1µs+0s) by Moose::Meta::Class::_eval_environment at line 500 of Moose/Meta/Class.pm, avg 250ns/call # 4 times (900ns+0s) by Moose::Meta::Class::_eval_environment at line 514 of Moose/Meta/Class.pm, avg 225ns/call # 3 times (6µs+0s) by Log::Any::Manager::_require_dynamic at line 181 of Log/Any/Manager.pm, avg 2µs/call # 3 times (4µs+0s) by Role::Tiny::apply_roles_to_package at line 237 of Role/Tiny.pm, avg 1µs/call # 3 times (4µs+0s) by Moo::_Utils::_install_modifier at line 38 of Moo/_Utils.pm, avg 1µs/call # 3 times (2µs+0s) by Class::Method::Modifiers::install_modifier at line 44 of Class/Method/Modifiers.pm, avg 700ns/call # 2 times (7µs+0s) by Moo::Object::new at line 23 of Moo/Object.pm, avg 3µs/call # 2 times (5µs+0s) by Moo::Object::new at line 13 of Moo/Object.pm, avg 2µs/call # 2 times (4µs+0s) by Package::DeprecationManager::import at line 26 of Package/DeprecationManager.pm, avg 2µs/call # 2 times (4µs+0s) by Moose::Util::TypeConstraints::import or Moose::import at line 478 of Moose/Exporter.pm, avg 2µs/call # 2 times (4µs+0s) by Moose::Meta::Attribute::install_delegation at line 1100 of Moose/Meta/Attribute.pm, avg 2µs/call # 2 times (3µs+0s) by if::work at line 14 of if.pm, avg 1µs/call # 2 times (3µs+0s) by Moose::Meta::TypeConstraint::Parameterizable::parameterize at line 78 of Moose/Meta/TypeConstraint/Parameterizable.pm, avg 1µs/call # 2 times (1µs+0s) by Moose::Util::TypeConstraints::_create_parameterized_type_constraint at line 133 of Moose/Util/TypeConstraints.pm, avg 700ns/call # once (2µs+0s) by BenchmarkAnything::Storage::Backend::SQL::new at line 147 of BenchmarkAnything/Storage/Backend/SQL.pm # once (2µs+0s) by List::MoreUtils::XS::BEGIN@10 at line 3 of (eval 32)[List/MoreUtils/XS.pm:40] # once (1µs+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 64 of Class/MOP/Method/Inlined.pm # once (1µs+0s) by Moose::Object::BEGIN@106 at line 107 of Moose/Object.pm # once (1µs+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 52 of Class/MOP/Method/Inlined.pm # once (1µs+0s) by List::MoreUtils::XS::BEGIN@10 at line 43 of (eval 32)[List/MoreUtils/XS.pm:40] # once (700ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 44 of (eval 32)[List/MoreUtils/XS.pm:40] # once (700ns+0s) by Moo::Object::does at line 68 of Moo/Object.pm # once (400ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 45 of (eval 32)[List/MoreUtils/XS.pm:40] # once (400ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 25 of (eval 32)[List/MoreUtils/XS.pm:40] # once (400ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 12 of (eval 32)[List/MoreUtils/XS.pm:40] # once (400ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 8 of (eval 32)[List/MoreUtils/XS.pm:40] # once (400ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 4 of (eval 32)[List/MoreUtils/XS.pm:40] # once (400ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 5 of (eval 32)[List/MoreUtils/XS.pm:40] # once (400ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 11 of (eval 32)[List/MoreUtils/XS.pm:40] # once (400ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 28 of (eval 32)[List/MoreUtils/XS.pm:40] # once (400ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 24 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 18 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 40 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 16 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 39 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 33 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 19 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 38 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 26 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 35 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 21 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 13 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 10 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 42 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 23 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 9 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 22 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 31 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 20 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 30 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 36 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 32 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 14 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 34 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 41 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 15 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 6 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 29 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 7 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 27 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 17 of (eval 32)[List/MoreUtils/XS.pm:40] # once (300ns+0s) by List::MoreUtils::XS::BEGIN@10 at line 37 of (eval 32)[List/MoreUtils/XS.pm:40]
sub UNIVERSAL::can; # xsub
# spent 791µs within UNIVERSAL::isa which was called 1511 times, avg 524ns/call: # 378 times (164µs+0s) by Class::MOP::Mixin::HasMethods::add_method at line 54 of Class/MOP/Mixin/HasMethods.pm, avg 434ns/call # 302 times (134µs+0s) by Class::MOP::Object::_is_compatible_with at line 51 of Class/MOP/Object.pm, avg 445ns/call # 193 times (101µs+0s) by Class::MOP::Method::Accessor::new at line 26 of Class/MOP/Method/Accessor.pm, avg 525ns/call # 135 times (74µs+0s) by Class::MOP::Mixin::HasAttributes::add_attribute at line 17 of Class/MOP/Mixin/HasAttributes.pm, avg 550ns/call # 135 times (41µs+0s) by Class::MOP::Attribute::attach_to_class at line 252 of Class/MOP/Attribute.pm, avg 301ns/call # 88 times (51µs+0s) by Class::MOP::Mixin::HasMethods::get_method at line 114 of Class/MOP/Mixin/HasMethods.pm, avg 576ns/call # 50 times (39µs+0s) by Moose::Meta::TypeConstraint::Registry::add_type_constraint at line 47 of Moose/Meta/TypeConstraint/Registry.pm, avg 776ns/call # 43 times (10µs+0s) by Class::MOP::Method::Wrapped::wrap at line 70 of Class/MOP/Method/Wrapped.pm, avg 244ns/call # 33 times (39µs+0s) by Class::MOP::Class::new_object at line 494 of Class/MOP/Class.pm, avg 1µs/call # 30 times (40µs+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 37 of Class/MOP/Method/Inlined.pm, avg 1µs/call # 30 times (15µs+0s) by Class::MOP::Method::Constructor::new at line 20 of Class/MOP/Method/Constructor.pm, avg 487ns/call # 21 times (6µs+0s) by Moose::Util::TypeConstraints::find_type_constraint at line 298 of Moose/Util/TypeConstraints.pm, avg 310ns/call # 20 times (16µs+0s) by metaclass::import at line 25 of metaclass.pm, avg 825ns/call # 19 times (28µs+0s) by base::import at line 92 of base.pm, avg 1µs/call # 6 times (12µs+0s) by DBI::setup_driver at line 857 of DBI.pm, avg 2µs/call # 6 times (6µs+0s) by DBI::setup_driver at line 862 of DBI.pm, avg 1µs/call # 3 times (1µs+0s) by Class::MOP::Class::superclasses at line 957 of Class/MOP/Class.pm, avg 433ns/call # 2 times (2µs+0s) by Class::MOP::Mixin::HasMethods::_add_meta_method at line 22 of Class/MOP/Mixin/HasMethods.pm, avg 1µs/call # 2 times (1µs+0s) by Moose::Meta::Attribute::install_delegation at line 1100 of Moose/Meta/Attribute.pm, avg 550ns/call # 2 times (1µs+0s) by Moose::Meta::Method::Delegation::new at line 24 of Moose/Meta/Method/Delegation.pm, avg 500ns/call # 2 times (900ns+0s) by Moose::Meta::TypeConstraint::Parameterizable::parameterize at line 88 of Moose/Meta/TypeConstraint/Parameterizable.pm, avg 450ns/call # 2 times (800ns+0s) by Moose::Meta::TypeConstraint::Parameterized::compile_type_constraint at line 50 of Moose/Meta/TypeConstraint/Parameterized.pm, avg 400ns/call # once (2µs+0s) by Moose::Meta::Class::superclasses at line 559 of Moose/Meta/Class.pm # once (1µs+0s) by File::HomeDir::_DRIVER at line 50 of File/HomeDir.pm # once (800ns+0s) by Getopt::Long::GetOptionsFromArray at line 332 of Getopt/Long.pm # once (700ns+0s) by Moose::init_meta at line 157 of Moose.pm # once (600ns+0s) by Getopt::Long::GetOptionsFromArray at line 474 of Getopt/Long.pm # once (500ns+0s) by Moose::Meta::Attribute::_process_accessors at line 1023 of Moose/Meta/Attribute.pm # once (500ns+0s) by Moose::Meta::Method::Destructor::is_needed at line 61 of Moose/Meta/Method/Destructor.pm # once (500ns+0s) by Moose::Exporter::_apply_metaroles at line 584 of Moose/Exporter.pm # once (300ns+0s) by Moose::Meta::Attribute::_process_accessors at line 1035 of Moose/Meta/Attribute.pm
sub UNIVERSAL::isa; # xsub