← Index
NYTProf Performance Profile   « block view • line view • sub view »
For xt/tapper-mcp-scheduler-with-db-longrun.t
  Run on Tue May 22 17:18:39 2012
Reported on Tue May 22 17:22:45 2012

Filename/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Class/MOP/Package.pm
StatementsExecuted 3550 statements in 19.4ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
586213.22ms3.22msTapper::MCP::Scheduler::Controller::::algorithm Tapper::MCP::Scheduler::Controller::algorithm
945623.08ms3.13msClass::MOP::Mixin::HasMethods::::_method_map Class::MOP::Mixin::HasMethods::_method_map (xsub)
48321652.37ms2.37msClass::MOP::Mixin::AttributeCore::::name Class::MOP::Mixin::AttributeCore::name (xsub)
456112.17ms4.60msClass::MOP::Package::::get_package_symbol Class::MOP::Package::get_package_symbol
396222.10ms6.92msClass::MOP::Package::::add_package_symbol Class::MOP::Package::add_package_symbol
477111.90ms1.90msTapper::MCP::Scheduler::Controller::::prioqueue Tapper::MCP::Scheduler::Controller::prioqueue
1145611.86ms3.02msClass::MOP::Package::::_package_stash Class::MOP::Package::_package_stash
224128131.34ms1.34msClass::MOP::Package::::name Class::MOP::Package::name (xsub)
130421.20ms13.5msClass::MOP::Class::::superclasses Class::MOP::Class::superclasses (recurses: max depth 1, inclusive time 344µs)
757531.07ms1.07msClass::MOP::Mixin::AttributeCore::::has_initializer Class::MOP::Mixin::AttributeCore::has_initializer
1764961.06ms8.29msClass::MOP::Object::::meta Class::MOP::Object::meta
30653996µs4.28msClass::MOP::Class::Immutable::Class::MOP::Class::::get_meta_instanceClass::MOP::Class::Immutable::Class::MOP::Class::get_meta_instance
1511889µs899µsMoose::Meta::Role::Method::::_new Moose::Meta::Role::Method::_new
811874µs904µsMoose::Meta::TypeConstraint::Class::::_new Moose::Meta::TypeConstraint::Class::_new
1631153873µs873µsClass::MOP::Attribute::::associated_class Class::MOP::Attribute::associated_class (xsub)
13011852µs3.98msClass::MOP::Package::::get_or_add_package_symbol Class::MOP::Package::get_or_add_package_symbol
117062770µs770µsClass::MOP::Mixin::HasAttributes::::_attribute_map Class::MOP::Mixin::HasAttributes::_attribute_map (xsub)
15432647µs1.42msClass::MOP::Package::::has_package_symbol Class::MOP::Package::has_package_symbol
82142614µs614µsClass::MOP::Mixin::AttributeCore::::init_arg Class::MOP::Mixin::AttributeCore::init_arg (xsub)
111482µs3.49msClass::MOP::Package::::BEGIN@16 Class::MOP::Package::BEGIN@16
411420µs512µsMoose::Meta::Role::::_new Moose::Meta::Role::_new
411397µs410µsMoose::Meta::TypeConstraint::Role::::_new Moose::Meta::TypeConstraint::Role::_new
811374µs402µsMoose::Meta::Attribute::::_new Moose::Meta::Attribute::_new
1711351µs389µsMoose::Meta::TypeConstraint::::_new Moose::Meta::TypeConstraint::_new
20711347µs347µsClass::MOP::Mixin::AttributeCore::::has_accessor Class::MOP::Mixin::AttributeCore::has_accessor
30463347µs347µsClass::MOP::Mixin::AttributeCore::::has_default Class::MOP::Mixin::AttributeCore::has_default
48964332µs332µsClass::MOP::Method::::body Class::MOP::Method::body (xsub)
8721312µs948µsClass::MOP::Class::Immutable::Class::MOP::Class::::_method_mapClass::MOP::Class::Immutable::Class::MOP::Class::_method_map
20711294µs294µsClass::MOP::Mixin::AttributeCore::::has_reader Class::MOP::Mixin::AttributeCore::has_reader
20431281µs281µsMoose::Meta::TypeConstraint::::constraint Moose::Meta::TypeConstraint::constraint
20711278µs278µsClass::MOP::Mixin::AttributeCore::::has_writer Class::MOP::Mixin::AttributeCore::has_writer
21331277µs277µsMoose::Meta::TypeConstraint::::has_parent Moose::Meta::TypeConstraint::has_parent
42822274µs274µsClass::MOP::Method::::package_name Class::MOP::Method::package_name (xsub)
15542268µs268µsMoose::Meta::TypeConstraint::Registry::::type_constraints Moose::Meta::TypeConstraint::Registry::type_constraints
20711252µs252µsClass::MOP::Mixin::AttributeCore::::has_predicate Class::MOP::Mixin::AttributeCore::has_predicate
20711246µs246µsClass::MOP::Mixin::AttributeCore::::has_clearer Class::MOP::Mixin::AttributeCore::has_clearer
5332241µs1.81msClass::MOP::Class::Immutable::Class::MOP::Class::::get_all_attributesClass::MOP::Class::Immutable::Class::MOP::Class::get_all_attributes
19711239µs239µsClass::MOP::Method::Accessor::::accessor_type Class::MOP::Method::Accessor::accessor_type
6321237µs843µsClass::MOP::Class::Immutable::Class::MOP::Class::::linearized_isaClass::MOP::Class::Immutable::Class::MOP::Class::linearized_isa
221123236µs236µsClass::MOP::Method::Accessor::::associated_attribute Class::MOP::Method::Accessor::associated_attribute
348103232µs232µsClass::MOP::Class::::instance_metaclass Class::MOP::Class::instance_metaclass (xsub)
19322227µs227µsClass::MOP::Mixin::AttributeCore::::has_builder Class::MOP::Mixin::AttributeCore::has_builder
42394217µs2.67msClass::MOP::Mixin::::meta Class::MOP::Mixin::meta
4821207µs207µsMoose::Meta::TypeConstraint::::_compiled_type_constraint Moose::Meta::TypeConstraint::_compiled_type_constraint
111204µs1.02msClass::MOP::Package::::BEGIN@15 Class::MOP::Package::BEGIN@15
27193194µs194µsClass::MOP::Mixin::HasAttributes::::attribute_metaclass Class::MOP::Mixin::HasAttributes::attribute_metaclass (xsub)
25411190µs190µsClass::MOP::Mixin::AttributeCore::::definition_context Class::MOP::Mixin::AttributeCore::definition_context (xsub)
13311183µs183µsClass::MOP::Mixin::AttributeCore::::_set_insertion_order Class::MOP::Mixin::AttributeCore::_set_insertion_order
411182µs190µsMoose::Meta::TypeConstraint::Parameterizable::::_new Moose::Meta::TypeConstraint::Parameterizable::_new
22722182µs182µsClass::MOP::Method::Generated::::is_inline Class::MOP::Method::Generated::is_inline (xsub)
411176µs211µsMoose::Meta::Role::Application::ToClass::::_new Moose::Meta::Role::Application::ToClass::_new
21281172µs172µsClass::MOP::Mixin::HasMethods::::wrapped_method_metaclass Class::MOP::Mixin::HasMethods::wrapped_method_metaclass (xsub)
722167µs757µsClass::MOP::Package::::initialize Class::MOP::Package::initialize
5811167µs182µsClass::MOP::Instance::::_class_name Class::MOP::Instance::_class_name
911164µs168µsMoose::Meta::Instance::::_new Moose::Meta::Instance::_new
1211161µs4.47msMoose::Meta::Method::::_new Moose::Meta::Method::_new
10811156µs156µsMoose::Meta::TypeConstraint::::_has_inlined_type_constraint Moose::Meta::TypeConstraint::_has_inlined_type_constraint
7772153µs153µsMoose::Meta::Class::::error_class Moose::Meta::Class::error_class
24082150µs150µsClass::MOP::Mixin::HasMethods::::method_metaclass Class::MOP::Mixin::HasMethods::method_metaclass (xsub)
15311115µs115µsClass::MOP::Mixin::AttributeCore::::reader Class::MOP::Mixin::AttributeCore::reader (xsub)
7061115µs115µsMoose::Meta::Class::::constructor_class Moose::Meta::Class::constructor_class
6622114µs114µsMoose::Meta::TypeConstraint::::name Moose::Meta::TypeConstraint::name
411113µs115µsMoose::Meta::Role::Method::Required::::_new Moose::Meta::Role::Method::Required::_new
7061112µs112µsMoose::Meta::Class::::destructor_class Moose::Meta::Class::destructor_class
14655108µs108µsClass::MOP::Method::::name Class::MOP::Method::name (xsub)
17141108µs108µsClass::MOP::Class::::destructor_class Class::MOP::Class::destructor_class (xsub)
17141107µs107µsClass::MOP::Class::::constructor_class Class::MOP::Class::constructor_class (xsub)
2411105µs235µsClass::MOP::Class::Immutable::Class::MOP::Class::::is_immutableClass::MOP::Class::Immutable::Class::MOP::Class::is_immutable
3822102µs102µsMoose::Meta::TypeConstraint::::_default_message Moose::Meta::TypeConstraint::_default_message
9032101µs101µsClass::MOP::Method::Constructor::::associated_metaclass Class::MOP::Method::Constructor::associated_metaclass
1331195µs95µsClass::MOP::Method::Generated::::definition_context Class::MOP::Method::Generated::definition_context (xsub)
551194µs94µsMoose::Meta::TypeConstraint::::inlined Moose::Meta::TypeConstraint::inlined
1042189µs89µsClass::MOP::Class::::immutable_trait Class::MOP::Class::immutable_trait (xsub)
451188µs88µsMoose::Meta::TypeConstraint::::has_hand_optimized_type_constraint Moose::Meta::TypeConstraint::has_hand_optimized_type_constraint
461186µs86µsMoose::Meta::TypeConstraint::::_inline_environment Moose::Meta::TypeConstraint::_inline_environment
81185µs200µsClass::MOP::Package::::list_all_package_symbols Class::MOP::Package::list_all_package_symbols
331174µs74µsMoose::Meta::TypeConstraint::::_has_compiled_type_constraint Moose::Meta::TypeConstraint::_has_compiled_type_constraint
382271µs71µsMoose::Meta::TypeConstraint::::has_message Moose::Meta::TypeConstraint::has_message
1111163µs147µsMoose::Meta::TypeConstraint::::meta Moose::Meta::TypeConstraint::meta
334262µs202µsMoose::Meta::Mixin::AttributeCore::::has_trigger Moose::Meta::Mixin::AttributeCore::has_trigger
351158µs58µsClass::MOP::Method::::_set_original_method Class::MOP::Method::_set_original_method
265157µs146µsMoose::Meta::Mixin::AttributeCore::::has_type_constraint Moose::Meta::Mixin::AttributeCore::has_type_constraint
183157µs57µsMoose::Meta::Class::::roles Moose::Meta::Class::roles
63356µs111µsMoose::Meta::Role::::meta Moose::Meta::Role::meta
301155µs55µsClass::MOP::Method::Constructor::::options Class::MOP::Method::Constructor::options
201154µs54µsMoose::Meta::TypeConstraint::Class::::class Moose::Meta::TypeConstraint::Class::class
203151µs166µsMoose::Meta::Mixin::AttributeCore::::should_coerce Moose::Meta::Mixin::AttributeCore::should_coerce
31150µs50µsClass::MOP::Package::::_new Class::MOP::Package::_new
32147µs99µsTapper::MCP::Scheduler::Algorithm::::meta Tapper::MCP::Scheduler::Algorithm::meta
162145µs130µsMoose::Meta::Mixin::AttributeCore::::is_lazy Moose::Meta::Mixin::AttributeCore::is_lazy
511145µs45µsClass::MOP::Mixin::AttributeCore::::accessor Class::MOP::Mixin::AttributeCore::accessor (xsub)
532244µs44µsClass::MOP::Class::::constructor_name Class::MOP::Class::constructor_name (xsub)
151140µs40µsMoose::Meta::Role::::method_metaclass Moose::Meta::Role::method_metaclass
301138µs38µsClass::MOP::Method::Inlined::::_expected_method_class Class::MOP::Method::Inlined::_expected_method_class (xsub)
142136µs85µsMoose::Meta::Mixin::AttributeCore::::is_required Moose::Meta::Mixin::AttributeCore::is_required
41136µs51µsMoose::Meta::Role::::get_required_method_list Moose::Meta::Role::get_required_method_list
41136µs47µsMoose::Meta::Role::::get_excluded_roles_list Moose::Meta::Role::get_excluded_roles_list
151136µs36µsMoose::Meta::Role::Application::::get_method_exclusions Moose::Meta::Role::Application::get_method_exclusions
101135µs81µsMoose::Meta::Mixin::AttributeCore::::has_handles Moose::Meta::Mixin::AttributeCore::has_handles
132134µs83µsMoose::Meta::Mixin::AttributeCore::::is_weak_ref Moose::Meta::Mixin::AttributeCore::is_weak_ref
203134µs34µsMoose::Meta::Mixin::AttributeCore::::type_constraint Moose::Meta::Mixin::AttributeCore::type_constraint
151134µs34µsMoose::Meta::Role::Application::::get_method_aliases Moose::Meta::Role::Application::get_method_aliases
421133µs33µsClass::MOP::Mixin::AttributeCore::::predicate Class::MOP::Mixin::AttributeCore::predicate (xsub)
44231µs62µsMoose::Meta::TypeCoercion::::meta Moose::Meta::TypeCoercion::meta
43327µs446µsMoose::Meta::Role::Method::Required::::meta Moose::Meta::Role::Method::Required::meta
91126µs68µsMoose::Meta::Mixin::AttributeCore::::should_auto_deref Moose::Meta::Mixin::AttributeCore::should_auto_deref
33226µs45µsMoose::Meta::Role::Application::::meta Moose::Meta::Role::Application::meta
44226µs53µsMoose::Meta::Role::Composite::::meta Moose::Meta::Role::Composite::meta
21126µs2.10msClass::MOP::Package::::create Class::MOP::Package::create
41126µs26µsMoose::Meta::Role::::application_to_class_class Moose::Meta::Role::application_to_class_class
82124µs24µsMoose::Meta::Role::::get_required_methods_map Moose::Meta::Role::get_required_methods_map
11122µs50µsClass::MOP::Package::::get_all_package_symbols Class::MOP::Package::get_all_package_symbols
33222µs47µsMoose::Meta::Role::Application::ToClass::::meta Moose::Meta::Role::Application::ToClass::meta
22119µs34µsMoose::Meta::TypeConstraint::Parameterizable::::meta Moose::Meta::TypeConstraint::Parameterizable::meta
82218µs18µsMoose::Meta::TypeConstraint::::hand_optimized_type_constraint Moose::Meta::TypeConstraint::hand_optimized_type_constraint
62117µs17µsMoose::Meta::Role::::get_excluded_roles_map Moose::Meta::Role::get_excluded_roles_map
82117µs17µsMoose::Meta::TypeConstraint::Role::::role Moose::Meta::TypeConstraint::Role::role
22217µs33µsMoose::Meta::Role::Application::RoleSummation::::meta Moose::Meta::Role::Application::RoleSummation::meta
82217µs17µsMoose::Meta::Role::Method::Required::::name Moose::Meta::Role::Method::Required::name
21116µs23µsMoose::Meta::Role::::excludes_role Moose::Meta::Role::excludes_role
41115µs15µsMoose::Meta::Class::::_get_role_applications Moose::Meta::Class::_get_role_applications
41115µs15µsMoose::Meta::Role::::get_override_method_modifiers_map Moose::Meta::Role::get_override_method_modifiers_map
22114µs28µsMoose::Meta::TypeConstraint::Registry::::meta Moose::Meta::TypeConstraint::Registry::meta
106214µs14µsMoose::Meta::TypeConstraint::::parent Moose::Meta::TypeConstraint::parent
41114µs14µsMoose::Meta::Role::::get_before_method_modifiers_map Moose::Meta::Role::get_before_method_modifiers_map
22214µs26µsMoose::Meta::Role::Application::ToInstance::::meta Moose::Meta::Role::Application::ToInstance::meta
22114µs29µsMoose::Meta::TypeConstraint::Parameterized::::meta Moose::Meta::TypeConstraint::Parameterized::meta
41114µs14µsMoose::Meta::Role::::get_after_method_modifiers_map Moose::Meta::Role::get_after_method_modifiers_map
41114µs14µsMoose::Meta::Role::::get_around_method_modifiers_map Moose::Meta::Role::get_around_method_modifiers_map
22113µs28µsMoose::Meta::TypeConstraint::Enum::::meta Moose::Meta::TypeConstraint::Enum::meta
81113µs13µsClass::MOP::Attribute::::associated_methods Class::MOP::Attribute::associated_methods (xsub)
51112µs12µsMoose::Meta::TypeConstraint::::has_coercion Moose::Meta::TypeConstraint::has_coercion
41111µs11µsMoose::Meta::Role::::required_method_metaclass Moose::Meta::Role::required_method_metaclass
11111µs25µsMoose::Meta::TypeConstraint::Union::::meta Moose::Meta::TypeConstraint::Union::meta
11110µs23µsMoose::Meta::TypeConstraint::DuckType::::meta Moose::Meta::TypeConstraint::DuckType::meta
91110µs10µsClass::MOP::Instance::::associated_metaclass Class::MOP::Instance::associated_metaclass (xsub)
21110µs10µsMoose::Meta::Role::::applied_attribute_metaclass Moose::Meta::Role::applied_attribute_metaclass
1119µs17µsMooseX::Traits::__ANON__::SERIAL::1::::meta MooseX::Traits::__ANON__::SERIAL::1::meta
1119µs86µsClass::MOP::Package::::BEGIN@18 Class::MOP::Package::BEGIN@18
1119µs18µsMoose::Meta::TypeConstraint::Role::::meta Moose::Meta::TypeConstraint::Role::meta
1119µs19µsMoose::Meta::TypeConstraint::Class::::meta Moose::Meta::TypeConstraint::Class::meta
1119µs25µsClass::MOP::Package::::BEGIN@14 Class::MOP::Package::BEGIN@14
2119µs9µsMoose::Meta::Role::Attribute::::_original_role Moose::Meta::Role::Attribute::_original_role
2118µs8µsMoose::Meta::Role::Attribute::::original_options Moose::Meta::Role::Attribute::original_options
2118µs8µsMoose::Meta::Role::Attribute::::associated_role Moose::Meta::Role::Attribute::associated_role
1118µs22µsClass::MOP::Package::::BEGIN@95 Class::MOP::Package::BEGIN@95
1117µs12µsMoose::Meta::TypeCoercion::Union::::meta Moose::Meta::TypeCoercion::Union::meta
1117µs7µsClass::MOP::Package::::BEGIN@3 Class::MOP::Package::BEGIN@3
1117µs20µsClass::MOP::Package::::BEGIN@164 Class::MOP::Package::BEGIN@164
1117µs7µsMoose::Meta::Mixin::AttributeCore::::_is_metadata Moose::Meta::Mixin::AttributeCore::_is_metadata
1116µs8µsClass::MOP::Package::::BEGIN@10 Class::MOP::Package::BEGIN@10
8116µs6µsClass::MOP::Mixin::AttributeCore::::writer Class::MOP::Mixin::AttributeCore::writer (xsub)
1116µs11µsMoose::Meta::Role::Application::ToRole::::meta Moose::Meta::Role::Application::ToRole::meta
1116µs13µsClass::MOP::Package::::BEGIN@11 Class::MOP::Package::BEGIN@11
1116µs38µsClass::MOP::Package::::BEGIN@13 Class::MOP::Package::BEGIN@13
3116µs6µsClass::MOP::Method::::associated_metaclass Class::MOP::Method::associated_metaclass
2116µs6µsMoose::Meta::Role::::CORE:match Moose::Meta::Role::CORE:match (opcode)
0000s0sClass::MOP::Attribute::::clone Class::MOP::Attribute::clone
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::_get_mutable_metaclass_nameClass::MOP::Class::Immutable::Class::MOP::Class::_get_mutable_metaclass_name
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::_immutable_cannot_callClass::MOP::Class::Immutable::Class::MOP::Class::_immutable_cannot_call
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::_immutable_metaclassClass::MOP::Class::Immutable::Class::MOP::Class::_immutable_metaclass
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::_immutable_read_onlyClass::MOP::Class::Immutable::Class::MOP::Class::_immutable_read_only
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::add_attributeClass::MOP::Class::Immutable::Class::MOP::Class::add_attribute
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::add_methodClass::MOP::Class::Immutable::Class::MOP::Class::add_method
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::add_package_symbolClass::MOP::Class::Immutable::Class::MOP::Class::add_package_symbol
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::alias_methodClass::MOP::Class::Immutable::Class::MOP::Class::alias_method
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::class_precedence_listClass::MOP::Class::Immutable::Class::MOP::Class::class_precedence_list
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::get_all_method_namesClass::MOP::Class::Immutable::Class::MOP::Class::get_all_method_names
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::get_all_methodsClass::MOP::Class::Immutable::Class::MOP::Class::get_all_methods
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::is_mutableClass::MOP::Class::Immutable::Class::MOP::Class::is_mutable
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::metaClass::MOP::Class::Immutable::Class::MOP::Class::meta
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::remove_attributeClass::MOP::Class::Immutable::Class::MOP::Class::remove_attribute
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::remove_methodClass::MOP::Class::Immutable::Class::MOP::Class::remove_method
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::remove_package_symbolClass::MOP::Class::Immutable::Class::MOP::Class::remove_package_symbol
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::superclassesClass::MOP::Class::Immutable::Class::MOP::Class::superclasses
0000s0sClass::MOP::Instance::::attributes Class::MOP::Instance::attributes
0000s0sClass::MOP::Instance::::slot_hash Class::MOP::Instance::slot_hash
0000s0sClass::MOP::Instance::::slots Class::MOP::Instance::slots
0000s0sClass::MOP::Method::::original_method Class::MOP::Method::original_method
0000s0sClass::MOP::Mixin::AttributeCore::::builder Class::MOP::Mixin::AttributeCore::builder
0000s0sClass::MOP::Mixin::AttributeCore::::clearer Class::MOP::Mixin::AttributeCore::clearer
0000s0sClass::MOP::Mixin::AttributeCore::::has_init_arg Class::MOP::Mixin::AttributeCore::has_init_arg
0000s0sClass::MOP::Mixin::AttributeCore::::has_insertion_order Class::MOP::Mixin::AttributeCore::has_insertion_order
0000s0sClass::MOP::Mixin::AttributeCore::::initializer Class::MOP::Mixin::AttributeCore::initializer
0000s0sClass::MOP::Mixin::AttributeCore::::insertion_order Class::MOP::Mixin::AttributeCore::insertion_order
0000s0sClass::MOP::Module::::authority Class::MOP::Module::authority
0000s0sClass::MOP::Module::::version Class::MOP::Module::version
0000s0sClass::MOP::Package::::DESTROY Class::MOP::Package::DESTROY
0000s0sClass::MOP::Package::::_anon_cache_key Class::MOP::Package::_anon_cache_key
0000s0sClass::MOP::Package::::_anon_package_prefix Class::MOP::Package::_anon_package_prefix
0000s0sClass::MOP::Package::::_free_anon Class::MOP::Package::_free_anon
0000s0sClass::MOP::Package::::create_anon Class::MOP::Package::create_anon
0000s0sClass::MOP::Package::::is_anon Class::MOP::Package::is_anon
0000s0sClass::MOP::Package::::namespace Class::MOP::Package::namespace
0000s0sClass::MOP::Package::::reinitialize Class::MOP::Package::reinitialize
0000s0sClass::MOP::Package::::remove_package_glob Class::MOP::Package::remove_package_glob
0000s0sClass::MOP::Package::::remove_package_symbol Class::MOP::Package::remove_package_symbol
0000s0sMoose::Error::Default::::_get_compatible_metaclass Moose::Error::Default::_get_compatible_metaclass
0000s0sMoose::Error::Default::::_get_compatible_metaclass_by_role_reconciliation Moose::Error::Default::_get_compatible_metaclass_by_role_reconciliation
0000s0sMoose::Meta::Attribute::Custom::Trait::Array::::register_implementation Moose::Meta::Attribute::Custom::Trait::Array::register_implementation
0000s0sMoose::Meta::Attribute::Custom::Trait::Bool::::register_implementation Moose::Meta::Attribute::Custom::Trait::Bool::register_implementation
0000s0sMoose::Meta::Attribute::Custom::Trait::Code::::register_implementation Moose::Meta::Attribute::Custom::Trait::Code::register_implementation
0000s0sMoose::Meta::Attribute::Custom::Trait::Counter::::register_implementation Moose::Meta::Attribute::Custom::Trait::Counter::register_implementation
0000s0sMoose::Meta::Attribute::Custom::Trait::Hash::::register_implementation Moose::Meta::Attribute::Custom::Trait::Hash::register_implementation
0000s0sMoose::Meta::Attribute::Custom::Trait::Number::::register_implementation Moose::Meta::Attribute::Custom::Trait::Number::register_implementation
0000s0sMoose::Meta::Attribute::Custom::Trait::String::::register_implementation Moose::Meta::Attribute::Custom::Trait::String::register_implementation
0000s0sMoose::Meta::Attribute::::_get_compatible_metaclass Moose::Meta::Attribute::_get_compatible_metaclass
0000s0sMoose::Meta::Attribute::::_get_compatible_metaclass_by_role_reconciliation Moose::Meta::Attribute::_get_compatible_metaclass_by_role_reconciliation
0000s0sMoose::Meta::Attribute::::applied_traits Moose::Meta::Attribute::applied_traits
0000s0sMoose::Meta::Attribute::::has_applied_traits Moose::Meta::Attribute::has_applied_traits
0000s0sMoose::Meta::Class::::_get_compatible_metaclass Moose::Meta::Class::_get_compatible_metaclass
0000s0sMoose::Meta::Class::::_get_compatible_metaclass_by_role_reconciliation Moose::Meta::Class::_get_compatible_metaclass_by_role_reconciliation
0000s0sMoose::Meta::Class::::_new Moose::Meta::Class::_new
0000s0sMoose::Meta::Class::::immutable_trait Moose::Meta::Class::immutable_trait
0000s0sMoose::Meta::Instance::::_get_compatible_metaclass Moose::Meta::Instance::_get_compatible_metaclass
0000s0sMoose::Meta::Instance::::_get_compatible_metaclass_by_role_reconciliation Moose::Meta::Instance::_get_compatible_metaclass_by_role_reconciliation
0000s0sMoose::Meta::Method::Augmented::::_new Moose::Meta::Method::Augmented::_new
0000s0sMoose::Meta::Method::Constructor::::_new Moose::Meta::Method::Constructor::_new
0000s0sMoose::Meta::Method::Destructor::::_new Moose::Meta::Method::Destructor::_new
0000s0sMoose::Meta::Method::Overridden::::_new Moose::Meta::Method::Overridden::_new
0000s0sMoose::Meta::Method::::_get_compatible_metaclass Moose::Meta::Method::_get_compatible_metaclass
0000s0sMoose::Meta::Method::::_get_compatible_metaclass_by_role_reconciliation Moose::Meta::Method::_get_compatible_metaclass_by_role_reconciliation
0000s0sMoose::Meta::Mixin::AttributeCore::::_does_metadata Moose::Meta::Mixin::AttributeCore::_does_metadata
0000s0sMoose::Meta::Mixin::AttributeCore::::_isa_metadata Moose::Meta::Mixin::AttributeCore::_isa_metadata
0000s0sMoose::Meta::Mixin::AttributeCore::::_set_handles Moose::Meta::Mixin::AttributeCore::_set_handles
0000s0sMoose::Meta::Mixin::AttributeCore::::documentation Moose::Meta::Mixin::AttributeCore::documentation
0000s0sMoose::Meta::Mixin::AttributeCore::::handles Moose::Meta::Mixin::AttributeCore::handles
0000s0sMoose::Meta::Mixin::AttributeCore::::has_documentation Moose::Meta::Mixin::AttributeCore::has_documentation
0000s0sMoose::Meta::Mixin::AttributeCore::::is_lazy_build Moose::Meta::Mixin::AttributeCore::is_lazy_build
0000s0sMoose::Meta::Mixin::AttributeCore::::trigger Moose::Meta::Mixin::AttributeCore::trigger
0000s0sMoose::Meta::Role::Application::RoleSummation::::_new Moose::Meta::Role::Application::RoleSummation::_new
0000s0sMoose::Meta::Role::Application::RoleSummation::::role_params Moose::Meta::Role::Application::RoleSummation::role_params
0000s0sMoose::Meta::Role::Application::ToClass::::class Moose::Meta::Role::Application::ToClass::class
0000s0sMoose::Meta::Role::Application::ToClass::::role Moose::Meta::Role::Application::ToClass::role
0000s0sMoose::Meta::Role::Application::ToInstance::::_new Moose::Meta::Role::Application::ToInstance::_new
0000s0sMoose::Meta::Role::Application::ToInstance::::rebless_params Moose::Meta::Role::Application::ToInstance::rebless_params
0000s0sMoose::Meta::Role::Application::ToRole::::_new Moose::Meta::Role::Application::ToRole::_new
0000s0sMoose::Meta::Role::Application::::_new Moose::Meta::Role::Application::_new
0000s0sMoose::Meta::Role::Attribute::::_new Moose::Meta::Role::Attribute::_new
0000s0sMoose::Meta::Role::Attribute::::is Moose::Meta::Role::Attribute::is
0000s0sMoose::Meta::Role::Attribute::::metaclass Moose::Meta::Role::Attribute::metaclass
0000s0sMoose::Meta::Role::Composite::::_method_map Moose::Meta::Role::Composite::_method_map
0000s0sMoose::Meta::Role::Composite::::_new Moose::Meta::Role::Composite::_new
0000s0sMoose::Meta::Role::Composite::::application_role_summation_class Moose::Meta::Role::Composite::application_role_summation_class
0000s0sMoose::Meta::Role::Composite::::name Moose::Meta::Role::Composite::name
0000s0sMoose::Meta::Role::Method::Conflicting::::_new Moose::Meta::Role::Method::Conflicting::_new
0000s0sMoose::Meta::Role::Method::Conflicting::::roles Moose::Meta::Role::Method::Conflicting::roles
0000s0sMoose::Meta::Role::::_get_compatible_metaclass Moose::Meta::Role::_get_compatible_metaclass
0000s0sMoose::Meta::Role::::_get_compatible_metaclass_by_role_reconciliation Moose::Meta::Role::_get_compatible_metaclass_by_role_reconciliation
0000s0sMoose::Meta::Role::::add_after_method_modifier Moose::Meta::Role::add_after_method_modifier
0000s0sMoose::Meta::Role::::add_around_method_modifier Moose::Meta::Role::add_around_method_modifier
0000s0sMoose::Meta::Role::::add_before_method_modifier Moose::Meta::Role::add_before_method_modifier
0000s0sMoose::Meta::Role::::add_excluded_roles Moose::Meta::Role::add_excluded_roles
0000s0sMoose::Meta::Role::::application_to_instance_class Moose::Meta::Role::application_to_instance_class
0000s0sMoose::Meta::Role::::application_to_role_class Moose::Meta::Role::application_to_role_class
0000s0sMoose::Meta::Role::::conflicting_method_metaclass Moose::Meta::Role::conflicting_method_metaclass
0000s0sMoose::Meta::Role::::get_after_method_modifiers Moose::Meta::Role::get_after_method_modifiers
0000s0sMoose::Meta::Role::::get_around_method_modifiers Moose::Meta::Role::get_around_method_modifiers
0000s0sMoose::Meta::Role::::get_before_method_modifiers Moose::Meta::Role::get_before_method_modifiers
0000s0sMoose::Meta::Role::::get_roles Moose::Meta::Role::get_roles
0000s0sMoose::Meta::Role::::has_after_method_modifiers Moose::Meta::Role::has_after_method_modifiers
0000s0sMoose::Meta::Role::::has_around_method_modifiers Moose::Meta::Role::has_around_method_modifiers
0000s0sMoose::Meta::Role::::has_before_method_modifiers Moose::Meta::Role::has_before_method_modifiers
0000s0sMoose::Meta::Role::::remove_required_methods Moose::Meta::Role::remove_required_methods
0000s0sMoose::Meta::Role::::requires_method Moose::Meta::Role::requires_method
0000s0sMoose::Meta::TypeCoercion::Union::::_new Moose::Meta::TypeCoercion::Union::_new
0000s0sMoose::Meta::TypeCoercion::::_compiled_type_coercion Moose::Meta::TypeCoercion::_compiled_type_coercion
0000s0sMoose::Meta::TypeCoercion::::_new Moose::Meta::TypeCoercion::_new
0000s0sMoose::Meta::TypeCoercion::::type_coercion_map Moose::Meta::TypeCoercion::type_coercion_map
0000s0sMoose::Meta::TypeCoercion::::type_constraint Moose::Meta::TypeCoercion::type_constraint
0000s0sMoose::Meta::TypeConstraint::DuckType::::_new Moose::Meta::TypeConstraint::DuckType::_new
0000s0sMoose::Meta::TypeConstraint::DuckType::::methods Moose::Meta::TypeConstraint::DuckType::methods
0000s0sMoose::Meta::TypeConstraint::Enum::::_inline_var_name Moose::Meta::TypeConstraint::Enum::_inline_var_name
0000s0sMoose::Meta::TypeConstraint::Enum::::_new Moose::Meta::TypeConstraint::Enum::_new
0000s0sMoose::Meta::TypeConstraint::Enum::::values Moose::Meta::TypeConstraint::Enum::values
0000s0sMoose::Meta::TypeConstraint::Parameterizable::::constraint_generator Moose::Meta::TypeConstraint::Parameterizable::constraint_generator
0000s0sMoose::Meta::TypeConstraint::Parameterizable::::has_constraint_generator Moose::Meta::TypeConstraint::Parameterizable::has_constraint_generator
0000s0sMoose::Meta::TypeConstraint::Parameterizable::::has_inline_generator Moose::Meta::TypeConstraint::Parameterizable::has_inline_generator
0000s0sMoose::Meta::TypeConstraint::Parameterizable::::inline_generator Moose::Meta::TypeConstraint::Parameterizable::inline_generator
0000s0sMoose::Meta::TypeConstraint::Parameterized::::_new Moose::Meta::TypeConstraint::Parameterized::_new
0000s0sMoose::Meta::TypeConstraint::Parameterized::::has_parameterized_from Moose::Meta::TypeConstraint::Parameterized::has_parameterized_from
0000s0sMoose::Meta::TypeConstraint::Parameterized::::has_type_parameter Moose::Meta::TypeConstraint::Parameterized::has_type_parameter
0000s0sMoose::Meta::TypeConstraint::Parameterized::::parameterized_from Moose::Meta::TypeConstraint::Parameterized::parameterized_from
0000s0sMoose::Meta::TypeConstraint::Parameterized::::type_parameter Moose::Meta::TypeConstraint::Parameterized::type_parameter
0000s0sMoose::Meta::TypeConstraint::Registry::::_new Moose::Meta::TypeConstraint::Registry::_new
0000s0sMoose::Meta::TypeConstraint::Registry::::get_parent_registry Moose::Meta::TypeConstraint::Registry::get_parent_registry
0000s0sMoose::Meta::TypeConstraint::Registry::::has_parent_registry Moose::Meta::TypeConstraint::Registry::has_parent_registry
0000s0sMoose::Meta::TypeConstraint::Registry::::set_parent_registry Moose::Meta::TypeConstraint::Registry::set_parent_registry
0000s0sMoose::Meta::TypeConstraint::Union::::_new Moose::Meta::TypeConstraint::Union::_new
0000s0sMoose::Meta::TypeConstraint::Union::::type_constraints Moose::Meta::TypeConstraint::Union::type_constraints
0000s0sMoose::Meta::TypeConstraint::::_package_defined_in Moose::Meta::TypeConstraint::_package_defined_in
0000s0sMoose::Meta::TypeConstraint::::_set_constraint Moose::Meta::TypeConstraint::_set_constraint
0000s0sMoose::Meta::TypeConstraint::::coercion Moose::Meta::TypeConstraint::coercion
0000s0sMoose::Meta::TypeConstraint::::message Moose::Meta::TypeConstraint::message
0000s0sMoose::Object::::meta Moose::Object::meta
0000s0sMoose::Role::::import Moose::Role::import
0000s0sMoose::Role::::unimport Moose::Role::unimport
0000s0sMoose::Util::TypeConstraints::::import Moose::Util::TypeConstraints::import
0000s0sMoose::Util::TypeConstraints::::unimport Moose::Util::TypeConstraints::unimport
0000s0sMoose::::import Moose::import
0000s0sMoose::::unimport Moose::unimport
0000s0sMooseX::Log::Log4perl::::meta MooseX::Log::Log4perl::meta
0000s0sMooseX::Traits::__ANON__::SERIAL::1::::get_next_queue MooseX::Traits::__ANON__::SERIAL::1::get_next_queue
0000s0sMooseX::Traits::__ANON__::SERIAL::1::::get_virtual_finishing_time MooseX::Traits::__ANON__::SERIAL::1::get_virtual_finishing_time
0000s0sMooseX::Traits::__ANON__::SERIAL::1::::lookup_next_queue MooseX::Traits::__ANON__::SERIAL::1::lookup_next_queue
0000s0sMooseX::Traits::__ANON__::SERIAL::1::::update_queue MooseX::Traits::__ANON__::SERIAL::1::update_queue
0000s0sMooseX::Traits::::meta MooseX::Traits::meta
0000s0sTapper::Base::::log Tapper::Base::log
0000s0sTapper::Base::::logger Tapper::Base::logger
0000s0sTapper::Base::::meta Tapper::Base::meta
0000s0sTapper::MCP::Net::TAP::::meta Tapper::MCP::Net::TAP::meta
0000s0sTapper::MCP::Net::::meta Tapper::MCP::Net::meta
0000s0sTapper::MCP::Scheduler::Algorithm::WFQ::::meta Tapper::MCP::Scheduler::Algorithm::WFQ::meta
0000s0sTapper::MCP::Scheduler::Algorithm::::apply_traits Tapper::MCP::Scheduler::Algorithm::apply_traits
0000s0sTapper::MCP::Scheduler::Algorithm::::new_with_traits Tapper::MCP::Scheduler::Algorithm::new_with_traits
0000s0sTapper::MCP::Scheduler::Algorithm::::queues Tapper::MCP::Scheduler::Algorithm::queues
0000s0sTapper::MCP::Scheduler::Algorithm::::with_traits Tapper::MCP::Scheduler::Algorithm::with_traits
0000s0sTapper::MCP::Scheduler::Controller::::associated_hostname Tapper::MCP::Scheduler::Controller::associated_hostname
0000s0sTapper::MCP::Scheduler::Controller::::cfg Tapper::MCP::Scheduler::Controller::cfg
0000s0sTapper::MCP::Scheduler::Controller::::hostlist Tapper::MCP::Scheduler::Controller::hostlist
0000s0sTapper::MCP::Scheduler::Controller::::mcp_headerlines Tapper::MCP::Scheduler::Controller::mcp_headerlines
0000s0sTapper::MCP::Scheduler::Controller::::meta Tapper::MCP::Scheduler::Controller::meta
0000s0sTapper::MCP::Scheduler::Controller::::prc_headerlines Tapper::MCP::Scheduler::Controller::prc_headerlines
0000s0sTapper::MCP::Scheduler::Controller::::tap_report_away Tapper::MCP::Scheduler::Controller::tap_report_away
0000s0sTapper::MCP::Scheduler::Controller::::tap_report_create Tapper::MCP::Scheduler::Controller::tap_report_create
0000s0sTapper::MCP::Scheduler::Controller::::tap_report_send Tapper::MCP::Scheduler::Controller::tap_report_send
0000s0sTapper::MCP::Scheduler::Controller::::testrun Tapper::MCP::Scheduler::Controller::testrun
0000s0sTapper::MCP::Scheduler::Controller::::upload_files Tapper::MCP::Scheduler::Controller::upload_files
0000s0sTapper::MCP::Scheduler::PrioQueue::::meta Tapper::MCP::Scheduler::PrioQueue::meta
0000s0sTapper::MCP::::meta Tapper::MCP::meta
0000s0sTapper::Producer::Temare::::meta Tapper::Producer::Temare::meta
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1
2package Class::MOP::Package;
3
# spent 7µs within Class::MOP::Package::BEGIN@3 which was called: # once (7µs+0s) by base::import at line 5
BEGIN {
414µs $Class::MOP::Package::AUTHORITY = 'cpan:STEVAN';
5122µs17µs}
# spent 7µs making 1 call to Class::MOP::Package::BEGIN@3
6{
72900ns $Class::MOP::Package::VERSION = '2.0602';
8}
9
10316µs210µs
# spent 8µs (6+2) within Class::MOP::Package::BEGIN@10 which was called: # once (6µs+2µs) by base::import at line 10
use strict;
# spent 8µs making 1 call to Class::MOP::Package::BEGIN@10 # spent 2µs making 1 call to strict::import
11319µs220µs
# spent 13µs (6+7) within Class::MOP::Package::BEGIN@11 which was called: # once (6µs+7µs) by base::import at line 11
use warnings;
# spent 13µs making 1 call to Class::MOP::Package::BEGIN@11 # spent 7µs making 1 call to warnings::import
12
13318µs269µs
# spent 38µs (6+32) within Class::MOP::Package::BEGIN@13 which was called: # once (6µs+32µs) by base::import at line 13
use Scalar::Util 'blessed', 'reftype', 'weaken';
# spent 38µs making 1 call to Class::MOP::Package::BEGIN@13 # spent 32µs making 1 call to Exporter::import
14321µs242µs
# spent 25µs (9+17) within Class::MOP::Package::BEGIN@14 which was called: # once (9µs+17µs) by base::import at line 14
use Carp 'confess';
# spent 25µs making 1 call to Class::MOP::Package::BEGIN@14 # spent 17µs making 1 call to Exporter::import
15389µs21.17ms
# spent 1.02ms (204µs+815µs) within Class::MOP::Package::BEGIN@15 which was called: # once (204µs+815µs) by base::import at line 15
use Devel::GlobalDestruction 'in_global_destruction';
# spent 1.02ms making 1 call to Class::MOP::Package::BEGIN@15 # spent 153µs making 1 call to Sub::Exporter::__ANON__[Sub/Exporter.pm:756]
163100µs23.50ms
# spent 3.49ms (482µs+3.01) within Class::MOP::Package::BEGIN@16 which was called: # once (482µs+3.01ms) by base::import at line 16
use Package::Stash;
17
183242µs286µs
# spent 86µs (9+77) within Class::MOP::Package::BEGIN@18 which was called: # once (9µs+77µs) by base::import at line 18
use base 'Class::MOP::Object';
# spent 86µs making 1 call to Class::MOP::Package::BEGIN@18 # spent 77µs making 1 call to base::import, recursion: max depth 2, sum of overlapping time 77µs
19
20# creation ...
21
22
# spent 757µs (167+590) within Class::MOP::Package::initialize which was called 7 times, avg 108µs/call: # 4 times (91µs+524µs) by Moose::Meta::Role::initialize at line 183 of Moose/Meta/Role.pm, avg 154µs/call # 3 times (76µs+66µs) by Moose::Exporter::build_import_methods at line 87 of Moose/Exporter.pm, avg 47µs/call
sub initialize {
233566µs my ( $class, @args ) = @_;
24
25 unshift @args, "package" if @args % 2;
26
27 my %options = @args;
28 my $package_name = delete $options{package};
29
30
31 # we hand-construct the class until we can bootstrap it
322886µs713µs if ( my $meta = Class::MOP::get_metaclass_by_name($package_name) ) {
# spent 13µs making 7 calls to Class::MOP::get_metaclass_by_name, avg 2µs/call
33 return $meta;
34 } else {
357562µs my $meta = ( ref $class || $class )->_new({
# spent 512µs making 4 calls to Moose::Meta::Role::_new, avg 128µs/call # spent 50µs making 3 calls to Class::MOP::Package::_new, avg 17µs/call
36 'package' => $package_name,
37 %options,
38 });
39715µs Class::MOP::store_metaclass_by_name($package_name, $meta);
# spent 15µs making 7 calls to Class::MOP::store_metaclass_by_name, avg 2µs/call
40
41 Class::MOP::weaken_metaclass($package_name) if $options{weaken};
42
43
44 return $meta;
45 }
46}
47
48sub reinitialize {
49 my ( $class, @args ) = @_;
50
51 unshift @args, "package" if @args % 2;
52
53 my %options = @args;
54 my $package_name = delete $options{package};
55
56 (defined $package_name && $package_name
57 && (!blessed $package_name || $package_name->isa('Class::MOP::Package')))
58 || confess "You must pass a package name or an existing Class::MOP::Package instance";
59
60 $package_name = $package_name->name
61 if blessed $package_name;
62
63 Class::MOP::remove_metaclass_by_name($package_name);
64
65 $class->initialize($package_name, %options); # call with first arg form for compat
66}
67
68
# spent 2.10ms (26µs+2.08) within Class::MOP::Package::create which was called 2 times, avg 1.05ms/call: # 2 times (26µs+2.08ms) by Class::MOP::Module::create at line 68 of Class/MOP/Module.pm, avg 1.05ms/call
sub create {
69624µs my $class = shift;
70 my @args = @_;
71
7222.08ms return $class->initialize(@args);
# spent 1.95ms making 1 call to Moose::Meta::Class::initialize # spent 129µs making 1 call to Class::MOP::Class::initialize
73}
74
75## ANON packages
76
77{
78 # NOTE:
79 # this should be sufficient, if you have a
80 # use case where it is not, write a test and
81 # I will change it.
8231µs my $ANON_SERIAL = 0;
83
84 my %ANON_PACKAGE_CACHE;
85
86 # NOTE:
87 # we need a sufficiently annoying prefix
88 # this should suffice for now, this is
89 # used in a couple of places below, so
90 # need to put it up here for now.
91 sub _anon_package_prefix { 'Class::MOP::Package::__ANON__::SERIAL::' }
92
93 sub is_anon {
94 my $self = shift;
953288µs237µs
# spent 22µs (8+15) within Class::MOP::Package::BEGIN@95 which was called: # once (8µs+15µs) by base::import at line 95
no warnings 'uninitialized';
# spent 22µs making 1 call to Class::MOP::Package::BEGIN@95 # spent 15µs making 1 call to warnings::unimport
96 my $prefix = $self->_anon_package_prefix;
97 $self->name =~ /^\Q$prefix/;
98 }
99
100 sub create_anon {
101 my ($class, %options) = @_;
102
103 my $cache_ok = delete $options{cache};
104 $options{weaken} = !$cache_ok unless exists $options{weaken};
105
106 my $cache_key;
107 if ($cache_ok) {
108 $cache_key = $class->_anon_cache_key(%options);
109 undef $cache_ok if !defined($cache_key);
110 }
111
112 if ($cache_ok) {
113 if (defined $ANON_PACKAGE_CACHE{$cache_key}) {
114 return $ANON_PACKAGE_CACHE{$cache_key};
115 }
116 }
117
118 my $package_name = $class->_anon_package_prefix . ++$ANON_SERIAL;
119
120 my $meta = $class->create($package_name, %options);
121
122 if ($cache_ok) {
123 $ANON_PACKAGE_CACHE{$cache_key} = $meta;
124 weaken($ANON_PACKAGE_CACHE{$cache_key});
125 }
126
127 return $meta;
128 }
129
130 sub _anon_cache_key { confess "Packages are not cacheable" }
131
132 sub DESTROY {
133 my $self = shift;
134
135 return if in_global_destruction(); # it'll happen soon anyway and this just makes things more complicated
136
137 $self->_free_anon
138 if $self->is_anon;
139 }
140
141 sub _free_anon {
142 my $self = shift;
143 my $name = $self->name;
144
145 # Moose does a weird thing where it replaces the metaclass for
146 # class when fixing metaclass incompatibility. In that case,
147 # we don't want to clean out the namespace now. We can detect
148 # that because Moose will explicitly update the singleton
149 # cache in Class::MOP using store_metaclass_by_name, which
150 # means that the new metaclass will already exist in the cache
151 # by this point.
152 # The other options here are that $current_meta can be undef if
153 # remove_metaclass_by_name is called explicitly (since the hash
154 # entry is removed first, and then this destructor is called),
155 # or that $current_meta can be the same as $self, which happens
156 # when the metaclass goes out of scope (since the weak reference
157 # in the metaclass cache won't be freed until after this
158 # destructor runs).
159 my $current_meta = Class::MOP::get_metaclass_by_name($name);
160 return if defined($current_meta) && $current_meta ne $self;
161
162 my ($first_fragments, $last_fragment) = ($name =~ /^(.*)::(.*)$/);
163
1643373µs233µs
# spent 20µs (7+13) within Class::MOP::Package::BEGIN@164 which was called: # once (7µs+13µs) by base::import at line 164
no strict 'refs';
# spent 20µs making 1 call to Class::MOP::Package::BEGIN@164 # spent 13µs making 1 call to strict::unimport
165 # clear @ISA first, to avoid a memory leak
166 # see https://rt.perl.org/rt3/Public/Bug/Display.html?id=92708
167 @{$name . '::ISA'} = ();
168 %{$name . '::'} = ();
169 delete ${$first_fragments . '::'}{$last_fragment . '::'};
170
171 Class::MOP::remove_metaclass_by_name($name);
172 }
173
174}
175
176
# spent 50µs within Class::MOP::Package::_new which was called 3 times, avg 17µs/call: # 3 times (50µs+0s) by Class::MOP::Package::initialize at line 35, avg 17µs/call
sub _new {
1771254µs my $class = shift;
178
179 return Class::MOP::Class->initialize($class)->new_object(@_)
180 if $class ne __PACKAGE__;
181
182 my $params = @_ == 1 ? $_[0] : {@_};
183
184 return bless {
185 # Need to quote package to avoid a problem with PPI mis-parsing this
186 # as a package statement.
187 'package' => $params->{package},
188
189 # NOTE:
190 # because of issues with the Perl API
191 # to the typeglob in some versions, we
192 # need to just always grab a new
193 # reference to the hash in the accessor.
194 # Ideally we could just store a ref and
195 # it would Just Work, but oh well :\
196
197 namespace => \undef,
198
199 } => $class;
200}
201
202# Attributes
203
204# NOTE:
205# all these attribute readers will be bootstrapped
206# away in the Class::MOP bootstrap section
207
208
# spent 3.02ms (1.86+1.16) within Class::MOP::Package::_package_stash which was called 1145 times, avg 3µs/call: # 456 times (522µs+72µs) by Class::MOP::Package::get_package_symbol at line 238, avg 1µs/call # 396 times (491µs+0s) by Class::MOP::Package::add_package_symbol at line 221, avg 1µs/call # 154 times (160µs+64µs) by Class::MOP::Package::has_package_symbol at line 233, avg 1µs/call # 130 times (664µs+1.03ms) by Class::MOP::Package::get_or_add_package_symbol at line 243, avg 13µs/call # 8 times (16µs+0s) by Class::MOP::Package::list_all_package_symbols at line 253, avg 2µs/call # once (4µs+0s) by Class::MOP::Package::get_all_package_symbols at line 258
sub _package_stash {
20911454.16ms1601.16ms $_[0]->{_package_stash} ||= Package::Stash->new($_[0]->name)
# spent 1.09ms making 80 calls to Package::Stash::XS::new, avg 14µs/call # spent 72µs making 80 calls to Class::MOP::Package::name, avg 894ns/call
210}
211sub namespace {
212 $_[0]->_package_stash->namespace
213}
214
215# Class attributes
216
217# ... these functions have to touch the symbol table itself,.. yuk
218
219
# spent 6.92ms (2.10+4.81) within Class::MOP::Package::add_package_symbol which was called 396 times, avg 17µs/call: # 390 times (2.07ms+4.75ms) by Class::MOP::Mixin::HasMethods::add_method at line 86 of Class/MOP/Mixin/HasMethods.pm, avg 17µs/call # 6 times (33µs+65µs) by Moose::Exporter::build_import_methods at line 93 of Moose/Exporter.pm, avg 16µs/call
sub add_package_symbol {
2207926.25ms my $self = shift;
22111885.08ms
# spent 347µs within Class::MOP::Mixin::AttributeCore::has_default which was called 304 times, avg 1µs/call: # 286 times (313µs+0s) by Class::MOP::Class::_inline_default_value at line 667 of Class/MOP/Class.pm, avg 1µs/call # 9 times (16µs+0s) by Moose::Meta::Attribute::_eval_environment at line 779 of Moose/Meta/Attribute.pm, avg 2µs/call # 6 times (9µs+0s) by Moose::Meta::Attribute::initialize_instance_slot at line 519 of Moose/Meta/Attribute.pm, avg 1µs/call # once (6µs+0s) by MooseX::Traits::Util::transform_trait at line 29 of MooseX/Traits/Util.pm # once (2µs+0s) by Moose::Meta::Attribute::_inline_init_from_default at line 900 of Moose/Meta/Attribute.pm # once (900ns+0s) by Moose::Meta::Attribute::_inline_generate_default at line 927 of Moose/Meta/Attribute.pm # spent 843µs (237+606) within Class::MOP::Class::Immutable::Class::MOP::Class::linearized_isa which was called 63 times, avg 13µs/call: # 48 times (186µs+354µs) by Class::MOP::Class::find_attribute_by_name at line 916 of Class/MOP/Class.pm, avg 11µs/call # 15 times (52µs+252µs) by Class::MOP::Class::get_all_attributes at line 928 of Class/MOP/Class.pm, avg 20µs/call # spent 183µs within Class::MOP::Mixin::AttributeCore::_set_insertion_order which was called 133 times, avg 1µs/call: # 133 times (183µs+0s) by Class::MOP::Mixin::HasAttributes::add_attribute at line 35 of Class/MOP/Mixin/HasAttributes.pm, avg 1µs/call # spent 1.90ms within Tapper::MCP::Scheduler::Controller::prioqueue which was called 477 times, avg 4µs/call: # 477 times (1.90ms+0s) by Tapper::MCP::Scheduler::Controller::get_next_job at line 90 of lib/Tapper/MCP/Scheduler/Controller.pm, avg 4µs/call # spent 130µs (45+85) within Moose::Meta::Mixin::AttributeCore::is_lazy which was called 16 times, avg 8µs/call: # 9 times (33µs+85µs) by Moose::Meta::Attribute::_inline_check_lazy at line 885 of Moose/Meta/Attribute.pm, avg 13µs/call # 7 times (13µs+0s) by Moose::Meta::Attribute::initialize_instance_slot at line 512 of Moose/Meta/Attribute.pm, avg 2µs/call # spent 190µs (182+7) within Moose::Meta::TypeConstraint::Parameterizable::_new which was called 4 times, avg 47µs/call: # 4 times (182µs+7µs) by Moose::Meta::TypeConstraint::new at line 143 of Moose/Meta/TypeConstraint.pm, avg 47µs/call # spent 62µs (31+31) within Moose::Meta::TypeCoercion::meta which was called 4 times, avg 15µs/call: # once (11µs+13µs) by Moose::BEGIN@30 at line 20 of Moose/Meta/TypeCoercion.pm # once (8µs+6µs) by Moose::BEGIN@30 at line 32 of Moose/Meta/TypeCoercion.pm # once (7µs+5µs) by Tapper::MCP::Scheduler::Controller::BEGIN@6 at line 233 of Moose.pm # once (4µs+6µs) by Moose::BEGIN@30 at line 23 of Moose/Meta/TypeCoercion.pm # spent 23µs (16+6) within Moose::Meta::Role::excludes_role which was called 2 times, avg 11µs/call: # 2 times (16µs+6µs) by Moose::Meta::Class::excludes_role at line 265 of Moose/Meta/Class.pm, avg 11µs/call # spent 156µs within Moose::Meta::TypeConstraint::_has_inlined_type_constraint which was called 108 times, avg 1µs/call: # 108 times (156µs+0s) by Moose::Meta::TypeConstraint::can_be_inlined at line 210 of Moose/Meta/TypeConstraint.pm, avg 1µs/call # spent 3.22ms within Tapper::MCP::Scheduler::Controller::algorithm which was called 586 times, avg 5µs/call: # 477 times (2.33ms+0s) by Tapper::MCP::Scheduler::Controller::get_next_job at line 93 of lib/Tapper/MCP/Scheduler/Controller.pm, avg 5µs/call # 109 times (893µs+0s) by Tapper::MCP::Scheduler::Controller::get_next_job at line 107 of lib/Tapper/MCP/Scheduler/Controller.pm, avg 8µs/call # spent 36µs within Moose::Meta::Role::Application::get_method_exclusions which was called 15 times, avg 2µs/call: # 15 times (36µs+0s) by Moose::Meta::Role::Application::is_method_excluded at line 34 of Moose/Meta/Role/Application.pm, avg 2µs/call # spent 246µs within Class::MOP::Mixin::AttributeCore::has_clearer which was called 207 times, avg 1µs/call: # 207 times (246µs+0s) by Class::MOP::Attribute::install_accessors at line 440 of Class/MOP/Attribute.pm, avg 1µs/call # spent 88µs within Moose::Meta::TypeConstraint::has_hand_optimized_type_constraint which was called 45 times, avg 2µs/call: # 45 times (88µs+0s) by Moose::Meta::TypeConstraint::_actually_compile_type_constraint at line 317 of Moose/Meta/TypeConstraint.pm, avg 2µs/call # spent 28µs (13+15) within Moose::Meta::TypeConstraint::Enum::meta which was called 2 times, avg 14µs/call: # once (8µs+8µs) by Moose::Util::TypeConstraints::BEGIN@38 at line 18 of Moose/Meta/TypeConstraint/Enum.pm # once (5µs+7µs) by Moose::Util::TypeConstraints::BEGIN@38 at line 23 of Moose/Meta/TypeConstraint/Enum.pm # spent 25µs (11+15) within Moose::Meta::TypeConstraint::Union::meta which was called: # once (11µs+15µs) by Moose::Util::TypeConstraints::BEGIN@33 at line 24 of Moose/Meta/TypeConstraint/Union.pm # spent 33µs (17+16) within Moose::Meta::Role::Application::RoleSummation::meta which was called 2 times, avg 17µs/call: # once (11µs+12µs) by Moose::BEGIN@39 at line 22 of Moose/Meta/Role/Application/RoleSummation.pm # once (6µs+5µs) by Tapper::MCP::Scheduler::Controller::BEGIN@6 at line 233 of Moose.pm # spent 10µs within Moose::Meta::Role::applied_attribute_metaclass which was called 2 times, avg 5µs/call: # 2 times (10µs+0s) by Moose::Meta::Role::Attribute::attribute_for_class at line 88 of Moose/Meta/Role/Attribute.pm, avg 5µs/call # spent 47µs (36+11) within Moose::Meta::Role::get_excluded_roles_list which was called 4 times, avg 12µs/call: # 4 times (36µs+11µs) by Moose::Meta::Role::Application::ToClass::check_role_exclusions at line 47 of Moose/Meta/Role/Application/ToClass.pm, avg 12µs/call # spent 115µs (113+2) within Moose::Meta::Role::Method::Required::_new which was called 4 times, avg 29µs/call: # 4 times (113µs+2µs) by Moose::Meta::Role::Method::Required::new at line 28 of Moose/Meta/Role/Method/Required.pm, avg 29µs/call # spent 29µs (14+15) within Moose::Meta::TypeConstraint::Parameterized::meta which was called 2 times, avg 15µs/call: # once (9µs+9µs) by Moose::Util::TypeConstraints::BEGIN@34 at line 19 of Moose/Meta/TypeConstraint/Parameterized.pm # once (5µs+6µs) by Moose::Util::TypeConstraints::BEGIN@34 at line 25 of Moose/Meta/TypeConstraint/Parameterized.pm # spent 904µs (874+29) within Moose::Meta::TypeConstraint::Class::_new which was called 8 times, avg 113µs/call: # 8 times (874µs+29µs) by Moose::Meta::TypeConstraint::new at line 143 of Moose/Meta/TypeConstraint.pm, avg 113µs/call # spent 17µs within Moose::Meta::Role::get_excluded_roles_map which was called 6 times, avg 3µs/call: # 4 times (11µs+0s) by Moose::Meta::Role::get_excluded_roles_list at line 103 of Moose/Meta/Role.pm, avg 3µs/call # 2 times (6µs+0s) by Moose::Meta::Role::excludes_role at line 118 of Moose/Meta/Role.pm, avg 3µs/call # spent 13.5ms (1.20+12.3) within Class::MOP::Class::superclasses which was called 130 times, avg 103µs/call: # 65 times (374µs+2.57ms) by Class::MOP::Class::_check_metaclass_compatibility at line 203 of Class/MOP/Class.pm, avg 45µs/call # 63 times (773µs+9.35ms) by Moose::Meta::Class::superclasses at line 559 of Moose/Meta/Class.pm, avg 161µs/call # once (54µs+339µs) by Class::MOP::Class::create at line 451 of Class/MOP/Class.pm # once (4µs+-4µs) by Class::MOP::Class::_superclasses_updated at line 971 of Class/MOP/Class.pm # spent 147µs (63+84) within Moose::Meta::TypeConstraint::meta which was called 11 times, avg 13µs/call: # once (14µs+17µs) by Moose::BEGIN@29 at line 28 of Moose/Meta/TypeConstraint.pm # once (9µs+13µs) by Moose::BEGIN@29 at line 112 of Moose/Meta/TypeConstraint.pm # once (5µs+7µs) by Moose::BEGIN@29 at line 32 of Moose/Meta/TypeConstraint.pm # once (5µs+6µs) by Moose::BEGIN@29 at line 43 of Moose/Meta/TypeConstraint.pm # once (4µs+6µs) by Moose::BEGIN@29 at line 118 of Moose/Meta/TypeConstraint.pm # once (5µs+6µs) by Moose::BEGIN@29 at line 102 of Moose/Meta/TypeConstraint.pm # once (4µs+6µs) by Moose::BEGIN@29 at line 46 of Moose/Meta/TypeConstraint.pm # once (4µs+6µs) by Moose::BEGIN@29 at line 91 of Moose/Meta/TypeConstraint.pm # once (4µs+6µs) by Moose::BEGIN@29 at line 78 of Moose/Meta/TypeConstraint.pm # once (4µs+5µs) by Moose::BEGIN@29 at line 84 of Moose/Meta/TypeConstraint.pm # once (4µs+6µs) by Moose::BEGIN@29 at line 52 of Moose/Meta/TypeConstraint.pm # spent 8.29ms (1.06+7.23) within Class::MOP::Object::meta which was called 176 times, avg 47µs/call: # 52 times (313µs+313µs) by Class::MOP::Class::_immutable_metaclass at line 1330 of Class/MOP/Class.pm, avg 12µs/call # 31 times (196µs+201µs) by Class::MOP::Method::Meta::wrap at line 60 of Class/MOP/Method/Meta.pm, avg 13µs/call # 14 times (58µs+465µs) by Moose::Exporter::BEGIN@13 at line 687 of Class/MOP.pm, avg 37µs/call # 9 times (43µs+1.76ms) by Tapper::MCP::Scheduler::Controller::BEGIN@6 at line 233 of Moose.pm, avg 200µs/call # 9 times (84µs+108µs) by Moose::Meta::Attribute::new at line 95 of Moose/Meta/Attribute.pm, avg 21µs/call # 9 times (101µs+84µs) by Class::MOP::Class::_construct_class_instance at line 107 of Class/MOP/Class.pm, avg 21µs/call # 9 times (60µs+62µs) by Moose::Meta::Class::_inline_create_error at line 840 of Moose/Meta/Class.pm, avg 13µs/call # 2 times (9µs+540µs) by Tapper::MCP::Scheduler::Controller::BEGIN@6 at line 269 of Moose.pm, avg 275µs/call # once (5µs+568µs) by Moose::Exporter::BEGIN@13 at line 287 of Class/MOP.pm # once (7µs+449µs) by Moose::Exporter::BEGIN@13 at line 460 of Class/MOP.pm # once (9µs+347µs) by Moose::Exporter::BEGIN@13 at line 198 of Class/MOP.pm # once (5µs+305µs) by Moose::Exporter::BEGIN@13 at line 534 of Class/MOP.pm # once (5µs+290µs) by Moose::Exporter::BEGIN@13 at line 250 of Class/MOP.pm # once (5µs+277µs) by Moose::Exporter::BEGIN@13 at line 572 of Class/MOP.pm # once (4µs+265µs) by Moose::Exporter::BEGIN@13 at line 490 of Class/MOP.pm # once (5µs+260µs) by Moose::Exporter::BEGIN@13 at line 562 of Class/MOP.pm # once (4µs+258µs) by Moose::Exporter::BEGIN@13 at line 597 of Class/MOP.pm # once (5µs+258µs) by Moose::Exporter::BEGIN@13 at line 618 of Class/MOP.pm # once (5µs+241µs) by Moose::Exporter::BEGIN@13 at line 543 of Class/MOP.pm # once (8µs+8µs) by Moose::Meta::TypeCoercion::BEGIN@14 at line 31 of Moose/Meta/Attribute.pm # once (6µs+8µs) by Moose::Exporter::BEGIN@13 at line 672 of Class/MOP.pm # once (7µs+6µs) by Moose::BEGIN@28 at line 38 of Moose/Meta/Class.pm # once (5µs+6µs) by Moose::BEGIN@28 at line 44 of Moose/Meta/Class.pm # once (5µs+6µs) by Moose::Exporter::BEGIN@13 at line 479 of Class/MOP.pm # once (5µs+6µs) by Moose::Exporter::BEGIN@13 at line 291 of Class/MOP.pm # once (5µs+6µs) by Moose::Exporter::BEGIN@13 at line 497 of Class/MOP.pm # once (5µs+6µs) by Moose::Exporter::BEGIN@13 at line 601 of Class/MOP.pm # once (5µs+6µs) by Moose::Exporter::BEGIN@13 at line 581 of Class/MOP.pm # once (5µs+6µs) by Moose::Exporter::BEGIN@13 at line 223 of Class/MOP.pm # once (4µs+6µs) by Moose::Exporter::BEGIN@13 at line 511 of Class/MOP.pm # once (5µs+6µs) by Moose::Exporter::BEGIN@13 at line 649 of Class/MOP.pm # once (5µs+6µs) by Moose::Exporter::BEGIN@13 at line 270 of Class/MOP.pm # once (4µs+6µs) by Moose::BEGIN@28 at line 47 of Moose/Meta/Class.pm # once (4µs+6µs) by Moose::Exporter::BEGIN@13 at line 635 of Class/MOP.pm # once (4µs+6µs) by Moose::Exporter::BEGIN@13 at line 551 of Class/MOP.pm # once (4µs+6µs) by Moose::Exporter::BEGIN@13 at line 625 of Class/MOP.pm # once (4µs+6µs) by Moose::BEGIN@28 at line 55 of Moose/Meta/Class.pm # once (4µs+6µs) by Moose::Exporter::BEGIN@13 at line 660 of Class/MOP.pm # once (4µs+6µs) by Moose::Exporter::BEGIN@13 at line 307 of Class/MOP.pm # once (5µs+5µs) by Moose::Exporter::BEGIN@13 at line 518 of Class/MOP.pm # once (5µs+5µs) by Moose::Exporter::BEGIN@13 at line 642 of Class/MOP.pm # once (4µs+6µs) by Moose::BEGIN@28 at line 67 of Moose/Meta/Class.pm # once (5µs+5µs) by Moose::Exporter::BEGIN@13 at line 327 of Class/MOP.pm # once (4µs+6µs) by Moose::Exporter::BEGIN@13 at line 486 of Class/MOP.pm # once (4µs+6µs) by Moose::BEGIN@28 at line 61 of Moose/Meta/Class.pm # once (4µs+5µs) by Moose::Exporter::BEGIN@13 at line 338 of Class/MOP.pm # once (4µs+5µs) by Moose::Exporter::BEGIN@13 at line 504 of Class/MOP.pm # once (4µs+5µs) by Moose::Exporter::BEGIN@13 at line 317 of Class/MOP.pm # once (4µs+5µs) by Moose::Exporter::BEGIN@13 at line 675 of Class/MOP.pm # spent 11µs (6+5) within Moose::Meta::Role::Application::ToRole::meta which was called: # once (6µs+5µs) by Tapper::MCP::Scheduler::Controller::BEGIN@6 at line 233 of Moose.pm # spent 17µs within Moose::Meta::TypeConstraint::Role::role which was called 8 times, avg 2µs/call: # 4 times (11µs+0s) by Moose::Meta::TypeConstraint::Role::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Meta/TypeConstraint/Role.pm:32] at line 28 of Moose/Meta/TypeConstraint/Role.pm, avg 3µs/call # 4 times (6µs+0s) by Moose::Meta::TypeConstraint::Role::_create_hand_optimized_type_constraint at line 54 of Moose/Meta/TypeConstraint/Role.pm, avg 1µs/call # spent 55µs within Class::MOP::Method::Constructor::options which was called 30 times, avg 2µs/call: # 30 times (55µs+0s) by Class::MOP::Method::Constructor::_generate_constructor_method_inline at line 107 of Class/MOP/Method/Constructor.pm, avg 2µs/call # spent 26µs within Moose::Meta::Role::application_to_class_class which was called 4 times, avg 6µs/call: # 4 times (26µs+0s) by Moose::Meta::Role::apply at line 449 of Moose/Meta/Role.pm, avg 6µs/call # spent 7µs within Moose::Meta::Mixin::AttributeCore::_is_metadata which was called: # once (7µs+0s) by Moose::Meta::Attribute::_check_associated_methods at line 1020 of Moose/Meta/Attribute.pm # spent 402µs (374+28) within Moose::Meta::Attribute::_new which was called 8 times, avg 50µs/call: # 8 times (374µs+28µs) by Class::MOP::Attribute::new at line 58 of Class/MOP/Attribute.pm, avg 50µs/call # spent 23µs (10+13) within Moose::Meta::TypeConstraint::DuckType::meta which was called: # once (10µs+13µs) by Moose::Util::TypeConstraints::BEGIN@39 at line 22 of Moose/Meta/TypeConstraint/DuckType.pm # spent 115µs within Moose::Meta::Class::constructor_class which was called 70 times, avg 2µs/call: # 20 times (26µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 295 of Class/MOP/Class.pm, avg 1µs/call # 10 times (29µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm, avg 3µs/call # 10 times (16µs+0s) by Class::MOP::Class::_check_metaclass_compatibility at line 224 of Class/MOP/Class.pm, avg 2µs/call # 10 times (16µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm, avg 2µs/call # 10 times (14µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 290 of Class/MOP/Class.pm, avg 1µs/call # 10 times (14µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 293 of Class/MOP/Class.pm, avg 1µs/call # spent 227µs within Class::MOP::Mixin::AttributeCore::has_builder which was called 193 times, avg 1µs/call: # 190 times (222µs+0s) by Class::MOP::Class::_inline_default_value at line 667 of Class/MOP/Class.pm, avg 1µs/call # 3 times (5µs+0s) by Moose::Meta::Attribute::initialize_instance_slot at line 519 of Moose/Meta/Attribute.pm, avg 2µs/call # spent 101µs within Class::MOP::Method::Constructor::associated_metaclass which was called 90 times, avg 1µs/call: # 30 times (37µs+0s) by Class::MOP::Method::Constructor::_generate_constructor_method_inline at line 99 of Class/MOP/Method/Constructor.pm, avg 1µs/call # 30 times (33µs+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 34 of Class/MOP/Method/Inlined.pm, avg 1µs/call # 30 times (31µs+0s) by Class::MOP::Method::Constructor::_eval_environment at line 89 of Class/MOP/Method/Constructor.pm, avg 1µs/call # spent 389µs (351+39) within Moose::Meta::TypeConstraint::_new which was called 17 times, avg 23µs/call: # 17 times (351µs+39µs) by Moose::Meta::TypeConstraint::new at line 143 of Moose/Meta/TypeConstraint.pm, avg 23µs/call # spent 18µs within Moose::Meta::TypeConstraint::hand_optimized_type_constraint which was called 8 times, avg 2µs/call: # 4 times (13µs+0s) by Moose::Meta::TypeConstraint::Role::_create_hand_optimized_type_constraint at line 57 of Moose/Meta/TypeConstraint/Role.pm, avg 3µs/call # 4 times (5µs+0s) by Moose::Meta::TypeConstraint::_compile_hand_optimized_type_constraint at line 344 of Moose/Meta/TypeConstraint.pm, avg 1µs/call # spent 15µs within Moose::Meta::Role::get_override_method_modifiers_map which was called 4 times, avg 4µs/call: # 4 times (15µs+0s) by Moose::Meta::Role::get_method_modifier_list at line 390 of Moose/Meta/Role.pm, avg 4µs/call # spent 347µs within Class::MOP::Mixin::AttributeCore::has_accessor which was called 207 times, avg 2µs/call: # 207 times (347µs+0s) by Class::MOP::Attribute::install_accessors at line 424 of Class/MOP/Attribute.pm, avg 2µs/call # spent 9µs within Moose::Meta::Role::Attribute::_original_role which was called 2 times, avg 4µs/call: # 2 times (9µs+0s) by Moose::Meta::Role::Attribute::original_role at line 82 of Moose/Meta/Role/Attribute.pm, avg 4µs/call # spent 202µs (62+140) within Moose::Meta::Mixin::AttributeCore::has_trigger which was called 33 times, avg 6µs/call: # 9 times (21µs+53µs) by Moose::Meta::Attribute::_eval_environment at line 777 of Moose/Meta/Attribute.pm, avg 8µs/call # 8 times (21µs+43µs) by Moose::Meta::Attribute::_inline_get_old_value_for_trigger at line 741 of Moose/Meta/Attribute.pm, avg 8µs/call # 8 times (12µs+43µs) by Moose::Meta::Attribute::_inline_trigger at line 767 of Moose/Meta/Attribute.pm, avg 7µs/call # 8 times (9µs+0s) by Moose::Meta::Class::_call_all_triggers at line 288 of Moose/Meta/Class.pm, avg 1µs/call # spent 182µs (167+15) within Class::MOP::Instance::_class_name which was called 58 times, avg 3µs/call: # 58 times (167µs+15µs) by Class::MOP::Instance::create_instance at line 80 of Class/MOP/Instance.pm, avg 3µs/call # spent 512µs (420+92) within Moose::Meta::Role::_new which was called 4 times, avg 128µs/call: # 4 times (420µs+92µs) by Class::MOP::Package::initialize at line 35, avg 128µs/call # spent 24µs within Moose::Meta::Role::get_required_methods_map which was called 8 times, avg 3µs/call: # 4 times (15µs+0s) by Moose::Meta::Role::get_required_method_list at line 108 of Moose/Meta/Role.pm, avg 4µs/call # 4 times (10µs+0s) by Moose::Meta::Role::add_required_methods at line 272 of Moose/Meta/Role.pm, avg 2µs/call # spent 410µs (397+12) within Moose::Meta::TypeConstraint::Role::_new which was called 4 times, avg 102µs/call: # 4 times (397µs+12µs) by Moose::Meta::TypeConstraint::new at line 143 of Moose/Meta/TypeConstraint.pm, avg 102µs/call # spent 85µs (36+49) within Moose::Meta::Mixin::AttributeCore::is_required which was called 14 times, avg 6µs/call: # 8 times (26µs+49µs) by Moose::Meta::Attribute::_inline_check_required at line 650 of Moose/Meta/Attribute.pm, avg 9µs/call # 6 times (11µs+0s) by Moose::Meta::Attribute::initialize_instance_slot at line 514 of Moose/Meta/Attribute.pm, avg 2µs/call # spent 168µs (164+5) within Moose::Meta::Instance::_new which was called 9 times, avg 19µs/call: # 9 times (164µs+5µs) by Class::MOP::Instance::new at line 44 of Class/MOP/Instance.pm, avg 19µs/call # spent 236µs within Class::MOP::Method::Accessor::associated_attribute which was called 221 times, avg 1µs/call: # 56 times (58µs+0s) by Class::MOP::Method::Accessor::_generate_reader_method_inline at line 139 of Class/MOP/Method/Accessor.pm, avg 1µs/call # 53 times (55µs+0s) by Class::MOP::Method::Accessor::_generate_reader_method at line 128 of Class/MOP/Method/Accessor.pm, avg 1µs/call # 28 times (30µs+0s) by Class::MOP::Method::Accessor::_generate_accessor_method_inline at line 109 of Class/MOP/Method/Accessor.pm, avg 1µs/call # 22 times (23µs+0s) by Class::MOP::Method::Accessor::_generate_accessor_method at line 97 of Class/MOP/Method/Accessor.pm, avg 1µs/call # 16 times (17µs+0s) by Class::MOP::Method::Accessor::_generate_predicate_method_inline at line 201 of Class/MOP/Method/Accessor.pm, avg 1µs/call # 16 times (14µs+0s) by Class::MOP::Method::Accessor::_generate_predicate_method at line 192 of Class/MOP/Method/Accessor.pm, avg 894ns/call # 9 times (13µs+0s) by Moose::Meta::Method::Accessor::_eval_environment at line 52 of Moose/Meta/Method/Accessor.pm, avg 1µs/call # 8 times (12µs+0s) by Moose::Meta::Method::Accessor::_instance_is_inlinable at line 57 of Moose/Meta/Method/Accessor.pm, avg 1µs/call # 6 times (6µs+0s) by Moose::Meta::Method::Accessor::_error_thrower at line 29 of Moose/Meta/Method/Accessor.pm, avg 1µs/call # 3 times (3µs+0s) by Class::MOP::Method::Accessor::_generate_writer_method_inline at line 176 of Class/MOP/Method/Accessor.pm, avg 900ns/call # 3 times (3µs+0s) by Class::MOP::Method::Accessor::_generate_writer_method at line 167 of Class/MOP/Method/Accessor.pm, avg 867ns/call # once (2µs+0s) by Moose::Meta::Attribute::_process_accessors at line 1041 of Moose/Meta/Attribute.pm # spent 15µs within Moose::Meta::Class::_get_role_applications which was called 4 times, avg 4µs/call: # 4 times (15µs+0s) by Moose::Meta::Class::add_role_application at line 212 of Moose/Meta/Class.pm, avg 4µs/call # spent 207µs within Moose::Meta::TypeConstraint::_compiled_type_constraint which was called 48 times, avg 4µs/call: # 45 times (200µs+0s) by Moose::Meta::TypeConstraint::compile_type_constraint at line 309 of Moose/Meta/TypeConstraint.pm, avg 4µs/call # 3 times (8µs+0s) by Moose::Meta::TypeConstraint::check at line 189 of Moose/Meta/TypeConstraint.pm, avg 3µs/call # spent 81µs (35+46) within Moose::Meta::Mixin::AttributeCore::has_handles which was called 10 times, avg 8µs/call: # 10 times (35µs+46µs) by Moose::Meta::Attribute::install_accessors at line 1014 of Moose/Meta/Attribute.pm, avg 8µs/call # spent 948µs (312+636) within Class::MOP::Class::Immutable::Class::MOP::Class::_method_map which was called 87 times, avg 11µs/call: # 80 times (292µs+605µs) by Class::MOP::Mixin::HasMethods::_get_maybe_raw_method at line 134 of Class/MOP/Mixin/HasMethods.pm, avg 11µs/call # 7 times (20µs+30µs) by Class::MOP::Mixin::HasMethods::get_method at line 124 of Class/MOP/Mixin/HasMethods.pm, avg 7µs/call # spent 26µs (14+12) within Moose::Meta::Role::Application::ToInstance::meta which was called 2 times, avg 13µs/call: # once (8µs+7µs) by Moose::BEGIN@42 at line 21 of Moose/Meta/Role/Application/ToInstance.pm # once (6µs+5µs) by Tapper::MCP::Scheduler::Controller::BEGIN@6 at line 233 of Moose.pm # spent 268µs within Moose::Meta::TypeConstraint::Registry::type_constraints which was called 155 times, avg 2µs/call: # 71 times (90µs+0s) by Moose::Meta::TypeConstraint::Registry::get_type_constraint at line 45 of Moose/Meta/TypeConstraint/Registry.pm, avg 1µs/call # 50 times (123µs+0s) by Moose::Meta::TypeConstraint::Registry::has_type_constraint at line 39 of Moose/Meta/TypeConstraint/Registry.pm, avg 2µs/call # 33 times (54µs+0s) by Moose::Meta::TypeConstraint::Registry::add_type_constraint at line 56 of Moose/Meta/TypeConstraint/Registry.pm, avg 2µs/call # once (1µs+0s) by Moose::Util::TypeConstraints::list_all_type_constraints at line 64 of Moose/Util/TypeConstraints.pm # spent 99µs (47+52) within Tapper::MCP::Scheduler::Algorithm::meta which was called 3 times, avg 33µs/call: # 2 times (26µs+34µs) by MooseX::Traits::Util::new_class_with_traits at line 67 of MooseX/Traits/Util.pm, avg 30µs/call # once (21µs+18µs) by MooseX::Traits::Util::transform_trait at line 27 of MooseX/Traits/Util.pm # spent 6µs within Class::MOP::Method::associated_metaclass which was called 3 times, avg 2µs/call: # 3 times (6µs+0s) by Moose::Meta::Method::_inline_throw_error at line 42 of Moose/Meta/Method.pm, avg 2µs/call # spent 146µs (57+89) within Moose::Meta::Mixin::AttributeCore::has_type_constraint which was called 26 times, avg 6µs/call: # 9 times (26µs+51µs) by Moose::Meta::Attribute::_inline_check_constraint at line 703 of Moose/Meta/Attribute.pm, avg 8µs/call # 9 times (19µs+38µs) by Moose::Meta::Attribute::_eval_environment at line 782 of Moose/Meta/Attribute.pm, avg 6µs/call # 4 times (8µs+0s) by Moose::Meta::Attribute::_coerce_and_verify at line 1257 of Moose/Meta/Attribute.pm, avg 2µs/call # 3 times (3µs+0s) by Moose::Meta::Attribute::verify_against_type_constraint at line 1271 of Moose/Meta/Attribute.pm, avg 1µs/call # once (1µs+0s) by Moose::Meta::Attribute::_inline_init_from_default at line 910 of Moose/Meta/Attribute.pm # spent 86µs within Moose::Meta::TypeConstraint::_inline_environment which was called 46 times, avg 2µs/call: # 46 times (86µs+0s) by Moose::Meta::TypeConstraint::inline_environment at line 235 of Moose/Meta/TypeConstraint.pm, avg 2µs/call # spent 252µs within Class::MOP::Mixin::AttributeCore::has_predicate which was called 207 times, avg 1µs/call: # 207 times (252µs+0s) by Class::MOP::Attribute::install_accessors at line 436 of Class/MOP/Attribute.pm, avg 1µs/call # spent 114µs within Moose::Meta::TypeConstraint::name which was called 66 times, avg 2µs/call: # 33 times (69µs+0s) by Moose::Meta::TypeConstraint::new at line 146 of Moose/Meta/TypeConstraint.pm, avg 2µs/call # 33 times (45µs+0s) by Moose::Meta::TypeConstraint::Registry::add_type_constraint at line 56 of Moose/Meta/TypeConstraint/Registry.pm, avg 1µs/call # spent 94µs within Moose::Meta::TypeConstraint::inlined which was called 55 times, avg 2µs/call: # 55 times (94µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm, avg 2µs/call # spent 8µs within Moose::Meta::Role::Attribute::associated_role which was called 2 times, avg 4µs/call: # 2 times (8µs+0s) by Moose::Meta::Role::Attribute::original_role at line 82 of Moose/Meta/Role/Attribute.pm, avg 4µs/call # spent 57µs within Moose::Meta::Class::roles which was called 18 times, avg 3µs/call: # 11 times (28µs+0s) by Moose::Meta::Class::excludes_role at line 264 of Moose/Meta/Class.pm, avg 3µs/call # 4 times (13µs+0s) by Moose::Meta::Class::add_role at line 199 of Moose/Meta/Class.pm, avg 3µs/call # 3 times (15µs+0s) by Moose::Meta::Class::does_role at line 244 of Moose/Meta/Class.pm, avg 5µs/call # spent 111µs (56+55) within Moose::Meta::Role::meta which was called 6 times, avg 19µs/call: # 4 times (40µs+44µs) by Class::MOP::Method::Meta::wrap at line 60 of Class/MOP/Method/Meta.pm, avg 21µs/call # once (9µs+5µs) by Moose::BEGIN@36 at line 45 of Moose/Meta/Role.pm # once (7µs+5µs) by Tapper::MCP::Scheduler::Controller::BEGIN@6 at line 233 of Moose.pm # spent 34µs (19+15) within Moose::Meta::TypeConstraint::Parameterizable::meta which was called 2 times, avg 17µs/call: # once (14µs+9µs) by Moose::Meta::TypeConstraint::Parameterized::BEGIN@15 at line 19 of Moose/Meta/TypeConstraint/Parameterizable.pm # once (5µs+6µs) by Moose::Meta::TypeConstraint::Parameterized::BEGIN@15 at line 25 of Moose/Meta/TypeConstraint/Parameterizable.pm # spent 446µs (27+419) within Moose::Meta::Role::Method::Required::meta which was called 4 times, avg 111µs/call: # 2 times (10µs+11µs) by Tapper::MCP::Scheduler::Controller::BEGIN@6 at line 233 of Moose.pm, avg 10µs/call # once (9µs+401µs) by Moose::Meta::Role::BEGIN@22 at line 17 of Moose/Meta/Role/Method/Conflicting.pm # once (8µs+7µs) by Moose::Meta::Role::BEGIN@21 at line 22 of Moose/Meta/Role/Method/Required.pm # spent 4.47ms (161µs+4.31) within Moose::Meta::Method::_new which was called 12 times, avg 373µs/call: # 12 times (161µs+4.31ms) by Class::MOP::Method::wrap at line 46 of Class/MOP/Method.pm, avg 373µs/call # spent 71µs within Moose::Meta::TypeConstraint::has_message which was called 38 times, avg 2µs/call: # 33 times (60µs+0s) by Moose::Meta::TypeConstraint::new at line 146 of Moose/Meta/TypeConstraint.pm, avg 2µs/call # 5 times (11µs+0s) by Moose::Meta::Attribute::_eval_environment at line 792 of Moose/Meta/Attribute.pm, avg 2µs/call # spent 74µs within Moose::Meta::TypeConstraint::_has_compiled_type_constraint which was called 33 times, avg 2µs/call: # 33 times (74µs+0s) by Moose::Meta::TypeConstraint::new at line 144 of Moose/Meta/TypeConstraint.pm, avg 2µs/call # spent 18µs (9+9) within Moose::Meta::TypeConstraint::Role::meta which was called: # once (9µs+9µs) by Moose::Util::TypeConstraints::BEGIN@37 at line 19 of Moose/Meta/TypeConstraint/Role.pm # spent 40µs within Moose::Meta::Role::method_metaclass which was called 15 times, avg 3µs/call: # 15 times (40µs+0s) by Class::MOP::Mixin::HasMethods::wrap_method_body at line 48 of Class/MOP/Mixin/HasMethods.pm, avg 3µs/call # spent 102µs within Moose::Meta::TypeConstraint::_default_message which was called 38 times, avg 3µs/call: # 33 times (89µs+0s) by Moose::Meta::TypeConstraint::new at line 146 of Moose/Meta/TypeConstraint.pm, avg 3µs/call # 5 times (13µs+0s) by Moose::Meta::Attribute::_eval_environment at line 792 of Moose/Meta/Attribute.pm, avg 3µs/call # spent 19µs (9+10) within Moose::Meta::TypeConstraint::Class::meta which was called: # once (9µs+10µs) by Moose::Util::TypeConstraints::BEGIN@36 at line 19 of Moose/Meta/TypeConstraint/Class.pm # spent 34µs within Moose::Meta::Mixin::AttributeCore::type_constraint which was called 20 times, avg 2µs/call: # 12 times (22µs+0s) by Moose::Meta::Attribute::_inline_check_constraint at line 707 of Moose/Meta/Attribute.pm, avg 2µs/call # 5 times (7µs+0s) by Moose::Meta::Attribute::_eval_environment at line 783 of Moose/Meta/Attribute.pm, avg 1µs/call # 3 times (6µs+0s) by Moose::Meta::Attribute::verify_against_type_constraint at line 1273 of Moose/Meta/Attribute.pm, avg 2µs/call # spent 54µs within Moose::Meta::TypeConstraint::Class::class which was called 20 times, avg 3µs/call: # 20 times (54µs+0s) by Moose::Meta::TypeConstraint::Class::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Meta/TypeConstraint/Class.pm:30] at line 28 of Moose/Meta/TypeConstraint/Class.pm, avg 3µs/call # spent 45µs (26+19) within Moose::Meta::Role::Application::meta which was called 3 times, avg 15µs/call: # once (15µs+7µs) by Moose::BEGIN@38 at line 17 of Moose/Meta/Role/Application.pm # once (6µs+5µs) by Tapper::MCP::Scheduler::Controller::BEGIN@6 at line 233 of Moose.pm # once (5µs+6µs) by Moose::BEGIN@38 at line 24 of Moose/Meta/Role/Application.pm # spent 211µs (176+36) within Moose::Meta::Role::Application::ToClass::_new which was called 4 times, avg 53µs/call: # 4 times (176µs+36µs) by Moose::Meta::Role::Application::new at line 29 of Moose/Meta/Role/Application.pm, avg 53µs/call # spent 239µs within Class::MOP::Method::Accessor::accessor_type which was called 197 times, avg 1µs/call: # 197 times (239µs+0s) by Class::MOP::Method::Accessor::_initialize_body at line 83 of Class/MOP/Method/Accessor.pm, avg 1µs/call # spent 1.81ms (241µs+1.57) within Class::MOP::Class::Immutable::Class::MOP::Class::get_all_attributes which was called 53 times, avg 34µs/call: # 34 times (150µs+588µs) by Class::MOP::Class::_construct_instance at line 524 of Class/MOP/Class.pm, avg 22µs/call # 11 times (36µs+726µs) by Class::MOP::Class::_create_meta_instance at line 726 of Class/MOP/Class.pm, avg 69µs/call # 8 times (56µs+257µs) by Moose::Meta::Attribute::new at line 95 of Moose/Meta/Attribute.pm, avg 39µs/call # spent 899µs (889+10) within Moose::Meta::Role::Method::_new which was called 15 times, avg 60µs/call: # 15 times (889µs+10µs) by Class::MOP::Method::wrap at line 46 of Class/MOP/Method.pm, avg 60µs/call # spent 235µs (105+130) within Class::MOP::Class::Immutable::Class::MOP::Class::is_immutable which was called 24 times, avg 10µs/call: # 24 times (105µs+130µs) by Class::MOP::Class::_real_ref_name at line 128 of Class/MOP/Class.pm, avg 10µs/call # spent 153µs within Moose::Meta::Class::error_class which was called 77 times, avg 2µs/call: # 20 times (27µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 295 of Class/MOP/Class.pm, avg 1µs/call # 10 times (38µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm, avg 4µs/call # 10 times (19µs+0s) by Class::MOP::Class::_check_metaclass_compatibility at line 224 of Class/MOP/Class.pm, avg 2µs/call # 10 times (17µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm, avg 2µs/call # 10 times (15µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 290 of Class/MOP/Class.pm, avg 2µs/call # 10 times (13µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 293 of Class/MOP/Class.pm, avg 1µs/call # 7 times (24µs+0s) by Moose::Meta::Class::_inline_create_error at line 831 of Moose/Meta/Class.pm, avg 3µs/call # spent 278µs within Class::MOP::Mixin::AttributeCore::has_writer which was called 207 times, avg 1µs/call: # 207 times (278µs+0s) by Class::MOP::Attribute::install_accessors at line 432 of Class/MOP/Attribute.pm, avg 1µs/call # spent 11µs within Moose::Meta::Role::required_method_metaclass which was called 4 times, avg 3µs/call: # 4 times (11µs+0s) by Moose::Meta::Role::add_required_methods at line 267 of Moose/Meta/Role.pm, avg 3µs/call # spent 12µs (7+5) within Moose::Meta::TypeCoercion::Union::meta which was called: # once (7µs+5µs) by Tapper::MCP::Scheduler::Controller::BEGIN@6 at line 233 of Moose.pm # spent 47µs (22+25) within Moose::Meta::Role::Application::ToClass::meta which was called 3 times, avg 16µs/call: # once (12µs+14µs) by Moose::BEGIN@40 at line 19 of Moose/Meta/Role/Application/ToClass.pm # once (5µs+7µs) by Moose::BEGIN@40 at line 24 of Moose/Meta/Role/Application/ToClass.pm # once (6µs+5µs) by Tapper::MCP::Scheduler::Controller::BEGIN@6 at line 233 of Moose.pm # spent 17µs within Moose::Meta::Role::Method::Required::name which was called 8 times, avg 2µs/call: # 4 times (9µs+0s) by Moose::Meta::Role::Application::ToClass::check_required_methods at line 67 of Moose/Meta/Role/Application/ToClass.pm, avg 2µs/call # 4 times (8µs+0s) by Moose::Meta::Role::add_required_methods at line 272 of Moose/Meta/Role.pm, avg 2µs/call # spent 2.67ms (217µs+2.46) within Class::MOP::Mixin::meta which was called 42 times, avg 64µs/call: # 4 times (19µs+21µs) by Moose::Exporter::BEGIN@13 at line 713 of Class/MOP.pm, avg 10µs/call # once (12µs+624µs) by Moose::Exporter::BEGIN@13 at line 133 of Class/MOP.pm # once (9µs+559µs) by Moose::Meta::Role::BEGIN@19 at line 18 of Moose/Meta/Role/Attribute.pm # once (10µs+418µs) by base::import at line 14 of Moose/Meta/Mixin/AttributeCore.pm # once (5µs+314µs) by Moose::Exporter::BEGIN@13 at line 178 of Class/MOP.pm # once (5µs+295µs) by Moose::Exporter::BEGIN@13 at line 355 of Class/MOP.pm # once (6µs+25µs) by Moose::Meta::Role::BEGIN@19 at line 25 of Moose/Meta/Role/Attribute.pm # once (6µs+21µs) by Moose::Exporter::BEGIN@13 at line 433 of Class/MOP.pm # once (6µs+8µs) by Moose::Exporter::BEGIN@13 at line 137 of Class/MOP.pm # once (8µs+7µs) by Moose::Exporter::BEGIN@13 at line 666 of Class/MOP.pm # once (6µs+7µs) by base::import at line 21 of Moose/Meta/Mixin/AttributeCore.pm # once (6µs+6µs) by Tapper::MCP::Scheduler::Controller::BEGIN@6 at line 269 of Moose.pm # once (5µs+6µs) by Moose::Exporter::BEGIN@13 at line 370 of Class/MOP.pm # once (5µs+5µs) by Tapper::MCP::Scheduler::Controller::BEGIN@6 at line 233 of Moose.pm # once (5µs+6µs) by Moose::Exporter::BEGIN@13 at line 182 of Class/MOP.pm # once (5µs+6µs) by base::import at line 101 of Moose/Meta/Mixin/AttributeCore.pm # once (5µs+6µs) by Moose::Exporter::BEGIN@13 at line 394 of Class/MOP.pm # once (4µs+6µs) by Moose::Exporter::BEGIN@13 at line 150 of Class/MOP.pm # once (5µs+6µs) by base::import at line 42 of Moose/Meta/Mixin/AttributeCore.pm # once (4µs+6µs) by Moose::Meta::Role::BEGIN@19 at line 32 of Moose/Meta/Role/Attribute.pm # once (5µs+6µs) by Moose::Exporter::BEGIN@13 at line 386 of Class/MOP.pm # once (5µs+6µs) by Moose::Exporter::BEGIN@13 at line 378 of Class/MOP.pm # once (4µs+6µs) by base::import at line 92 of Moose/Meta/Mixin/AttributeCore.pm # once (4µs+6µs) by Moose::Exporter::BEGIN@13 at line 449 of Class/MOP.pm # once (4µs+6µs) by base::import at line 28 of Moose/Meta/Mixin/AttributeCore.pm # once (4µs+6µs) by base::import at line 69 of Moose/Meta/Mixin/AttributeCore.pm # once (4µs+6µs) by Moose::Exporter::BEGIN@13 at line 401 of Class/MOP.pm # once (4µs+6µs) by base::import at line 55 of Moose/Meta/Mixin/AttributeCore.pm # once (4µs+5µs) by Moose::Exporter::BEGIN@13 at line 441 of Class/MOP.pm # once (4µs+6µs) by Moose::Exporter::BEGIN@13 at line 425 of Class/MOP.pm # once (4µs+6µs) by base::import at line 84 of Moose/Meta/Mixin/AttributeCore.pm # once (4µs+6µs) by base::import at line 35 of Moose/Meta/Mixin/AttributeCore.pm # once (4µs+6µs) by base::import at line 48 of Moose/Meta/Mixin/AttributeCore.pm # once (4µs+6µs) by base::import at line 76 of Moose/Meta/Mixin/AttributeCore.pm # once (4µs+6µs) by Moose::Meta::Role::BEGIN@19 at line 39 of Moose/Meta/Role/Attribute.pm # once (4µs+5µs) by Moose::Exporter::BEGIN@13 at line 409 of Class/MOP.pm # once (4µs+5µs) by base::import at line 62 of Moose/Meta/Mixin/AttributeCore.pm # once (4µs+5µs) by Moose::Exporter::BEGIN@13 at line 417 of Class/MOP.pm # once (4µs+5µs) by Moose::Meta::Role::BEGIN@19 at line 46 of Moose/Meta/Role/Attribute.pm # spent 1.07ms within Class::MOP::Mixin::AttributeCore::has_initializer which was called 757 times, avg 1µs/call: # 376 times (584µs+0s) by Class::MOP::Attribute::_set_initial_slot_value at line 150 of Class/MOP/Attribute.pm, avg 2µs/call # 275 times (366µs+0s) by Class::MOP::Class::_inline_init_attr_from_constructor at line 634 of Class/MOP/Class.pm, avg 1µs/call # 96 times (105µs+0s) by Class::MOP::Class::_inline_init_attr_from_default at line 653 of Class/MOP/Class.pm, avg 1µs/call # 9 times (14µs+0s) by Moose::Meta::Attribute::_eval_environment at line 800 of Moose/Meta/Attribute.pm, avg 2µs/call # once (2µs+0s) by Moose::Meta::Attribute::_inline_init_slot at line 964 of Moose/Meta/Attribute.pm # spent 34µs within Moose::Meta::Role::Application::get_method_aliases which was called 15 times, avg 2µs/call: # 15 times (34µs+0s) by Moose::Meta::Role::Application::is_method_aliased at line 42 of Moose/Meta/Role/Application.pm, avg 2µs/call # spent 294µs within Class::MOP::Mixin::AttributeCore::has_reader which was called 207 times, avg 1µs/call: # 207 times (294µs+0s) by Class::MOP::Attribute::install_accessors at line 428 of Class/MOP/Attribute.pm, avg 1µs/call # spent 4.28ms (996µs+3.28) within Class::MOP::Class::Immutable::Class::MOP::Class::get_meta_instance which was called 306 times, avg 14µs/call: # 252 times (728µs+2.83ms) by Class::MOP::Attribute::_inline_instance_set at line 287 of Class/MOP/Attribute.pm, avg 14µs/call # 34 times (209µs+352µs) by Class::MOP::Class::_construct_instance at line 504 of Class/MOP/Class.pm, avg 17µs/call # 10 times (32µs+55µs) by Class::MOP::Attribute::get_raw_value at line 297 of Class/MOP/Attribute.pm, avg 9µs/call # 9 times (25µs+39µs) by Class::MOP::Attribute::has_value at line 318 of Class/MOP/Attribute.pm, avg 7µs/call # once (3µs+4µs) by Moose::Meta::Attribute::_inline_weaken_value at line 756 of Moose/Meta/Attribute.pm # spent 51µs (36+15) within Moose::Meta::Role::get_required_method_list which was called 4 times, avg 13µs/call: # 4 times (36µs+15µs) by Moose::Meta::Role::Application::ToClass::check_required_methods at line 66 of Moose/Meta/Role/Application/ToClass.pm, avg 13µs/call # spent 12µs within Moose::Meta::TypeConstraint::has_coercion which was called 5 times, avg 2µs/call: # 5 times (12µs+0s) by Moose::Meta::Attribute::_eval_environment at line 789 of Moose/Meta/Attribute.pm, avg 2µs/call # spent 14µs within Moose::Meta::TypeConstraint::parent which was called 10 times, avg 1µs/call: # 4 times (5µs+0s) by Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:66] at line 64 of Moose/Util/TypeConstraints/Builtins.pm, avg 1µs/call # 2 times (4µs+0s) by Moose::Meta::TypeConstraint::can_be_inlined at line 206 of Moose/Meta/TypeConstraint.pm, avg 2µs/call # once (2µs+0s) by Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:157] at line 152 of Moose/Util/TypeConstraints/Builtins.pm # once (2µs+0s) by Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:83] at line 78 of Moose/Util/TypeConstraints/Builtins.pm # once (1µs+0s) by Moose::Meta::TypeConstraint::inline_environment at line 231 of Moose/Meta/TypeConstraint.pm # once (1µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 221 of Moose/Meta/TypeConstraint.pm # spent 14µs within Moose::Meta::Role::get_before_method_modifiers_map which was called 4 times, avg 4µs/call: # 4 times (14µs+0s) by Moose::Meta::Role::get_method_modifier_list at line 390 of Moose/Meta/Role.pm, avg 4µs/call # spent 281µs within Moose::Meta::TypeConstraint::constraint which was called 204 times, avg 1µs/call: # 105 times (164µs+0s) by Moose::Meta::TypeConstraint::can_be_inlined at line 206 of Moose/Meta/TypeConstraint.pm, avg 2µs/call # 54 times (61µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 221 of Moose/Meta/TypeConstraint.pm, avg 1µs/call # 45 times (56µs+0s) by Moose::Meta::TypeConstraint::inline_environment at line 231 of Moose/Meta/TypeConstraint.pm, avg 1µs/call # spent 112µs within Moose::Meta::Class::destructor_class which was called 70 times, avg 2µs/call: # 20 times (25µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 295 of Class/MOP/Class.pm, avg 1µs/call # 10 times (28µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm, avg 3µs/call # 10 times (16µs+0s) by Class::MOP::Class::_check_metaclass_compatibility at line 224 of Class/MOP/Class.pm, avg 2µs/call # 10 times (16µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm, avg 2µs/call # 10 times (14µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 290 of Class/MOP/Class.pm, avg 1µs/call # 10 times (13µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 293 of Class/MOP/Class.pm, avg 1µs/call # spent 166µs (51+115) within Moose::Meta::Mixin::AttributeCore::should_coerce which was called 20 times, avg 8µs/call: # 9 times (13µs+48µs) by Moose::Meta::Attribute::_inline_check_coercion at line 681 of Moose/Meta/Attribute.pm, avg 7µs/call # 8 times (32µs+67µs) by Moose::Meta::Attribute::_writer_value_needs_copy at line 637 of Moose/Meta/Attribute.pm, avg 12µs/call # 3 times (6µs+0s) by Moose::Meta::Attribute::_coerce_and_verify at line 1259 of Moose/Meta/Attribute.pm, avg 2µs/call # spent 53µs (26+27) within Moose::Meta::Role::Composite::meta which was called 4 times, avg 13µs/call: # once (10µs+10µs) by Moose::BEGIN@37 at line 24 of Moose/Meta/Role/Composite.pm # once (5µs+6µs) by Moose::BEGIN@37 at line 37 of Moose/Meta/Role/Composite.pm # once (6µs+5µs) by Tapper::MCP::Scheduler::Controller::BEGIN@6 at line 233 of Moose.pm # once (4µs+6µs) by Moose::BEGIN@37 at line 40 of Moose/Meta/Role/Composite.pm # spent 277µs within Moose::Meta::TypeConstraint::has_parent which was called 213 times, avg 1µs/call: # 110 times (161µs+0s) by Moose::Meta::TypeConstraint::can_be_inlined at line 206 of Moose/Meta/TypeConstraint.pm, avg 1µs/call # 56 times (62µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 221 of Moose/Meta/TypeConstraint.pm, avg 1µs/call # 47 times (54µs+0s) by Moose::Meta::TypeConstraint::inline_environment at line 231 of Moose/Meta/TypeConstraint.pm, avg 1µs/call # spent 17µs (9+8) within MooseX::Traits::__ANON__::SERIAL::1::meta which was called: # once (9µs+8µs) by MooseX::Traits::new_with_traits at line 48 of MooseX/Traits.pm # spent 58µs within Class::MOP::Method::_set_original_method which was called 35 times, avg 2µs/call: # 35 times (58µs+0s) by Class::MOP::Method::clone at line 138 of Class/MOP/Method.pm, avg 2µs/call # spent 83µs (34+48) within Moose::Meta::Mixin::AttributeCore::is_weak_ref which was called 13 times, avg 6µs/call: # 9 times (27µs+48µs) by Moose::Meta::Attribute::_inline_weaken_value at line 754 of Moose/Meta/Attribute.pm, avg 8µs/call # 4 times (7µs+0s) by Moose::Meta::Attribute::initialize_instance_slot at line 535 of Moose/Meta/Attribute.pm, avg 2µs/call # spent 28µs (14+14) within Moose::Meta::TypeConstraint::Registry::meta which was called 2 times, avg 14µs/call: # once (10µs+8µs) by Moose::Util::TypeConstraints::BEGIN@42 at line 18 of Moose/Meta/TypeConstraint/Registry.pm # once (5µs+6µs) by Moose::Util::TypeConstraints::BEGIN@42 at line 28 of Moose/Meta/TypeConstraint/Registry.pm # spent 68µs (26+42) within Moose::Meta::Mixin::AttributeCore::should_auto_deref which was called 9 times, avg 8µs/call: # 9 times (26µs+42µs) by Moose::Meta::Attribute::_auto_deref at line 982 of Moose/Meta/Attribute.pm, avg 8µs/call # spent 14µs within Moose::Meta::Role::get_after_method_modifiers_map which was called 4 times, avg 3µs/call: # 4 times (14µs+0s) by Moose::Meta::Role::get_method_modifier_list at line 390 of Moose/Meta/Role.pm, avg 3µs/call # spent 8µs within Moose::Meta::Role::Attribute::original_options which was called 2 times, avg 4µs/call: # 2 times (8µs+0s) by Moose::Meta::Role::Attribute::attribute_for_class at line 91 of Moose/Meta/Role/Attribute.pm, avg 4µs/call # spent 14µs within Moose::Meta::Role::get_around_method_modifiers_map which was called 4 times, avg 3µs/call: # 4 times (14µs+0s) by Moose::Meta::Role::get_method_modifier_list at line 390 of Moose/Meta/Role.pm, avg 3µs/call
$self->_package_stash->add_symbol(@_);
# spent 4.32ms making 396 calls to Package::Stash::XS::add_symbol, avg 11µs/call # spent 491µs making 396 calls to Class::MOP::Package::_package_stash, avg 1µs/call # spent 272µs making 396 calls to Package::Stash::XS::name, avg 687ns/call
222}
223
224sub remove_package_glob {
225 my $self = shift;
226 $self->_package_stash->remove_glob(@_);
227}
228
229# ... these functions deal with stuff on the namespace level
230
231
# spent 1.42ms (647µs+775µs) within Class::MOP::Package::has_package_symbol which was called 154 times, avg 9µs/call: # 140 times (561µs+585µs) by Moose::Exporter::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Exporter.pm:137] at line 121 of Moose/Exporter.pm, avg 8µs/call # 8 times (50µs+38µs) by Moose::Meta::Attribute::_process_accessors at line 1066 of Moose/Meta/Attribute.pm, avg 11µs/call # 6 times (36µs+152µs) by Moose::Exporter::build_import_methods at line 91 of Moose/Exporter.pm, avg 31µs/call
sub has_package_symbol {
2323081.21ms my $self = shift;
233465881µs $self->_package_stash->has_symbol(@_);
# spent 551µs making 154 calls to Package::Stash::XS::has_symbol, avg 4µs/call # spent 225µs making 154 calls to Class::MOP::Package::_package_stash, avg 1µs/call # spent 103µs making 154 calls to Package::Stash::XS::namespace, avg 666ns/call # spent 3µs making 3 calls to Package::Stash::XS::name, avg 1µs/call
234}
235
236
# spent 4.60ms (2.17+2.44) within Class::MOP::Package::get_package_symbol which was called 456 times, avg 10µs/call: # 456 times (2.17ms+2.44ms) by Class::MOP::Mixin::HasMethods::_get_maybe_raw_method at line 137 of Class/MOP/Mixin/HasMethods.pm, avg 10µs/call
sub get_package_symbol {
2379123.91ms my $self = shift;
23813722.75ms $self->_package_stash->get_symbol(@_);
# spent 1.84ms making 456 calls to Package::Stash::XS::get_symbol, avg 4µs/call # spent 593µs making 456 calls to Class::MOP::Package::_package_stash, avg 1µs/call # spent 310µs making 456 calls to Package::Stash::XS::namespace, avg 679ns/call # spent 4µs making 4 calls to Package::Stash::XS::name, avg 950ns/call
239}
240
241
# spent 3.98ms (852µs+3.13) within Class::MOP::Package::get_or_add_package_symbol which was called 130 times, avg 31µs/call: # 130 times (852µs+3.13ms) by Class::MOP::Class::superclasses at line 938 of Class/MOP/Class.pm, avg 31µs/call
sub get_or_add_package_symbol {
2422602.20ms my $self = shift;
2435043.72ms $self->_package_stash->get_or_add_symbol(@_);
# spent 1.69ms making 130 calls to Class::MOP::Package::_package_stash, avg 13µs/call # spent 1.44ms making 130 calls to Package::Stash::XS::get_or_add_symbol, avg 11µs/call # spent 518µs making 130 calls to Package::Stash::XS::namespace, avg 4µs/call # spent 75µs making 114 calls to Package::Stash::XS::name, avg 660ns/call
244}
245
246sub remove_package_symbol {
247 my $self = shift;
248 $self->_package_stash->remove_symbol(@_);
249}
250
251
# spent 200µs (85+115) within Class::MOP::Package::list_all_package_symbols which was called 8 times, avg 25µs/call: # 8 times (85µs+115µs) by Class::MOP::Mixin::HasMethods::_full_method_map at line 205 of Class/MOP/Mixin/HasMethods.pm, avg 25µs/call
sub list_all_package_symbols {
25216179µs my $self = shift;
25324125µs $self->_package_stash->list_all_symbols(@_);
# spent 100µs making 8 calls to Package::Stash::XS::list_all_symbols, avg 12µs/call # spent 16µs making 8 calls to Class::MOP::Package::_package_stash, avg 2µs/call # spent 10µs making 8 calls to Package::Stash::XS::namespace, avg 1µs/call
254}
255
256
# spent 50µs (22+27) within Class::MOP::Package::get_all_package_symbols which was called: # once (22µs+27µs) by namespace::autoclean::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/namespace/autoclean.pm:57] at line 55 of namespace/autoclean.pm
sub get_all_package_symbols {
257246µs my $self = shift;
258329µs $self->_package_stash->get_all_symbols(@_);
# spent 24µs making 1 call to Package::Stash::XS::get_all_symbols # spent 4µs making 1 call to Class::MOP::Package::_package_stash # spent 2µs making 1 call to Package::Stash::XS::namespace
259}
260
26113µs1;
262
263# ABSTRACT: Package Meta Object
264
- -
267=pod
268
269=head1 NAME
270
271Class::MOP::Package - Package Meta Object
272
273=head1 VERSION
274
275version 2.0602
276
277=head1 DESCRIPTION
278
279The Package Protocol provides an abstraction of a Perl 5 package. A
280package is basically namespace, and this module provides methods for
281looking at and changing that namespace's symbol table.
282
283=head1 METHODS
284
285=over 4
286
287=item B<< Class::MOP::Package->initialize($package_name, %options) >>
288
289This method creates a new C<Class::MOP::Package> instance which
290represents specified package. If an existing metaclass object exists
291for the package, that will be returned instead. No options are valid at the
292package level.
293
294=item B<< Class::MOP::Package->reinitialize($package, %options) >>
295
296This method forcibly removes any existing metaclass for the package
297before calling C<initialize>. In contrast to C<initialize>, you may
298also pass an existing C<Class::MOP::Package> instance instead of just
299a package name as C<$package>.
300
301Do not call this unless you know what you are doing.
302
303=item B<< Class::MOP::Package->create($package, %options) >>
304
305Creates a new C<Class::MOP::Package> instance which represents the specified
306package, and also does some initialization of that package. Currently, this
307just does the same thing as C<initialize>, but is overridden in subclasses,
308such as C<Class::MOP::Class>.
309
310=item B<< Class::MOP::Package->create_anon(%options) >>
311
312Creates a new anonymous package. Valid keys for C<%options> are:
313
314=over 4
315
316=item C<weaken>
317
318If this is true (the default), the instance stored in C<Class::MOP>'s metaclass
319cache will be weakened, so that the anonymous package will be garbage collected
320when the returned instance goes out of scope.
321
322=back
323
324=item B<< $metapackage->is_anon >>
325
326Returns true if the package is an anonymous package.
327
328=item B<< $metapackage->name >>
329
330This is returns the package's name, as passed to the constructor.
331
332=item B<< $metapackage->namespace >>
333
334This returns a hash reference to the package's symbol table. The keys
335are symbol names and the values are typeglob references.
336
337=item B<< $metapackage->add_package_symbol($variable_name, $initial_value) >>
338
339This method accepts a variable name and an optional initial value. The
340C<$variable_name> must contain a leading sigil.
341
342This method creates the variable in the package's symbol table, and
343sets it to the initial value if one was provided.
344
345=item B<< $metapackage->get_package_symbol($variable_name) >>
346
347Given a variable name, this method returns the variable as a reference
348or undef if it does not exist. The C<$variable_name> must contain a
349leading sigil.
350
351=item B<< $metapackage->get_or_add_package_symbol($variable_name) >>
352
353Given a variable name, this method returns the variable as a reference.
354If it does not exist, a default value will be generated if possible. The
355C<$variable_name> must contain a leading sigil.
356
357=item B<< $metapackage->has_package_symbol($variable_name) >>
358
359Returns true if there is a package variable defined for
360C<$variable_name>. The C<$variable_name> must contain a leading sigil.
361
362=item B<< $metapackage->remove_package_symbol($variable_name) >>
363
364This will remove the package variable specified C<$variable_name>. The
365C<$variable_name> must contain a leading sigil.
366
367=item B<< $metapackage->remove_package_glob($glob_name) >>
368
369Given the name of a glob, this will remove that glob from the
370package's symbol table. Glob names do not include a sigil. Removing
371the glob removes all variables and subroutines with the specified
372name.
373
374=item B<< $metapackage->list_all_package_symbols($type_filter) >>
375
376This will list all the glob names associated with the current
377package. These names do not have leading sigils.
378
379You can provide an optional type filter, which should be one of
380'SCALAR', 'ARRAY', 'HASH', or 'CODE'.
381
382=item B<< $metapackage->get_all_package_symbols($type_filter) >>
383
384This works much like C<list_all_package_symbols>, but it returns a
385hash reference. The keys are glob names and the values are references
386to the value for that name.
387
388=item B<< Class::MOP::Package->meta >>
389
390This will return a L<Class::MOP::Class> instance for this class.
391
392=back
393
394=head1 AUTHOR
395
396Moose is maintained by the Moose Cabal, along with the help of many contributors. See L<Moose/CABAL> and L<Moose/CONTRIBUTORS> for details.
397
398=head1 COPYRIGHT AND LICENSE
399
400This software is copyright (c) 2012 by Infinity Interactive, Inc..
401
402This is free software; you can redistribute it and/or modify it under
403the same terms as the Perl 5 programming language system itself.
404
405=cut
406
407
408__END__
 
