Filename | /home/ss5/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0/App/Rad/Help.pm |
Statements | Executed 103 statements in 435µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
5150 | 95 | 33 | 8.02ms | 8.02ms | can (xsub) | UNIVERSAL::
1089 | 89 | 56 | 7.94ms | 7.94ms | VERSION (xsub) | UNIVERSAL::
1 | 1 | 1 | 1.44ms | 5.55ms | BEGIN@2 | App::Rad::Help::
1511 | 31 | 24 | 791µs | 791µs | isa (xsub) | UNIVERSAL::
11 | 1 | 1 | 48µs | 48µs | Help | UNIVERSAL::
15 | 2 | 1 | 27µs | 27µs | register_help | App::Rad::Help::
1 | 1 | 1 | 18µs | 57µs | load | App::Rad::Help::
1 | 1 | 1 | 5µs | 6µs | BEGIN@3 | App::Rad::Help::
1 | 1 | 1 | 5µs | 159µs | BEGIN@59 | App::Rad::Help::
1 | 1 | 1 | 4µs | 9µs | BEGIN@4 | App::Rad::Help::
0 | 0 | 0 | 0s | 0s | help | App::Rad::Help::
0 | 0 | 0 | 0s | 0s | helpstr | App::Rad::Help::
0 | 0 | 0 | 0s | 0s | usage | App::Rad::Help::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package App::Rad::Help; | ||||
2 | 2 | 64µs | 2 | 5.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 # spent 5.55ms making 1 call to App::Rad::Help::BEGIN@2
# spent 2µs making 1 call to Attribute::Handlers::import |
3 | 2 | 12µs | 2 | 8µ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 # spent 6µs making 1 call to App::Rad::Help::BEGIN@3
# spent 1µs making 1 call to strict::import |
4 | 2 | 176µs | 2 | 14µ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 # spent 9µs making 1 call to App::Rad::Help::BEGIN@4
# spent 5µs making 1 call to warnings::import |
5 | |||||
6 | 1 | 300ns | our $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 | ||||
9 | 1 | 700ns | my ($self, $c) = @_; | ||
10 | 1 | 7µs | 1 | 39µ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" | ||||
16 | sub help { | ||||
17 | my $c = shift; | ||||
18 | return usage() . "\n\n" . helpstr($c); | ||||
19 | } | ||||
20 | |||||
21 | sub usage { | ||||
22 | return "Usage: $0 command [arguments]"; | ||||
23 | } | ||||
24 | |||||
25 | sub 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 | { | ||||
50 | 1 | 800ns | my %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 | ||||
52 | 11 | 11µs | my ($package, $symbol, $ref, $attr, $data, $phase, $filename, $linenum) = @_; | ||
53 | |||||
54 | 11 | 40µs | if ($package eq 'main') { | ||
55 | # If data is a single word, it is received as an array ref. Don't ask. | ||||
56 | 11 | 3µs | $data = join(' ', @$data) if ref($data) eq 'ARRAY'; | ||
57 | 11 | 11µs | $help_attr{ *{$symbol}{NAME} } = $data; | ||
58 | } | ||||
59 | 2 | 65µs | 2 | 313µ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 | ||||
62 | 15 | 5µs | my ($self, $c, $cmd, $helptext) = @_; | ||
63 | |||||
64 | 15 | 7µ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 | ||||
69 | 15 | 29µs | $c->{'_commands'}->{$cmd}->{'help'} = defined $helptext | ||
70 | ? $helptext | ||||
71 | : undef | ||||
72 | ; | ||||
73 | } | ||||
74 | |||||
75 | } | ||||
76 | 2 | 3µs | 42; | ||
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 | |||||
# 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] | |||||
# 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 |