# spent 873µs within Class::MOP::Attribute::associated_class which was called 1631 times, avg 535ns/call: # 403 times (205µs+0s) by Class::MOP::Attribute::_inline_instance_set at line 287 of Class/MOP/Attribute.pm, avg 508ns/call # 394 times (185µs+0s) by Class::MOP::Attribute::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Class/MOP/Attribute.pm:398] at line 389 of Class/MOP/Attribute.pm, avg 469ns/call # 254 times (135µs+0s) by Class::MOP::Attribute::_accessor_description at line 411 of Class/MOP/Attribute.pm, avg 532ns/call # 207 times (153µs+0s) by Class::MOP::Attribute::install_accessors at line 422 of Class/MOP/Attribute.pm, avg 742ns/call # 114 times (52µs+0s) by Class::MOP::Attribute::_process_accessors at line 372 of Class/MOP/Attribute.pm, avg 460ns/call # 95 times (50µs+0s) by Class::MOP::Attribute::_process_accessors at line 384 of Class/MOP/Attribute.pm, avg 522ns/call # 84 times (44µs+0s) by Class::MOP::Attribute::_inline_instance_get at line 310 of Class/MOP/Attribute.pm, avg 526ns/call # 17 times (11µs+0s) by Moose::Meta::Attribute::_process_accessors at line 1066 of Moose/Meta/Attribute.pm, avg 647ns/call # 17 times (9µs+0s) by Class::MOP::Attribute::_inline_instance_has at line 331 of Class/MOP/Attribute.pm, avg 529ns/call # 9 times (6µs+0s) by Moose::Meta::Attribute::_eval_environment at line 805 of Moose/Meta/Attribute.pm, avg 689ns/call # 9 times (6µs+0s) by Moose::Meta::Attribute::_error_thrower at line 53 of Moose/Meta/Attribute.pm, avg 633ns/call # 9 times (5µs+0s) by Moose::Meta::Attribute::_process_accessors at line 1039 of Moose/Meta/Attribute.pm, avg 567ns/call # 9 times (5µs+0s) by Moose::Meta::Attribute::_inline_throw_error at line 74 of Moose/Meta/Attribute.pm, avg 533ns/call # 8 times (5µs+0s) by Moose::Meta::Method::Accessor::_instance_is_inlinable at line 57 of Moose/Meta/Method/Accessor.pm, avg 650ns/call # 2 times (1µs+0s) by Moose::Meta::Attribute::_inline_weaken_value at line 756 of Moose/Meta/Attribute.pm, avg 600ns/call
sub Class::MOP::Attribute::associated_class; # xsub
# spent 13µs within Class::MOP::Attribute::associated_methods which was called 8 times, avg 2µs/call: # 8 times (13µs+0s) by Moose::Meta::Attribute::_check_associated_methods at line 1020 of Moose/Meta/Attribute.pm, avg 2µs/call
sub Class::MOP::Attribute::associated_methods; # xsub
# spent 107µs within Class::MOP::Class::constructor_class which was called 171 times, avg 623ns/call: # 52 times (39µs+0s) by Class::MOP::Class::_immutable_options at line 1268 of Class/MOP/Class.pm, avg 742ns/call # 43 times (29µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm, avg 681ns/call # 43 times (22µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm, avg 523ns/call # 33 times (16µs+0s) by List::MoreUtils::all at line 214 of Class/MOP/Class.pm, avg 491ns/call
sub Class::MOP::Class::constructor_class; # xsub
# spent 44µs within Class::MOP::Class::constructor_name which was called 53 times, avg 830ns/call: # 52 times (43µs+0s) by Class::MOP::Class::_immutable_options at line 1268 of Class/MOP/Class.pm, avg 821ns/call # once (1µs+0s) by MooseX::Traits::new_with_traits at line 48 of MooseX/Traits.pm
sub Class::MOP::Class::constructor_name; # xsub
# spent 108µs within Class::MOP::Class::destructor_class which was called 171 times, avg 630ns/call: # 52 times (40µs+0s) by Class::MOP::Class::_immutable_options at line 1268 of Class/MOP/Class.pm, avg 762ns/call # 43 times (28µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm, avg 660ns/call # 43 times (25µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm, avg 570ns/call # 33 times (15µs+0s) by List::MoreUtils::all at line 214 of Class/MOP/Class.pm, avg 464ns/call
sub Class::MOP::Class::destructor_class; # xsub
# spent 89µs within Class::MOP::Class::immutable_trait which was called 104 times, avg 859ns/call: # 52 times (45µs+0s) by Class::MOP::Class::_immutable_options at line 1268 of Class/MOP/Class.pm, avg 867ns/call # 52 times (44µs+0s) by Class::MOP::Class::_immutable_metaclass at line 1327 of Class/MOP/Class.pm, avg 850ns/call
sub Class::MOP::Class::immutable_trait; # xsub
# spent 232µs within Class::MOP::Class::instance_metaclass which was called 348 times, avg 668ns/call: # 95 times (58µs+0s) by Class::MOP::Attribute::_process_accessors at line 384 of Class/MOP/Attribute.pm, avg 609ns/call # 56 times (41µs+0s) by Class::MOP::Class::_create_meta_instance at line 726 of Class/MOP/Class.pm, avg 727ns/call # 53 times (43µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm, avg 808ns/call # 53 times (37µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm, avg 698ns/call # 33 times (16µs+0s) by List::MoreUtils::all at line 214 of Class/MOP/Class.pm, avg 494ns/call # 20 times (11µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 295 of Class/MOP/Class.pm, avg 555ns/call # 10 times (7µs+0s) by Class::MOP::Class::_check_metaclass_compatibility at line 224 of Class/MOP/Class.pm, avg 730ns/call # 10 times (7µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 290 of Class/MOP/Class.pm, avg 680ns/call # 10 times (6µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 293 of Class/MOP/Class.pm, avg 580ns/call # 8 times (7µs+0s) by Moose::Meta::Method::Accessor::_instance_is_inlinable at line 57 of Moose/Meta/Method/Accessor.pm, avg 837ns/call
sub Class::MOP::Class::instance_metaclass; # xsub
# spent 10µs within Class::MOP::Instance::associated_metaclass which was called 9 times, avg 1µs/call: # 9 times (10µs+0s) by Class::MOP::Instance::_class_name at line 76 of Class/MOP/Instance.pm, avg 1µs/call
sub Class::MOP::Instance::associated_metaclass; # xsub
# spent 95µs within Class::MOP::Method::Generated::definition_context which was called 133 times, avg 714ns/call: # 133 times (95µs+0s) by Class::MOP::Method::Generated::_generate_description at line 30 of Class/MOP/Method/Generated.pm, avg 714ns/call
sub Class::MOP::Method::Generated::definition_context; # xsub
# spent 182µs within Class::MOP::Method::Generated::is_inline which was called 227 times, avg 804ns/call: # 197 times (156µs+0s) by Class::MOP::Method::Accessor::_initialize_body at line 83 of Class/MOP/Method/Accessor.pm, avg 791ns/call # 30 times (27µs+0s) by Class::MOP::Method::Constructor::_initialize_body at line 82 of Class/MOP/Method/Constructor.pm, avg 883ns/call
sub Class::MOP::Method::Generated::is_inline; # xsub
# spent 38µs within Class::MOP::Method::Inlined::_expected_method_class which was called 30 times, avg 1µs/call: # 30 times (38µs+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 53 of Class/MOP/Method/Inlined.pm, avg 1µs/call
sub Class::MOP::Method::Inlined::_expected_method_class; # xsub
# spent 332µs within Class::MOP::Method::body which was called 489 times, avg 679ns/call: # 367 times (249µs+0s) by Class::MOP::Mixin::HasMethods::add_method at line 63 of Class/MOP/Mixin/HasMethods.pm, avg 680ns/call # 46 times (22µs+0s) by Class::MOP::Method::Wrapped::wrap at line 79 of Class/MOP/Method/Wrapped.pm, avg 474ns/call # 25 times (28µs+0s) by Class::MOP::Mixin::HasMethods::_method_map at line 134 of Class/MOP/Mixin/HasMethods.pm, avg 1µs/call # 23 times (16µs+0s) by Class::MOP::MiniTrait::apply at line 25 of Class/MOP/MiniTrait.pm, avg 683ns/call # 23 times (14µs+0s) by Class::MOP::Mixin::HasMethods::_method_map at line 79 of Class/MOP/Mixin/HasMethods.pm, avg 591ns/call # 5 times (3µs+0s) by Class::MOP::Mixin::HasMethods::_method_map at line 90 of Class/MOP/Class/Immutable/Trait.pm, avg 620ns/call
sub Class::MOP::Method::body; # xsub
# spent 108µs within Class::MOP::Method::name which was called 146 times, avg 741ns/call: # 61 times (36µs+0s) by Class::MOP::Class::get_all_methods at line 1136 of Class/MOP/Class.pm, avg 587ns/call # 33 times (19µs+0s) by Class::MOP::MiniTrait::apply at line 23 of Class/MOP/MiniTrait.pm, avg 582ns/call # 30 times (33µs+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 40 of Class/MOP/Method/Inlined.pm, avg 1µs/call # 19 times (18µs+0s) by Moose::Meta::Role::Application::ToClass::apply_methods at line 163 of Moose/Meta/Role/Application/ToClass.pm, avg 942ns/call # 3 times (2µs+0s) by Moose::Meta::Method::_inline_throw_error at line 45 of Moose/Meta/Method.pm, avg 767ns/call
sub Class::MOP::Method::name; # xsub
# spent 274µs within Class::MOP::Method::package_name which was called 428 times, avg 640ns/call: # 367 times (243µs+0s) by Class::MOP::Mixin::HasMethods::add_method at line 64 of Class/MOP/Mixin/HasMethods.pm, avg 663ns/call # 61 times (31µs+0s) by Class::MOP::MiniTrait::apply at line 22 of Class/MOP/MiniTrait.pm, avg 503ns/call
sub Class::MOP::Method::package_name; # xsub
# spent 45µs within Class::MOP::Mixin::AttributeCore::accessor which was called 51 times, avg 875ns/call: # 51 times (45µs+0s) by Class::MOP::Attribute::install_accessors at line 424 of Class/MOP/Attribute.pm, avg 875ns/call
sub Class::MOP::Mixin::AttributeCore::accessor; # xsub
# spent 190µs within Class::MOP::Mixin::AttributeCore::definition_context which was called 254 times, avg 750ns/call: # 254 times (190µs+0s) by Class::MOP::Attribute::_process_accessors at line 363 of Class/MOP/Attribute.pm, avg 750ns/call
sub Class::MOP::Mixin::AttributeCore::definition_context; # xsub
# spent 614µs within Class::MOP::Mixin::AttributeCore::init_arg which was called 821 times, avg 748ns/call: # 286 times (253µs+0s) by Class::MOP::Class::_inline_slot_initializer at line 599 of Class/MOP/Class.pm, avg 884ns/call # 275 times (130µs+0s) by Class::MOP::Class::_inline_init_attr_from_constructor at line 630 of Class/MOP/Class.pm, avg 472ns/call # 252 times (224µs+0s) by Moose::Meta::Attribute::new at line 94 of Moose/Meta/Attribute.pm, avg 888ns/call # 8 times (8µs+0s) by Moose::Meta::Attribute::initialize_instance_slot at line 501 of Moose/Meta/Attribute.pm, avg 975ns/call
sub Class::MOP::Mixin::AttributeCore::init_arg; # xsub
# spent 2.37ms within Class::MOP::Mixin::AttributeCore::name which was called 4832 times, avg 490ns/call: # 1486 times (634µs+0s) by Class::MOP::Class::CORE:sort at line 591 of Class/MOP/Class.pm, avg 426ns/call # 1486 times (595µs+0s) by Class::MOP::Class::CORE:sort at line 708 of Class/MOP/Class.pm, avg 400ns/call # 442 times (261µs+0s) by Class::MOP::Attribute::slots at line 234 of Class/MOP/Attribute.pm, avg 591ns/call # 403 times (231µs+0s) by Class::MOP::Attribute::_inline_instance_set at line 288 of Class/MOP/Attribute.pm, avg 574ns/call # 376 times (277µs+0s) by Class::MOP::Attribute::_set_initial_slot_value at line 148 of Class/MOP/Attribute.pm, avg 738ns/call # 360 times (176µs+0s) by Class::MOP::Attribute::_accessor_description at line 412 of Class/MOP/Attribute.pm, avg 489ns/call # 133 times (99µs+0s) by Class::MOP::Mixin::HasAttributes::add_attribute at line 29 of Class/MOP/Mixin/HasAttributes.pm, avg 747ns/call # 84 times (50µs+0s) by Class::MOP::Attribute::_inline_instance_get at line 311 of Class/MOP/Attribute.pm, avg 596ns/call # 17 times (10µs+0s) by Class::MOP::Attribute::_inline_instance_has at line 332 of Class/MOP/Attribute.pm, avg 588ns/call # 12 times (9µs+0s) by Class::MOP::Attribute::has_value at line 319 of Class/MOP/Attribute.pm, avg 792ns/call # 12 times (9µs+0s) by Class::MOP::Attribute::get_raw_value at line 298 of Class/MOP/Attribute.pm, avg 767ns/call # 9 times (5µs+0s) by Moose::Meta::Attribute::_inline_throw_error at line 77 of Moose/Meta/Attribute.pm, avg 522ns/call # 6 times (4µs+0s) by Moose::Meta::Attribute::_inline_check_constraint at line 705 of Moose/Meta/Attribute.pm, avg 633ns/call # 2 times (3µs+0s) by Moose::Meta::Role::Attribute::attribute_for_class at line 91 of Moose/Meta/Role/Attribute.pm, avg 2µs/call # 2 times (1µs+0s) by Moose::Meta::Attribute::_inline_weaken_value at line 758 of Moose/Meta/Attribute.pm, avg 550ns/call # 2 times (1µs+0s) by Moose::Meta::Attribute::_process_accessors at line 1041 of Moose/Meta/Attribute.pm, avg 500ns/call
sub Class::MOP::Mixin::AttributeCore::name; # xsub
# spent 33µs within Class::MOP::Mixin::AttributeCore::predicate which was called 42 times, avg 783ns/call: # 42 times (33µs+0s) by Class::MOP::Attribute::install_accessors at line 436 of Class/MOP/Attribute.pm, avg 783ns/call
sub Class::MOP::Mixin::AttributeCore::predicate; # xsub
# spent 115µs within Class::MOP::Mixin::AttributeCore::reader which was called 153 times, avg 752ns/call: # 153 times (115µs+0s) by Class::MOP::Attribute::install_accessors at line 428 of Class/MOP/Attribute.pm, avg 752ns/call
sub Class::MOP::Mixin::AttributeCore::reader; # xsub
# spent 6µs within Class::MOP::Mixin::AttributeCore::writer which was called 8 times, avg 788ns/call: # 8 times (6µs+0s) by Class::MOP::Attribute::install_accessors at line 432 of Class/MOP/Attribute.pm, avg 788ns/call
sub Class::MOP::Mixin::AttributeCore::writer; # xsub
# spent 770µs within Class::MOP::Mixin::HasAttributes::_attribute_map which was called 1170 times, avg 658ns/call: # 548 times (392µs+0s) by Class::MOP::Class::get_all_attributes at line 928 of Class/MOP/Class.pm, avg 716ns/call # 188 times (138µs+0s) by Class::MOP::Mixin::HasAttributes::has_attribute at line 56 of Class/MOP/Mixin/HasAttributes.pm, avg 734ns/call # 133 times (70µs+0s) by Class::MOP::Mixin::HasAttributes::add_attribute at line 34 of Class/MOP/Mixin/HasAttributes.pm, avg 526ns/call # 133 times (67µs+0s) by Class::MOP::Mixin::HasAttributes::add_attribute at line 37 of Class/MOP/Mixin/HasAttributes.pm, avg 502ns/call # 131 times (76µs+0s) by Class::MOP::Mixin::HasAttributes::get_attribute at line 65 of Class/MOP/Mixin/HasAttributes.pm, avg 581ns/call # 37 times (27µs+0s) by Class::MOP::Mixin::HasAttributes::get_attribute_list at line 84 of Class/MOP/Mixin/HasAttributes.pm, avg 735ns/call
sub Class::MOP::Mixin::HasAttributes::_attribute_map; # xsub
# spent 194µs within Class::MOP::Mixin::HasAttributes::attribute_metaclass which was called 271 times, avg 718ns/call: # 76 times (65µs+0s) by Class::MOP::Mixin::HasAttributes::add_attribute at line 20 of Class/MOP/Mixin/HasAttributes.pm, avg 851ns/call # 53 times (45µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm, avg 853ns/call # 53 times (30µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm, avg 570ns/call # 33 times (17µs+0s) by List::MoreUtils::all at line 214 of Class/MOP/Class.pm, avg 503ns/call # 20 times (10µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 295 of Class/MOP/Class.pm, avg 515ns/call # 10 times (7µs+0s) by Class::MOP::Class::_check_metaclass_compatibility at line 224 of Class/MOP/Class.pm, avg 730ns/call # 10 times (7µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 290 of Class/MOP/Class.pm, avg 670ns/call # 10 times (6µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 293 of Class/MOP/Class.pm, avg 600ns/call # 6 times (7µs+0s) by Moose::Meta::Class::_process_new_attribute at line 704 of Moose/Meta/Class.pm, avg 1µs/call
sub Class::MOP::Mixin::HasAttributes::attribute_metaclass; # xsub
# spent 3.13ms (3.08+45µs) within Class::MOP::Mixin::HasMethods::_method_map which was called 945 times, avg 3µs/call: # 450 times (1.49ms+28µs) by Class::MOP::Mixin::HasMethods::_get_maybe_raw_method at line 134 of Class/MOP/Mixin/HasMethods.pm, avg 3µs/call # 390 times (1.33ms+14µs) by Class::MOP::Mixin::HasMethods::add_method at line 79 of Class/MOP/Mixin/HasMethods.pm, avg 3µs/call # 59 times (101µs+0s) by Class::MOP::Mixin::HasMethods::get_method at line 124 of Class/MOP/Mixin/HasMethods.pm, avg 2µs/call # 19 times (41µs+0s) by Class::MOP::Mixin::HasMethods::_full_method_map at line 209 of Class/MOP/Mixin/HasMethods.pm, avg 2µs/call # 17 times (100µs+3µs) by Class::MOP::Class:::around at line 90 of Class/MOP/Class/Immutable/Trait.pm, avg 6µs/call # 10 times (11µs+0s) by Class::MOP::Mixin::HasMethods::has_method at line 110 of Class/MOP/Mixin/HasMethods.pm, avg 1µs/call
sub Class::MOP::Mixin::HasMethods::_method_map; # xsub
# spent 150µs within Class::MOP::Mixin::HasMethods::method_metaclass which was called 240 times, avg 624ns/call: # 53 times (39µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm, avg 732ns/call # 53 times (33µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm, avg 621ns/call # 51 times (31µs+0s) by Class::MOP::Mixin::HasMethods::wrap_method_body at line 48 of Class/MOP/Mixin/HasMethods.pm, avg 614ns/call # 33 times (16µs+0s) by List::MoreUtils::all at line 214 of Class/MOP/Class.pm, avg 491ns/call # 20 times (11µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 295 of Class/MOP/Class.pm, avg 550ns/call # 10 times (7µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 290 of Class/MOP/Class.pm, avg 690ns/call # 10 times (7µs+0s) by Class::MOP::Class::_check_metaclass_compatibility at line 224 of Class/MOP/Class.pm, avg 690ns/call # 10 times (6µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 293 of Class/MOP/Class.pm, avg 570ns/call
sub Class::MOP::Mixin::HasMethods::method_metaclass; # xsub
# spent 172µs within Class::MOP::Mixin::HasMethods::wrapped_method_metaclass which was called 212 times, avg 811ns/call: # 53 times (46µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm, avg 872ns/call # 53 times (36µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm, avg 675ns/call # 33 times (44µs+0s) by List::MoreUtils::all at line 214 of Class/MOP/Class.pm, avg 1µs/call # 23 times (15µs+0s) by Class::MOP::Class::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Class/MOP/Class.pm:1072] at line 1045 of Class/MOP/Class.pm, avg 639ns/call # 20 times (11µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 295 of Class/MOP/Class.pm, avg 550ns/call # 10 times (8µs+0s) by Class::MOP::Class::_check_metaclass_compatibility at line 224 of Class/MOP/Class.pm, avg 770ns/call # 10 times (7µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 290 of Class/MOP/Class.pm, avg 710ns/call # 10 times (6µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 293 of Class/MOP/Class.pm, avg 570ns/call
sub Class::MOP::Mixin::HasMethods::wrapped_method_metaclass; # xsub
# spent 1.34ms within Class::MOP::Package::name which was called 2241 times, avg 596ns/call: # 390 times (240µs+0s) by Class::MOP::Mixin::HasMethods::add_method at line 59 of Class/MOP/Mixin/HasMethods.pm, avg 616ns/call # 390 times (202µs+0s) by Class::MOP::Mixin::HasMethods::update_package_cache_flag at line 194 of Class/MOP/Mixin/HasMethods.pm, avg 519ns/call # 288 times (157µs+0s) by Class::MOP::Class::linearized_isa at line 999 of Class/MOP/Class.pm, avg 546ns/call # 254 times (145µs+0s) by Class::MOP::Attribute::_accessor_description at line 411 of Class/MOP/Attribute.pm, avg 572ns/call # 197 times (89µs+0s) by Class::MOP::Attribute::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Class/MOP/Attribute.pm:398] at line 389 of Class/MOP/Attribute.pm, avg 451ns/call # 125 times (73µs+0s) by Class::MOP::Mixin::HasMethods::_code_is_mine at line 97 of Class/MOP/Mixin/HasMethods.pm, avg 582ns/call # 80 times (72µs+0s) by Class::MOP::Package::_package_stash at line 209, avg 894ns/call # 66 times (36µs+0s) by Class::MOP::Mixin::HasMethods::wrap_method_body at line 48 of Class/MOP/Mixin/HasMethods.pm, avg 552ns/call # 60 times (33µs+0s) by Class::MOP::Class::_inline_constructor at line 1438 of Class/MOP/Class.pm, avg 558ns/call # 58 times (42µs+0s) by Class::MOP::Class::_construct_instance at line 527 of Class/MOP/Class.pm, avg 724ns/call # 57 times (24µs+0s) by Class::MOP::Attribute::_process_accessors at line 372 of Class/MOP/Attribute.pm, avg 416ns/call # 49 times (36µs+0s) by Class::MOP::Class::new_object at line 496 of Class/MOP/Class.pm, avg 739ns/call # 35 times (21µs+0s) by Class::MOP::Mixin::HasMethods::_add_meta_method at line 33 of Class/MOP/Mixin/HasMethods.pm, avg 609ns/call # 30 times (29µs+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 35 of Class/MOP/Method/Inlined.pm, avg 977ns/call # 30 times (17µs+0s) by Class::MOP::Class::_inline_preserve_weak_metaclasses at line 691 of Class/MOP/Class.pm, avg 567ns/call # 30 times (17µs+0s) by Class::MOP::Class::_inline_fallback_constructor at line 553 of Class/MOP/Class.pm, avg 560ns/call # 23 times (14µs+0s) by Class::MOP::Class::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Class/MOP/Class.pm:1072] at line 1058 of Class/MOP/Class.pm, avg 613ns/call # 19 times (17µs+0s) by Class::MOP::Mixin::HasMethods::_full_method_map at line 200 of Class/MOP/Mixin/HasMethods.pm, avg 895ns/call # 17 times (26µs+0s) by Class::MOP::Class::class_precedence_list at line 1004 of Class/MOP/Class.pm, avg 2µs/call # 11 times (11µs+0s) by Class::MOP::Class::superclasses at line 948 of Class/MOP/Class.pm, avg 982ns/call # 9 times (5µs+0s) by Moose::Meta::Attribute::_inline_throw_error at line 76 of Moose/Meta/Attribute.pm, avg 567ns/call # 9 times (5µs+0s) by Class::MOP::Instance::_class_name at line 76 of Class/MOP/Instance.pm, avg 567ns/call # 4 times (10µs+0s) by Moose::Meta::Role::Application::ToClass::check_role_exclusions at line 44 of Moose/Meta/Role/Application/ToClass.pm, avg 2µs/call # 3 times (5µs+0s) by Moose::Meta::Role::does_role at line 428 of Moose/Meta/Role.pm, avg 2µs/call # 3 times (2µs+0s) by Moose::Meta::Method::_inline_throw_error at line 44 of Moose/Meta/Method.pm, avg 667ns/call # 2 times (2µs+0s) by Class::MOP::Module::_instantiate_module at line 81 of Class/MOP/Module.pm, avg 1µs/call # once (2µs+0s) by MooseX::Traits::Util::new_class_with_traits at line 67 of MooseX/Traits/Util.pm # once (800ns+0s) by MooseX::Traits::with_traits at line 29 of MooseX/Traits.pm
sub Class::MOP::Package::name; # xsub
# spent 6µs within Moose::Meta::Role::CORE:match which was called 2 times, avg 3µs/call: # 2 times (6µs+0s) by Moose::Meta::Role::add_attribute at line 245 of Moose/Meta/Role.pm, avg 3µs/call
sub Moose::Meta::Role::CORE:match; # opcode