← Index
NYTProf Performance Profile   « line view »
For fastest.pl
  Run on Fri Jan 31 20:48:16 2014
Reported on Fri Jan 31 20:49:40 2014

Filename/opt/perl-5.18.1/lib/site_perl/5.18.1/darwin-thread-multi-2level/Class/MOP/Package.pm
StatementsExecuted 3093 statements in 30.0ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
522118.89ms11.6msClass::MOP::Package::::get_package_symbol Class::MOP::Package::get_package_symbol
390227.20ms13.6msClass::MOP::Package::::add_package_symbol Class::MOP::Package::add_package_symbol
867622.48ms2.50msClass::MOP::Mixin::HasMethods::::_method_map Class::MOP::Mixin::HasMethods::_method_map (xsub)
46281652.13ms2.13msClass::MOP::Mixin::AttributeCore::::name Class::MOP::Mixin::AttributeCore::name (xsub)
1012511.70ms2.20msClass::MOP::Package::::_package_stash Class::MOP::Package::_package_stash
214125101.39ms1.39msClass::MOP::Package::::name Class::MOP::Package::name (xsub)
1554153909µs909µsClass::MOP::Attribute::::associated_class Class::MOP::Attribute::associated_class (xsub)
29453899µs4.29msClass::MOP::Class::Immutable::Class::MOP::Class::::get_meta_instance Class::MOP::Class::Immutable::Class::MOP::Class::get_meta_instance
154496873µs8.79msClass::MOP::Object::::meta Class::MOP::Object::meta
54064720µs720µsClass::MOP::Mixin::AttributeCore::::has_initializer Class::MOP::Mixin::AttributeCore::has_initializer
24121714µs2.04msClass::MOP::Class::Immutable::Class::MOP::Class::::_method_map Class::MOP::Class::Immutable::Class::MOP::Class::_method_map
105262654µs654µsClass::MOP::Mixin::HasAttributes::::_attribute_map Class::MOP::Mixin::HasAttributes::_attribute_map (xsub)
7842558µs4.64msClass::MOP::Class::::superclasses Class::MOP::Class::superclasses (recurses: max depth 1, inclusive time 104µs)
7811432µs2.33msClass::MOP::Package::::get_or_add_package_symbol Class::MOP::Package::get_or_add_package_symbol
111431µs1.96msClass::MOP::Package::::BEGIN@15 Class::MOP::Package::BEGIN@15
1711390µs422µsMoose::Meta::TypeConstraint::::_new Moose::Meta::TypeConstraint::_new
29022365µs365µsClass::MOP::Mixin::AttributeCore::::has_default Class::MOP::Mixin::AttributeCore::has_default
62053342µs342µsClass::MOP::Mixin::AttributeCore::::init_arg Class::MOP::Mixin::AttributeCore::init_arg (xsub)
20011327µs327µsClass::MOP::Mixin::AttributeCore::::has_accessor Class::MOP::Mixin::AttributeCore::has_accessor
20011326µs326µsClass::MOP::Mixin::AttributeCore::::has_writer Class::MOP::Mixin::AttributeCore::has_writer
53175315µs315µsClass::MOP::Method::::body Class::MOP::Method::body (xsub)
20011277µs277µsClass::MOP::Mixin::AttributeCore::::has_reader Class::MOP::Mixin::AttributeCore::has_reader
42394276µs2.91msClass::MOP::Mixin::::meta Class::MOP::Mixin::meta
45322247µs247µsClass::MOP::Method::::package_name Class::MOP::Method::package_name (xsub)
20011246µs246µsClass::MOP::Mixin::AttributeCore::::has_clearer Class::MOP::Mixin::AttributeCore::has_clearer
20011240µs240µsClass::MOP::Mixin::AttributeCore::::has_predicate Class::MOP::Mixin::AttributeCore::has_predicate
19111230µs230µsClass::MOP::Method::Accessor::::accessor_type Class::MOP::Method::Accessor::accessor_type
19111229µs229µsClass::MOP::Mixin::AttributeCore::::has_builder Class::MOP::Mixin::AttributeCore::has_builder
411221µs232µsMoose::Meta::TypeConstraint::Class::::_new Moose::Meta::TypeConstraint::Class::_new
201123220µs220µsClass::MOP::Method::Accessor::::associated_attribute Class::MOP::Method::Accessor::associated_attribute
6521205µs764µsClass::MOP::Class::Immutable::Class::MOP::Class::::linearized_isa Class::MOP::Class::Immutable::Class::MOP::Class::linearized_isa
15431183µs183µsMoose::Meta::TypeConstraint::::has_parent Moose::Meta::TypeConstraint::has_parent
12411182µs182µsClass::MOP::Mixin::AttributeCore::::_set_insertion_order Class::MOP::Mixin::AttributeCore::_set_insertion_order
14531178µs178µsMoose::Meta::TypeConstraint::::constraint Moose::Meta::TypeConstraint::constraint
411178µs186µsMoose::Meta::TypeConstraint::Parameterizable::::_new Moose::Meta::TypeConstraint::Parameterizable::_new
24811160µs160µsClass::MOP::Mixin::AttributeCore::::definition_context Class::MOP::Mixin::AttributeCore::definition_context (xsub)
10742159µs159µsMoose::Meta::TypeConstraint::Registry::::type_constraints Moose::Meta::TypeConstraint::Registry::type_constraints
277103159µs159µsClass::MOP::Class::::instance_metaclass Class::MOP::Class::instance_metaclass (xsub)
22122150µs150µsClass::MOP::Method::Generated::::is_inline Class::MOP::Method::Generated::is_inline (xsub)
20793144µs144µsClass::MOP::Mixin::HasAttributes::::attribute_metaclass Class::MOP::Mixin::HasAttributes::attribute_metaclass (xsub)
3022136µs136µsMoose::Meta::TypeConstraint::::_compiled_type_constraint Moose::Meta::TypeConstraint::_compiled_type_constraint
511133µs493µsMoose::Meta::Method::::_new Moose::Meta::Method::_new
19782123µs123µsClass::MOP::Mixin::HasMethods::::method_metaclass Class::MOP::Mixin::HasMethods::method_metaclass (xsub)
3432115µs7.20msClass::MOP::Class::Immutable::Class::MOP::Class::::get_all_attributes Class::MOP::Class::Immutable::Class::MOP::Class::get_all_attributes
17681114µs114µsClass::MOP::Mixin::HasMethods::::wrapped_method_metaclass Class::MOP::Mixin::HasMethods::wrapped_method_metaclass (xsub)
18464113µs113µsClass::MOP::Method::::name Class::MOP::Method::name (xsub)
9032111µs111µsClass::MOP::Method::Constructor::::associated_metaclass Class::MOP::Method::Constructor::associated_metaclass
7611106µs106µsMoose::Meta::TypeConstraint::::_has_inlined_type_constraint Moose::Meta::TypeConstraint::_has_inlined_type_constraint
1832106µs247µsClass::MOP::Package::::has_package_symbol Class::MOP::Package::has_package_symbol
17841102µs102µsClass::MOP::Class::::constructor_class Class::MOP::Class::constructor_class (xsub)
1784197µs97µsClass::MOP::Class::::destructor_class Class::MOP::Class::destructor_class (xsub)
1521197µs97µsClass::MOP::Mixin::AttributeCore::::reader Class::MOP::Mixin::AttributeCore::reader (xsub)
261192µs217µsClass::MOP::Class::Immutable::Class::MOP::Class::::is_immutable Class::MOP::Class::Immutable::Class::MOP::Class::is_immutable
1291190µs90µsClass::MOP::Method::Generated::::definition_context Class::MOP::Method::Generated::definition_context (xsub)
502283µs83µsMoose::Meta::TypeConstraint::::name Moose::Meta::TypeConstraint::name
321183µs92µsClass::MOP::Instance::::_class_name Class::MOP::Instance::_class_name
1062181µs81µsClass::MOP::Class::::immutable_trait Class::MOP::Class::immutable_trait (xsub)
273376µs76µsMoose::Meta::TypeConstraint::::_default_message Moose::Meta::TypeConstraint::_default_message
1111168µs150µsMoose::Meta::TypeConstraint::::meta Moose::Meta::TypeConstraint::meta
431162µs62µsMoose::Meta::TypeConstraint::::inlined Moose::Meta::TypeConstraint::inlined
251151µs51µsMoose::Meta::TypeConstraint::::_has_compiled_type_constraint Moose::Meta::TypeConstraint::_has_compiled_type_constraint
311150µs50µsMoose::Meta::TypeConstraint::::_inline_environment Moose::Meta::TypeConstraint::_inline_environment
311148µs48µsClass::MOP::Method::Constructor::::options Class::MOP::Method::Constructor::options
273348µs48µsMoose::Meta::TypeConstraint::::has_message Moose::Meta::TypeConstraint::has_message
21145µs64µsClass::MOP::Package::::initialize Class::MOP::Package::initialize
291144µs44µsMoose::Meta::TypeConstraint::::has_hand_optimized_type_constraint Moose::Meta::TypeConstraint::has_hand_optimized_type_constraint
11143µs46µsMoose::Meta::Attribute::::_new Moose::Meta::Attribute::_new
281141µs41µsClass::MOP::Method::::_set_original_method Class::MOP::Method::_set_original_method
541140µs40µsClass::MOP::Class::::constructor_name Class::MOP::Class::constructor_name (xsub)
121134µs34µsMoose::Meta::Class::::CORE:subst Moose::Meta::Class::CORE:subst (opcode)
43330µs368µsMoose::Meta::Role::Method::Required::::meta Moose::Meta::Role::Method::Required::meta
44230µs63µsMoose::Meta::Role::Composite::::meta Moose::Meta::Role::Composite::meta
461130µs30µsClass::MOP::Mixin::AttributeCore::::accessor Class::MOP::Mixin::AttributeCore::accessor (xsub)
115229µs199µsMoose::Meta::Mixin::AttributeCore::::has_trigger Moose::Meta::Mixin::AttributeCore::has_trigger
44229µs57µsMoose::Meta::TypeCoercion::::meta Moose::Meta::TypeCoercion::meta
321127µs27µsClass::MOP::Method::Inlined::::_expected_method_class Class::MOP::Method::Inlined::_expected_method_class (xsub)
41127µs65µsClass::MOP::Package::::list_all_package_symbols Class::MOP::Package::list_all_package_symbols
421126µs26µsClass::MOP::Mixin::AttributeCore::::predicate Class::MOP::Mixin::AttributeCore::predicate (xsub)
126223µs23µsMoose::Meta::TypeConstraint::::parent Moose::Meta::TypeConstraint::parent
33222µs44µsMoose::Meta::Role::Application::::meta Moose::Meta::Role::Application::meta
33222µs44µsMoose::Meta::Role::Application::ToClass::::meta Moose::Meta::Role::Application::ToClass::meta
82122µs133µsMoose::Meta::Mixin::AttributeCore::::should_coerce Moose::Meta::Mixin::AttributeCore::should_coerce
11122µs22µsMoose::Meta::Instance::::_new Moose::Meta::Instance::_new
107220µs20µsMoose::Meta::Class::::error_class Moose::Meta::Class::error_class
72120µs113µsMoose::Meta::Mixin::AttributeCore::::has_type_constraint Moose::Meta::Mixin::AttributeCore::has_type_constraint
22219µs43µsMoose::Meta::Role::Application::RoleSummation::::meta Moose::Meta::Role::Application::RoleSummation::meta
87119µs19µsMoose::Meta::Class::::destructor_class Moose::Meta::Class::destructor_class
22118µs35µsMoose::Meta::TypeConstraint::Enum::::meta Moose::Meta::TypeConstraint::Enum::meta
22118µs35µsMoose::Meta::TypeConstraint::Parameterized::::meta Moose::Meta::TypeConstraint::Parameterized::meta
22118µs34µsMoose::Meta::TypeConstraint::Registry::::meta Moose::Meta::TypeConstraint::Registry::meta
22118µs34µsMoose::Meta::TypeConstraint::Parameterizable::::meta Moose::Meta::TypeConstraint::Parameterizable::meta
22216µs31µsMoose::Meta::Role::Application::ToInstance::::meta Moose::Meta::Role::Application::ToInstance::meta
87116µs16µsMoose::Meta::Class::::constructor_class Moose::Meta::Class::constructor_class
42215µs99µsMoose::Meta::Mixin::AttributeCore::::is_lazy Moose::Meta::Mixin::AttributeCore::is_lazy
81115µs15µsMoose::Meta::TypeConstraint::Class::::class Moose::Meta::TypeConstraint::Class::class
21114µs14µsClass::MOP::Package::::_new Class::MOP::Package::_new
11114µs23µsMoose::Meta::TypeConstraint::Union::::meta Moose::Meta::TypeConstraint::Union::meta
22213µs26µsMoose::Meta::Role::::meta Moose::Meta::Role::meta
41113µs75µsMoose::Meta::Mixin::AttributeCore::::is_weak_ref Moose::Meta::Mixin::AttributeCore::is_weak_ref
21113µs199µsClass::MOP::Package::::create Class::MOP::Package::create
11113µs22µsMoose::Meta::TypeConstraint::Class::::meta Moose::Meta::TypeConstraint::Class::meta
42212µs65µsMoose::Meta::Mixin::AttributeCore::::is_required Moose::Meta::Mixin::AttributeCore::is_required
11112µs22µsMoose::Meta::TypeConstraint::Role::::meta Moose::Meta::TypeConstraint::Role::meta
11112µs25µsMoose::Meta::TypeConstraint::DuckType::::meta Moose::Meta::TypeConstraint::DuckType::meta
86412µs12µsClass::MOP::Method::::associated_metaclass Class::MOP::Method::associated_metaclass
11112µs24µsClass::MOP::Package::::BEGIN@95 Class::MOP::Package::BEGIN@95
11112µs12µsFoo::Moose::::new Foo::Moose::new
31111µs64µsMoose::Meta::Mixin::AttributeCore::::has_handles Moose::Meta::Mixin::AttributeCore::has_handles
11111µs11µsClass::MOP::Package::::BEGIN@3 Class::MOP::Package::BEGIN@3
31111µs60µsMoose::Meta::Mixin::AttributeCore::::should_auto_deref Moose::Meta::Mixin::AttributeCore::should_auto_deref
63211µs11µsMoose::Meta::Mixin::AttributeCore::::type_constraint Moose::Meta::Mixin::AttributeCore::type_constraint
1119µs14µsClass::MOP::Package::::BEGIN@11 Class::MOP::Package::BEGIN@11
1119µs16µsFoo::Moose::::meta Foo::Moose::meta
1119µs22µsClass::MOP::Package::::BEGIN@164 Class::MOP::Package::BEGIN@164
1118µs27µsClass::MOP::Package::::BEGIN@10 Class::MOP::Package::BEGIN@10
1118µs46µsClass::MOP::Package::::BEGIN@13 Class::MOP::Package::BEGIN@13
1118µs85µsClass::MOP::Package::::BEGIN@18 Class::MOP::Package::BEGIN@18
1118µs33µsClass::MOP::Package::::BEGIN@14 Class::MOP::Package::BEGIN@14
1118µs13µsMoose::Meta::TypeCoercion::Union::::meta Moose::Meta::TypeCoercion::Union::meta
1118µs13µsMoose::Meta::Role::Application::ToRole::::meta Moose::Meta::Role::Application::ToRole::meta
8116µs6µsClass::MOP::Mixin::AttributeCore::::writer Class::MOP::Mixin::AttributeCore::writer (xsub)
1116µs6µsClass::MOP::Package::::BEGIN@16 Class::MOP::Package::BEGIN@16
2216µs6µsMoose::Meta::Class::::immutable_trait Moose::Meta::Class::immutable_trait
6115µs5µsClass::MOP::Instance::::associated_metaclass Class::MOP::Instance::associated_metaclass (xsub)
2224µs4µsMoose::Meta::TypeConstraint::::has_coercion Moose::Meta::TypeConstraint::has_coercion
2211µs1µsMoose::Meta::Class::::CORE:sort Moose::Meta::Class::CORE:sort (opcode)
111900ns900nsMoose::Meta::Class::::CORE:match Moose::Meta::Class::CORE:match (opcode)
111800ns800nsClass::MOP::Attribute::::associated_methods Class::MOP::Attribute::associated_methods (xsub)
0000s0sClass::MOP::Attribute::::clone Class::MOP::Attribute::clone
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::_get_mutable_metaclass_name Class::MOP::Class::Immutable::Class::MOP::Class::_get_mutable_metaclass_name
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::_immutable_cannot_call Class::MOP::Class::Immutable::Class::MOP::Class::_immutable_cannot_call
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::_immutable_metaclass Class::MOP::Class::Immutable::Class::MOP::Class::_immutable_metaclass
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::_immutable_read_only Class::MOP::Class::Immutable::Class::MOP::Class::_immutable_read_only
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::add_attribute Class::MOP::Class::Immutable::Class::MOP::Class::add_attribute
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::add_method Class::MOP::Class::Immutable::Class::MOP::Class::add_method
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::add_package_symbol Class::MOP::Class::Immutable::Class::MOP::Class::add_package_symbol
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::alias_method Class::MOP::Class::Immutable::Class::MOP::Class::alias_method
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::class_precedence_list Class::MOP::Class::Immutable::Class::MOP::Class::class_precedence_list
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::get_all_method_names Class::MOP::Class::Immutable::Class::MOP::Class::get_all_method_names
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::get_all_methods Class::MOP::Class::Immutable::Class::MOP::Class::get_all_methods
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::is_mutable Class::MOP::Class::Immutable::Class::MOP::Class::is_mutable
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::meta Class::MOP::Class::Immutable::Class::MOP::Class::meta
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::remove_attribute Class::MOP::Class::Immutable::Class::MOP::Class::remove_attribute
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::remove_method Class::MOP::Class::Immutable::Class::MOP::Class::remove_method
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::remove_package_symbol Class::MOP::Class::Immutable::Class::MOP::Class::remove_package_symbol
0000s0sClass::MOP::Class::Immutable::Class::MOP::Class::::superclasses Class::MOP::Class::Immutable::Class::MOP::Class::superclasses
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::_get_mutable_metaclass_nameClass::MOP::Class::Immutable::Moose::Meta::Class::_get_mutable_metaclass_name
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::_immutable_cannot_callClass::MOP::Class::Immutable::Moose::Meta::Class::_immutable_cannot_call
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::_immutable_metaclassClass::MOP::Class::Immutable::Moose::Meta::Class::_immutable_metaclass
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::_immutable_read_onlyClass::MOP::Class::Immutable::Moose::Meta::Class::_immutable_read_only
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::_method_mapClass::MOP::Class::Immutable::Moose::Meta::Class::_method_map
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::add_attributeClass::MOP::Class::Immutable::Moose::Meta::Class::add_attribute
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::add_methodClass::MOP::Class::Immutable::Moose::Meta::Class::add_method
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::add_package_symbolClass::MOP::Class::Immutable::Moose::Meta::Class::add_package_symbol
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::add_roleClass::MOP::Class::Immutable::Moose::Meta::Class::add_role
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::alias_methodClass::MOP::Class::Immutable::Moose::Meta::Class::alias_method
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::calculate_all_rolesClass::MOP::Class::Immutable::Moose::Meta::Class::calculate_all_roles
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::calculate_all_roles_with_inheritanceClass::MOP::Class::Immutable::Moose::Meta::Class::calculate_all_roles_with_inheritance
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::class_precedence_listClass::MOP::Class::Immutable::Moose::Meta::Class::class_precedence_list
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::does_roleClass::MOP::Class::Immutable::Moose::Meta::Class::does_role
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::get_all_attributesClass::MOP::Class::Immutable::Moose::Meta::Class::get_all_attributes
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::get_all_method_namesClass::MOP::Class::Immutable::Moose::Meta::Class::get_all_method_names
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::get_all_methodsClass::MOP::Class::Immutable::Moose::Meta::Class::get_all_methods
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::get_meta_instanceClass::MOP::Class::Immutable::Moose::Meta::Class::get_meta_instance
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::is_immutableClass::MOP::Class::Immutable::Moose::Meta::Class::is_immutable
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::is_mutableClass::MOP::Class::Immutable::Moose::Meta::Class::is_mutable
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::linearized_isaClass::MOP::Class::Immutable::Moose::Meta::Class::linearized_isa
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::metaClass::MOP::Class::Immutable::Moose::Meta::Class::meta
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::remove_attributeClass::MOP::Class::Immutable::Moose::Meta::Class::remove_attribute
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::remove_methodClass::MOP::Class::Immutable::Moose::Meta::Class::remove_method
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::remove_package_symbolClass::MOP::Class::Immutable::Moose::Meta::Class::remove_package_symbol
0000s0sClass::MOP::Class::Immutable::Moose::Meta::Class::::superclassesClass::MOP::Class::Immutable::Moose::Meta::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::::get_all_package_symbols Class::MOP::Package::get_all_package_symbols
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
0000s0sFoo::Moose::::DESTROY Foo::Moose::DESTROY
0000s0sFoo::Moose::::bar Foo::Moose::bar
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::::_get_role_applications Moose::Meta::Class::_get_role_applications
0000s0sMoose::Meta::Class::::_new Moose::Meta::Class::_new
0000s0sMoose::Meta::Class::::roles Moose::Meta::Class::roles
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::::_is_metadata Moose::Meta::Mixin::AttributeCore::_is_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::::_new Moose::Meta::Role::Application::ToClass::_new
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::Application::::get_method_aliases Moose::Meta::Role::Application::get_method_aliases
0000s0sMoose::Meta::Role::Application::::get_method_exclusions Moose::Meta::Role::Application::get_method_exclusions
0000s0sMoose::Meta::Role::Attribute::::_new Moose::Meta::Role::Attribute::_new
0000s0sMoose::Meta::Role::Attribute::::_original_role Moose::Meta::Role::Attribute::_original_role
0000s0sMoose::Meta::Role::Attribute::::associated_role Moose::Meta::Role::Attribute::associated_role
0000s0sMoose::Meta::Role::Attribute::::is Moose::Meta::Role::Attribute::is
0000s0sMoose::Meta::Role::Attribute::::metaclass Moose::Meta::Role::Attribute::metaclass
0000s0sMoose::Meta::Role::Attribute::::original_options Moose::Meta::Role::Attribute::original_options
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::Method::Required::::_new Moose::Meta::Role::Method::Required::_new
0000s0sMoose::Meta::Role::Method::Required::::name Moose::Meta::Role::Method::Required::name
0000s0sMoose::Meta::Role::Method::::_new Moose::Meta::Role::Method::_new
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::::_new Moose::Meta::Role::_new
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_class_class Moose::Meta::Role::application_to_class_class
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::::applied_attribute_metaclass Moose::Meta::Role::applied_attribute_metaclass
0000s0sMoose::Meta::Role::::conflicting_method_metaclass Moose::Meta::Role::conflicting_method_metaclass
0000s0sMoose::Meta::Role::::excludes_role Moose::Meta::Role::excludes_role
0000s0sMoose::Meta::Role::::get_after_method_modifiers Moose::Meta::Role::get_after_method_modifiers
0000s0sMoose::Meta::Role::::get_after_method_modifiers_map Moose::Meta::Role::get_after_method_modifiers_map
0000s0sMoose::Meta::Role::::get_around_method_modifiers Moose::Meta::Role::get_around_method_modifiers
0000s0sMoose::Meta::Role::::get_around_method_modifiers_map Moose::Meta::Role::get_around_method_modifiers_map
0000s0sMoose::Meta::Role::::get_before_method_modifiers Moose::Meta::Role::get_before_method_modifiers
0000s0sMoose::Meta::Role::::get_before_method_modifiers_map Moose::Meta::Role::get_before_method_modifiers_map
0000s0sMoose::Meta::Role::::get_excluded_roles_list Moose::Meta::Role::get_excluded_roles_list
0000s0sMoose::Meta::Role::::get_excluded_roles_map Moose::Meta::Role::get_excluded_roles_map
0000s0sMoose::Meta::Role::::get_override_method_modifiers_map Moose::Meta::Role::get_override_method_modifiers_map
0000s0sMoose::Meta::Role::::get_required_method_list Moose::Meta::Role::get_required_method_list
0000s0sMoose::Meta::Role::::get_required_methods_map Moose::Meta::Role::get_required_methods_map
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::::method_metaclass Moose::Meta::Role::method_metaclass
0000s0sMoose::Meta::Role::::remove_required_methods Moose::Meta::Role::remove_required_methods
0000s0sMoose::Meta::Role::::required_method_metaclass Moose::Meta::Role::required_method_metaclass
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::Role::::_new Moose::Meta::TypeConstraint::Role::_new
0000s0sMoose::Meta::TypeConstraint::Role::::role Moose::Meta::TypeConstraint::Role::role
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::::hand_optimized_type_constraint Moose::Meta::TypeConstraint::hand_optimized_type_constraint
0000s0sMoose::Meta::TypeConstraint::::message Moose::Meta::TypeConstraint::message
0000s0sMoose::Object::::meta Moose::Object::meta
0000s0sMoose::Util::TypeConstraints::::import Moose::Util::TypeConstraints::import
0000s0sMoose::Util::TypeConstraints::::unimport Moose::Util::TypeConstraints::unimport
0000s0sMoose::::import Moose::import
0000s0sMoose::::unimport Moose::unimport
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 11µs within Class::MOP::Package::BEGIN@3 which was called: # once (11µs+0s) by base::import at line 5
BEGIN {
417µs $Class::MOP::Package::AUTHORITY = 'cpan:STEVAN';
5160µs111µs}
# spent 11µs making 1 call to Class::MOP::Package::BEGIN@3
6{
721µs $Class::MOP::Package::VERSION = '2.1005';
8}
9
10234µs246µs
# spent 27µs (8+19) within Class::MOP::Package::BEGIN@10 which was called: # once (8µs+19µs) by base::import at line 10
use strict;
# spent 27µs making 1 call to Class::MOP::Package::BEGIN@10 # spent 19µs making 1 call to strict::import
11234µs218µs
# spent 14µs (9+4) within Class::MOP::Package::BEGIN@11 which was called: # once (9µs+4µs) by base::import at line 11
use warnings;
# spent 14µs making 1 call to Class::MOP::Package::BEGIN@11 # spent 4µs making 1 call to warnings::import
12
13232µs284µs
# spent 46µs (8+38) within Class::MOP::Package::BEGIN@13 which was called: # once (8µs+38µs) by base::import at line 13
use Scalar::Util 'blessed', 'reftype', 'weaken';
# spent 46µs making 1 call to Class::MOP::Package::BEGIN@13 # spent 38µs making 1 call to Exporter::import
14232µs258µs
# spent 33µs (8+25) within Class::MOP::Package::BEGIN@14 which was called: # once (8µs+25µs) by base::import at line 14
use Carp 'confess';
# spent 33µs making 1 call to Class::MOP::Package::BEGIN@14 # spent 25µs making 1 call to Exporter::import
152130µs22.01ms
# spent 1.96ms (431µs+1.53) within Class::MOP::Package::BEGIN@15 which was called: # once (431µs+1.53ms) by base::import at line 15
use Devel::GlobalDestruction 'in_global_destruction';
# spent 1.96ms making 1 call to Class::MOP::Package::BEGIN@15 # spent 48µs making 1 call to Sub::Exporter::Progressive::__ANON__[Sub/Exporter/Progressive.pm:40]
16232µs16µs
# spent 6µs within Class::MOP::Package::BEGIN@16 which was called: # once (6µs+0s) by base::import at line 16
use Package::Stash;
# spent 6µs making 1 call to Class::MOP::Package::BEGIN@16
17
182369µs285µs
# spent 85µs (8+77) within Class::MOP::Package::BEGIN@18 which was called: # once (8µs+77µs) by base::import at line 18
use base 'Class::MOP::Object';
# spent 85µ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 64µs (45+20) within Class::MOP::Package::initialize which was called 2 times, avg 32µs/call: # 2 times (45µs+20µs) by Moose::Exporter::build_import_methods at line 87 of Moose/Exporter.pm, avg 32µs/call
sub initialize {
2322µs my ( $class, @args ) = @_;
24
2523µs unshift @args, "package" if @args % 2;
26
2722µs my %options = @args;
2822µs my $package_name = delete $options{package};
29
30
31 # we hand-construct the class until we can bootstrap it
3224µs23µs if ( my $meta = Class::MOP::get_metaclass_by_name($package_name) ) {
# spent 3µs making 2 calls to Class::MOP::get_metaclass_by_name, avg 2µs/call
33 return $meta;
34 } else {
3529µs214µs my $meta = ( ref $class || $class )->_new({
# spent 14µs making 2 calls to Class::MOP::Package::_new, avg 7µs/call
36 'package' => $package_name,
37 %options,
38 });
3923µs23µs Class::MOP::store_metaclass_by_name($package_name, $meta);
# spent 3µs making 2 calls to Class::MOP::store_metaclass_by_name, avg 1µs/call
40
4121µs Class::MOP::weaken_metaclass($package_name) if $options{weaken};
42
43
44214µs 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 199µs (13+186) within Class::MOP::Package::create which was called 2 times, avg 100µs/call: # 2 times (13µs+186µs) by Class::MOP::Module::create at line 68 of Class/MOP/Module.pm, avg 100µs/call
sub create {
692800ns my $class = shift;
7021µs my @args = @_;
71
7229µs2186µs return $class->initialize(@args);
# spent 186µs making 2 calls to Class::MOP::Class::initialize, avg 93µs/call
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.
822300ns my $ANON_SERIAL = 0;
83
841400ns 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;
952380µs237µs
# spent 24µs (12+12) within Class::MOP::Package::BEGIN@95 which was called: # once (12µs+12µs) by base::import at line 95
no warnings 'uninitialized';
# spent 24µs making 1 call to Class::MOP::Package::BEGIN@95 # spent 12µ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
1642547µs236µs
# spent 22µs (9+14) within Class::MOP::Package::BEGIN@164 which was called: # once (9µs+14µs) by base::import at line 164
no strict 'refs';
# spent 22µs making 1 call to Class::MOP::Package::BEGIN@164 # spent 14µ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 14µs within Class::MOP::Package::_new which was called 2 times, avg 7µs/call: # 2 times (14µs+0s) by Class::MOP::Package::initialize at line 35, avg 7µs/call
sub _new {
1772900ns my $class = shift;
178
17921µs return Class::MOP::Class->initialize($class)->new_object(@_)
180 if $class ne __PACKAGE__;
181
18222µs my $params = @_ == 1 ? $_[0] : {@_};
183
184213µs 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 2.20ms (1.70+503µs) within Class::MOP::Package::_package_stash which was called 1012 times, avg 2µs/call: # 522 times (562µs+0s) by Class::MOP::Package::get_package_symbol at line 238, avg 1µs/call # 390 times (546µs+0s) by Class::MOP::Package::add_package_symbol at line 221, avg 1µs/call # 78 times (554µs+490µs) by Class::MOP::Package::get_or_add_package_symbol at line 243, avg 13µs/call # 18 times (33µs+13µs) by Class::MOP::Package::has_package_symbol at line 233, avg 3µs/call # 4 times (5µs+0s) by Class::MOP::Package::list_all_package_symbols at line 253, avg 1µs/call
sub _package_stash {
20910123.35ms140503µs $_[0]->{_package_stash} ||= Package::Stash->new($_[0]->name)
# spent 442µs making 70 calls to Package::Stash::XS::new, avg 6µs/call # spent 61µs making 70 calls to Class::MOP::Package::name, avg 874ns/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 13.6ms (7.20+6.38) within Class::MOP::Package::add_package_symbol which was called 390 times, avg 35µs/call: # 386 times (7.18ms+6.33ms) by Class::MOP::Mixin::HasMethods::add_method at line 86 of Class/MOP/Mixin/HasMethods.pm, avg 35µs/call # 4 times (21µs+52µs) by Moose::Exporter::build_import_methods at line 93 of Moose/Exporter.pm, avg 18µs/call
sub add_package_symbol {
220390115µs my $self = shift;
22139012.6ms15606.95ms
# spent 31µs (16+15) within Moose::Meta::Role::Application::ToInstance::meta which was called 2 times, avg 16µs/call: # once (11µs+9µs) by Moose::BEGIN@41 at line 21 of Moose/Meta/Role/Application/ToInstance.pm # once (5µs+6µs) by Foo::Moose::BEGIN@91 at line 239 of Moose.pm # spent 41µs within Class::MOP::Method::_set_original_method which was called 28 times, avg 1µs/call: # 28 times (41µs+0s) by Class::MOP::Method::clone at line 138 of Class/MOP/Method.pm, avg 1µs/call # spent 4µs within Moose::Meta::TypeConstraint::has_coercion which was called 2 times, avg 2µs/call: # once (2µs+0s) by Moose::Meta::Attribute::_eval_environment at line 793 of Moose/Meta/Attribute.pm # once (2µs+0s) by Moose::Meta::Class::_eval_environment at line 529 of Moose/Meta/Class.pm # spent 4.29ms (899µs+3.39) within Class::MOP::Class::Immutable::Class::MOP::Class::get_meta_instance which was called 294 times, avg 15µs/call: # 252 times (744µs+3.12ms) by Class::MOP::Attribute::_inline_instance_set at line 287 of Class/MOP/Attribute.pm, avg 15µs/call # 22 times (94µs+162µs) by Class::MOP::Class::_construct_instance at line 504 of Class/MOP/Class.pm, avg 12µs/call # 10 times (31µs+51µs) by Class::MOP::Attribute::get_raw_value at line 297 of Class/MOP/Attribute.pm, avg 8µs/call # 9 times (28µs+48µs) by Class::MOP::Attribute::has_value at line 318 of Class/MOP/Attribute.pm, avg 8µs/call # once (3µs+4µs) by Moose::Meta::Attribute::_inline_weaken_value at line 760 of Moose/Meta/Attribute.pm # spent 232µs (221+12) within Moose::Meta::TypeConstraint::Class::_new which was called 4 times, avg 58µs/call: # 4 times (221µs+12µs) by Moose::Meta::TypeConstraint::new at line 143 of Moose/Meta/TypeConstraint.pm, avg 58µs/call # spent 16µs (9+7) within Foo::Moose::meta which was called: # once (9µs+7µs) by main::RUNTIME at line 93 of fastest.pl # spent 178µs within Moose::Meta::TypeConstraint::constraint which was called 145 times, avg 1µs/call: # 73 times (99µs+0s) by Moose::Meta::TypeConstraint::can_be_inlined at line 197 of Moose/Meta/TypeConstraint.pm, avg 1µs/call # 42 times (44µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 212 of Moose/Meta/TypeConstraint.pm, avg 1µs/call # 30 times (35µs+0s) by Moose::Meta::TypeConstraint::inline_environment at line 222 of Moose/Meta/TypeConstraint.pm, avg 1µs/call # spent 51µs within Moose::Meta::TypeConstraint::_has_compiled_type_constraint which was called 25 times, avg 2µs/call: # 25 times (51µs+0s) by Moose::Meta::TypeConstraint::new at line 144 of Moose/Meta/TypeConstraint.pm, avg 2µs/call # spent 133µs (22+111) within Moose::Meta::Mixin::AttributeCore::should_coerce which was called 8 times, avg 17µs/call: # 4 times (15µs+59µs) by Moose::Meta::Attribute::_writer_value_needs_copy at line 642 of Moose/Meta/Attribute.pm, avg 18µs/call # 4 times (8µs+52µs) by Moose::Meta::Attribute::_inline_check_coercion at line 685 of Moose/Meta/Attribute.pm, avg 15µs/call # spent 34µs (18+17) within Moose::Meta::TypeConstraint::Registry::meta which was called 2 times, avg 17µs/call: # once (12µs+9µs) by Moose::Util::TypeConstraints::BEGIN@42 at line 18 of Moose/Meta/TypeConstraint/Registry.pm # once (6µs+7µs) by Moose::Util::TypeConstraints::BEGIN@42 at line 28 of Moose/Meta/TypeConstraint/Registry.pm # spent 50µs within Moose::Meta::TypeConstraint::_inline_environment which was called 31 times, avg 2µs/call: # 31 times (50µs+0s) by Moose::Meta::TypeConstraint::inline_environment at line 226 of Moose/Meta/TypeConstraint.pm, avg 2µs/call # spent 22µs (22+500ns) within Moose::Meta::Instance::_new which was called: # once (22µs+500ns) by Class::MOP::Instance::new at line 44 of Class/MOP/Instance.pm # spent 186µs (178+8) within Moose::Meta::TypeConstraint::Parameterizable::_new which was called 4 times, avg 47µs/call: # 4 times (178µs+8µs) by Moose::Meta::TypeConstraint::new at line 143 of Moose/Meta/TypeConstraint.pm, avg 47µs/call # spent 2.04ms (714µs+1.33) within Class::MOP::Class::Immutable::Class::MOP::Class::_method_map which was called 241 times, avg 8µs/call: # 228 times (672µs+1.26ms) by Class::MOP::Mixin::HasMethods::_get_maybe_raw_method at line 134 of Class/MOP/Mixin/HasMethods.pm, avg 8µs/call # 13 times (42µs+66µs) by Class::MOP::Mixin::HasMethods::get_method at line 124 of Class/MOP/Mixin/HasMethods.pm, avg 8µs/call # spent 7.20ms (115µs+7.08) within Class::MOP::Class::Immutable::Class::MOP::Class::get_all_attributes which was called 34 times, avg 212µs/call: # 22 times (78µs+6.16ms) by Class::MOP::Class::_construct_instance at line 524 of Class/MOP/Class.pm, avg 284µs/call # 11 times (32µs+782µs) by Class::MOP::Class::_create_meta_instance at line 726 of Class/MOP/Class.pm, avg 74µs/call # once (5µs+136µs) by Moose::Meta::Attribute::new at line 95 of Moose/Meta/Attribute.pm # spent 23µs (14+9) within Moose::Meta::TypeConstraint::Union::meta which was called: # once (14µs+9µs) by Moose::Util::TypeConstraints::BEGIN@33 at line 24 of Moose/Meta/TypeConstraint/Union.pm # spent 35µs (18+17) within Moose::Meta::TypeConstraint::Enum::meta which was called 2 times, avg 18µs/call: # once (12µs+10µs) by Moose::Util::TypeConstraints::BEGIN@38 at line 18 of Moose/Meta/TypeConstraint/Enum.pm # once (6µs+7µs) by Moose::Util::TypeConstraints::BEGIN@38 at line 23 of Moose/Meta/TypeConstraint/Enum.pm # spent 159µs within Moose::Meta::TypeConstraint::Registry::type_constraints which was called 107 times, avg 1µs/call: # 51 times (68µs+0s) by Moose::Meta::TypeConstraint::Registry::get_type_constraint at line 45 of Moose/Meta/TypeConstraint/Registry.pm, avg 1µs/call # 30 times (48µs+0s) by Moose::Meta::TypeConstraint::Registry::has_type_constraint at line 39 of Moose/Meta/TypeConstraint/Registry.pm, avg 2µs/call # 25 times (42µ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 183µs within Moose::Meta::TypeConstraint::has_parent which was called 154 times, avg 1µs/call: # 78 times (98µs+0s) by Moose::Meta::TypeConstraint::can_be_inlined at line 197 of Moose/Meta/TypeConstraint.pm, avg 1µs/call # 44 times (48µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 212 of Moose/Meta/TypeConstraint.pm, avg 1µs/call # 32 times (38µs+0s) by Moose::Meta::TypeConstraint::inline_environment at line 222 of Moose/Meta/TypeConstraint.pm, avg 1µs/call # spent 25µs (12+13) within Moose::Meta::TypeConstraint::DuckType::meta which was called: # once (12µs+13µs) by Moose::Util::TypeConstraints::BEGIN@39 at line 22 of Moose/Meta/TypeConstraint/DuckType.pm # spent 23µs within Moose::Meta::TypeConstraint::parent which was called 12 times, avg 2µs/call: # 6 times (9µs+0s) by Moose::Util::TypeConstraints::Builtins::__ANON__[/opt/perl-5.18.1/lib/site_perl/5.18.1/darwin-thread-multi-2level/Moose/Util/TypeConstraints/Builtins.pm:66] at line 64 of Moose/Util/TypeConstraints/Builtins.pm, avg 2µs/call # 2 times (3µs+0s) by Moose::Meta::TypeConstraint::can_be_inlined at line 197 of Moose/Meta/TypeConstraint.pm, avg 2µs/call # once (7µs+0s) by Moose::Meta::TypeConstraint::inline_environment at line 222 of Moose/Meta/TypeConstraint.pm # once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::__ANON__[/opt/perl-5.18.1/lib/site_perl/5.18.1/darwin-thread-multi-2level/Moose/Util/TypeConstraints/Builtins.pm:83] at line 78 of Moose/Util/TypeConstraints/Builtins.pm # once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::__ANON__[/opt/perl-5.18.1/lib/site_perl/5.18.1/darwin-thread-multi-2level/Moose/Util/TypeConstraints/Builtins.pm:176] at line 171 of Moose/Util/TypeConstraints/Builtins.pm # once (1µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 212 of Moose/Meta/TypeConstraint.pm # spent 44µs within Moose::Meta::TypeConstraint::has_hand_optimized_type_constraint which was called 29 times, avg 2µs/call: # 29 times (44µs+0s) by Moose::Meta::TypeConstraint::_actually_compile_type_constraint at line 308 of Moose/Meta/TypeConstraint.pm, avg 2µs/call # spent 20µs within Moose::Meta::Class::error_class which was called 10 times, avg 2µs/call: # 3 times (8µs+0s) by Moose::Meta::Class::_inline_create_error at line 841 of Moose/Meta/Class.pm, avg 3µs/call # 2 times (3µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 295 of Class/MOP/Class.pm, avg 1µs/call # once (3µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm # once (2µs+0s) by Class::MOP::Class::_check_metaclass_compatibility at line 224 of Class/MOP/Class.pm # once (2µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm # once (1µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 290 of Class/MOP/Class.pm # once (1µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 293 of Class/MOP/Class.pm # spent 4.64ms (558µs+4.08) within Class::MOP::Class::superclasses which was called 78 times, avg 59µs/call: # 68 times (381µs+2.14ms) by Class::MOP::Class::_check_metaclass_compatibility at line 203 of Class/MOP/Class.pm, avg 37µs/call # 6 times (68µs+1.25ms) by Moose::Meta::Class::superclasses at line 569 of Moose/Meta/Class.pm, avg 219µs/call # 2 times (99µs+702µs) by Class::MOP::Class::create at line 451 of Class/MOP/Class.pm, avg 400µs/call # 2 times (10µs+-10µs) by Class::MOP::Class::_superclasses_updated at line 971 of Class/MOP/Class.pm, avg 0s/call # spent 16µs within Moose::Meta::Class::constructor_class which was called 8 times, avg 2µs/call: # 2 times (3µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 295 of Class/MOP/Class.pm, avg 1µs/call # once (3µs+0s) by Class::MOP::Class::_immutable_options at line 1268 of Class/MOP/Class.pm # once (3µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm # once (2µs+0s) by Class::MOP::Class::_check_metaclass_compatibility at line 224 of Class/MOP/Class.pm # once (2µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm # once (2µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 290 of Class/MOP/Class.pm # once (1µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 293 of Class/MOP/Class.pm # spent 12µs within Class::MOP::Method::associated_metaclass which was called 8 times, avg 1µs/call: # 2 times (4µs+0s) by Moose::Meta::Method::_inline_throw_error at line 42 of Moose/Meta/Method.pm, avg 2µs/call # 2 times (3µs+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 34 of Class/MOP/Method/Inlined.pm, avg 1µs/call # once (2µs+0s) by Class::MOP::Method::Constructor::_generate_constructor_method_inline at line 99 of Class/MOP/Method/Constructor.pm # once (2µs+0s) by Class::MOP::Method::Constructor::_eval_environment at line 89 of Class/MOP/Method/Constructor.pm # once (1µs+0s) by Moose::Meta::Method::Destructor::_initialize_body at line 84 of Moose/Meta/Method/Destructor.pm # once (1µs+0s) by Moose::Meta::Method::Destructor::_generate_DEMOLISHALL at line 122 of Moose/Meta/Method/Destructor.pm # spent 43µs (19+25) within Moose::Meta::Role::Application::RoleSummation::meta which was called 2 times, avg 22µs/call: # once (6µs+15µs) by Foo::Moose::BEGIN@91 at line 239 of Moose.pm # once (12µs+9µs) by Moose::BEGIN@38 at line 22 of Moose/Meta/Role/Application/RoleSummation.pm # spent 326µs within Class::MOP::Mixin::AttributeCore::has_writer which was called 200 times, avg 2µs/call: # 200 times (326µs+0s) by Class::MOP::Attribute::install_accessors at line 432 of Class/MOP/Attribute.pm, avg 2µs/call # spent 64µs (11+52) within Moose::Meta::Mixin::AttributeCore::has_handles which was called 3 times, avg 21µs/call: # 3 times (11µs+52µs) by Moose::Meta::Attribute::install_accessors at line 1018 of Moose/Meta/Attribute.pm, avg 21µs/call # spent 720µs within Class::MOP::Mixin::AttributeCore::has_initializer which was called 540 times, avg 1µs/call: # 275 times (383µs+0s) by Class::MOP::Class::_inline_init_attr_from_constructor at line 634 of Class/MOP/Class.pm, avg 1µs/call # 164 times (200µs+0s) by Class::MOP::Attribute::_set_initial_slot_value at line 150 of Class/MOP/Attribute.pm, avg 1µs/call # 96 times (128µs+0s) by Class::MOP::Class::_inline_init_attr_from_default at line 653 of Class/MOP/Class.pm, avg 1µs/call # 3 times (5µs+0s) by Moose::Meta::Attribute::_eval_environment at line 804 of Moose/Meta/Attribute.pm, avg 2µs/call # once (2µs+0s) by List::MoreUtils::any at line 543 of Moose/Meta/Class.pm # once (2µs+0s) by Moose::Meta::Class::_inline_init_attr_from_constructor at line 415 of Moose/Meta/Class.pm # spent 22µs (13+10) within Moose::Meta::TypeConstraint::Class::meta which was called: # once (13µs+10µs) by Moose::Util::TypeConstraints::BEGIN@36 at line 19 of Moose/Meta/TypeConstraint/Class.pm # spent 230µs within Class::MOP::Method::Accessor::accessor_type which was called 191 times, avg 1µs/call: # 191 times (230µs+0s) by Class::MOP::Method::Accessor::_initialize_body at line 83 of Class/MOP/Method/Accessor.pm, avg 1µs/call # spent 327µs within Class::MOP::Mixin::AttributeCore::has_accessor which was called 200 times, avg 2µs/call: # 200 times (327µs+0s) by Class::MOP::Attribute::install_accessors at line 424 of Class/MOP/Attribute.pm, avg 2µs/call # spent 44µs (22+21) within Moose::Meta::Role::Application::ToClass::meta which was called 3 times, avg 14µs/call: # once (12µs+9µs) by Moose::BEGIN@39 at line 19 of Moose/Meta/Role/Application/ToClass.pm # once (5µs+7µs) by Moose::BEGIN@39 at line 24 of Moose/Meta/Role/Application/ToClass.pm # once (5µs+5µs) by Foo::Moose::BEGIN@91 at line 239 of Moose.pm # spent 15µs within Moose::Meta::TypeConstraint::Class::class which was called 8 times, avg 2µs/call: # 8 times (15µs+0s) by Moose::Meta::TypeConstraint::Class::__ANON__[/opt/perl-5.18.1/lib/site_perl/5.18.1/darwin-thread-multi-2level/Moose/Meta/TypeConstraint/Class.pm:30] at line 28 of Moose/Meta/TypeConstraint/Class.pm, avg 2µs/call # spent 6µs within Moose::Meta::Class::immutable_trait which was called 2 times, avg 3µs/call: # once (4µs+0s) by Class::MOP::Class::_immutable_options at line 1268 of Class/MOP/Class.pm # once (2µs+0s) by Class::MOP::Class::_immutable_metaclass at line 1327 of Class/MOP/Class.pm # spent 57µs (29+28) within Moose::Meta::TypeCoercion::meta which was called 4 times, avg 14µs/call: # once (12µs+9µs) by Moose::BEGIN@29 at line 20 of Moose/Meta/TypeCoercion.pm # once (6µs+7µs) by Moose::BEGIN@29 at line 32 of Moose/Meta/TypeCoercion.pm # once (5µs+7µs) by Moose::BEGIN@29 at line 23 of Moose/Meta/TypeCoercion.pm # once (6µs+5µs) by Foo::Moose::BEGIN@91 at line 239 of Moose.pm # spent 26µs (13+13) within Moose::Meta::Role::meta which was called 2 times, avg 13µs/call: # once (8µs+7µs) by Moose::BEGIN@35 at line 45 of Moose/Meta/Role.pm # once (6µs+6µs) by Foo::Moose::BEGIN@91 at line 239 of Moose.pm # spent 182µs within Class::MOP::Mixin::AttributeCore::_set_insertion_order which was called 124 times, avg 1µs/call: # 124 times (182µs+0s) by Class::MOP::Mixin::HasAttributes::add_attribute at line 35 of Class/MOP/Mixin/HasAttributes.pm, avg 1µs/call # spent 111µs within Class::MOP::Method::Constructor::associated_metaclass which was called 90 times, avg 1µs/call: # 30 times (39µs+0s) by Class::MOP::Method::Constructor::_eval_environment at line 89 of Class/MOP/Method/Constructor.pm, avg 1µs/call # 30 times (38µ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 (35µs+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 34 of Class/MOP/Method/Inlined.pm, avg 1µs/call # spent 199µs (29+170) within Moose::Meta::Mixin::AttributeCore::has_trigger which was called 11 times, avg 18µs/call: # 3 times (11µs+71µs) by Moose::Meta::Attribute::_eval_environment at line 781 of Moose/Meta/Attribute.pm, avg 27µs/call # 3 times (7µs+52µs) by Moose::Meta::Attribute::_inline_trigger at line 771 of Moose/Meta/Attribute.pm, avg 20µs/call # 3 times (8µs+47µs) by Moose::Meta::Attribute::_inline_get_old_value_for_trigger at line 745 of Moose/Meta/Attribute.pm, avg 18µs/call # once (2µs+0s) by Moose::Meta::Class::_inline_triggers at line 471 of Moose/Meta/Class.pm # once (2µs+0s) by Moose::Meta::Class::_eval_environment at line 507 of Moose/Meta/Class.pm # spent 8.79ms (873µs+7.92) within Class::MOP::Object::meta which was called 154 times, avg 57µs/call: # 54 times (279µs+393µs) by Class::MOP::Class::_immutable_metaclass at line 1330 of Class/MOP/Class.pm, avg 12µs/call # 25 times (144µs+174µs) by Class::MOP::Method::Meta::wrap at line 60 of Class/MOP/Method/Meta.pm, avg 13µs/call # 14 times (74µs+459µs) by Moose::Exporter::BEGIN@13 at line 687 of Class/MOP.pm, avg 38µs/call # 9 times (47µs+2.01ms) by Foo::Moose::BEGIN@91 at line 239 of Moose.pm, avg 228µs/call # 5 times (28µs+38µs) by Moose::Meta::Class::_inline_create_error at line 850 of Moose/Meta/Class.pm, avg 13µs/call # 2 times (11µs+566µs) by Foo::Moose::BEGIN@91 at line 275 of Moose.pm, avg 288µs/call # 2 times (13µs+17µs) by Moose::Meta::Attribute::new at line 95 of Moose/Meta/Attribute.pm, avg 15µs/call # 2 times (12µs+13µs) by Class::MOP::Class::_construct_class_instance at line 107 of Class/MOP/Class.pm, avg 12µs/call # once (6µs+670µs) by Moose::Exporter::BEGIN@13 at line 287 of Class/MOP.pm # once (7µs+486µs) by Moose::Exporter::BEGIN@13 at line 460 of Class/MOP.pm # once (11µs+407µs) by Moose::Exporter::BEGIN@13 at line 198 of Class/MOP.pm # once (7µs+336µs) by Moose::Exporter::BEGIN@13 at line 250 of Class/MOP.pm # once (7µs+316µs) by Moose::Exporter::BEGIN@13 at line 534 of Class/MOP.pm # once (7µs+312µs) by Moose::Exporter::BEGIN@13 at line 562 of Class/MOP.pm # once (7µs+308µs) by Moose::Exporter::BEGIN@13 at line 572 of Class/MOP.pm # once (6µs+308µs) by Moose::Exporter::BEGIN@13 at line 618 of Class/MOP.pm # once (7µs+299µs) by Moose::Exporter::BEGIN@13 at line 597 of Class/MOP.pm # once (7µs+298µs) by Moose::Exporter::BEGIN@13 at line 543 of Class/MOP.pm # once (6µs+298µs) by Moose::Exporter::BEGIN@13 at line 490 of Class/MOP.pm # once (7µs+8µs) by Moose::Exporter::BEGIN@13 at line 672 of Class/MOP.pm # once (6µs+8µs) by Moose::BEGIN@27 at line 38 of Moose/Meta/Class.pm # once (7µs+7µs) by Moose::Exporter::BEGIN@13 at line 338 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 504 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 479 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 223 of Class/MOP.pm # once (7µs+7µs) by Moose::Exporter::BEGIN@13 at line 270 of Class/MOP.pm # once (7µs+7µs) by Moose::Exporter::BEGIN@13 at line 518 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 497 of Class/MOP.pm # once (7µs+7µs) by Moose::Exporter::BEGIN@13 at line 649 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 511 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 581 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 486 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 625 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 327 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 642 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 601 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 291 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 635 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 660 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 551 of Class/MOP.pm # once (6µs+7µs) by Moose::BEGIN@27 at line 55 of Moose/Meta/Class.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 307 of Class/MOP.pm # once (6µs+7µs) by Moose::BEGIN@27 at line 44 of Moose/Meta/Class.pm # once (6µs+7µs) by Moose::BEGIN@27 at line 67 of Moose/Meta/Class.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 317 of Class/MOP.pm # once (6µs+7µs) by Moose::BEGIN@27 at line 47 of Moose/Meta/Class.pm # once (6µs+7µs) by Moose::Meta::TypeCoercion::BEGIN@14 at line 31 of Moose/Meta/Attribute.pm # once (5µs+7µs) by Moose::BEGIN@27 at line 61 of Moose/Meta/Class.pm # once (5µs+6µs) by Moose::Exporter::BEGIN@13 at line 675 of Class/MOP.pm # spent 46µs (43+3) within Moose::Meta::Attribute::_new which was called: # once (43µs+3µs) by Class::MOP::Attribute::new at line 58 of Class/MOP/Attribute.pm # spent 136µs within Moose::Meta::TypeConstraint::_compiled_type_constraint which was called 30 times, avg 5µs/call: # 29 times (133µs+0s) by Moose::Meta::TypeConstraint::compile_type_constraint at line 300 of Moose/Meta/TypeConstraint.pm, avg 5µs/call # once (3µs+0s) by Moose::Meta::Class::_eval_environment at line 525 of Moose/Meta/Class.pm # spent 2.91ms (276µs+2.64) within Class::MOP::Mixin::meta which was called 42 times, avg 69µs/call: # 4 times (25µs+31µs) by Moose::Exporter::BEGIN@13 at line 713 of Class/MOP.pm, avg 14µs/call # once (15µs+828µs) by Moose::Exporter::BEGIN@13 at line 133 of Class/MOP.pm # once (12µs+500µs) by Moose::Meta::Role::BEGIN@19 at line 18 of Moose/Meta/Role/Attribute.pm # once (10µs+387µs) by base::import at line 14 of Moose/Meta/Mixin/AttributeCore.pm # once (7µs+336µs) by Moose::Exporter::BEGIN@13 at line 178 of Class/MOP.pm # once (7µs+324µs) by Moose::Exporter::BEGIN@13 at line 355 of Class/MOP.pm # once (8µ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 (7µs+7µs) by Moose::Exporter::BEGIN@13 at line 386 of Class/MOP.pm # once (7µs+7µs) by Moose::Exporter::BEGIN@13 at line 417 of Class/MOP.pm # once (6µs+7µs) by Foo::Moose::BEGIN@91 at line 275 of Moose.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 425 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 449 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 370 of Class/MOP.pm # once (6µs+7µs) by base::import at line 48 of Moose/Meta/Mixin/AttributeCore.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 433 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 378 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 150 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 441 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 409 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 182 of Class/MOP.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 401 of Class/MOP.pm # once (6µs+7µs) by Moose::Meta::Role::BEGIN@19 at line 25 of Moose/Meta/Role/Attribute.pm # once (6µs+7µs) by base::import at line 101 of Moose/Meta/Mixin/AttributeCore.pm # once (6µs+7µs) by base::import at line 55 of Moose/Meta/Mixin/AttributeCore.pm # once (6µs+7µs) by base::import at line 42 of Moose/Meta/Mixin/AttributeCore.pm # once (6µs+7µs) by base::import at line 92 of Moose/Meta/Mixin/AttributeCore.pm # once (6µs+7µs) by base::import at line 69 of Moose/Meta/Mixin/AttributeCore.pm # once (6µs+7µs) by Moose::Exporter::BEGIN@13 at line 394 of Class/MOP.pm # once (5µs+7µs) by Moose::Meta::Role::BEGIN@19 at line 39 of Moose/Meta/Role/Attribute.pm # once (6µs+7µs) by base::import at line 76 of Moose/Meta/Mixin/AttributeCore.pm # once (5µs+7µs) by base::import at line 84 of Moose/Meta/Mixin/AttributeCore.pm # once (5µs+7µs) by base::import at line 21 of Moose/Meta/Mixin/AttributeCore.pm # once (5µs+7µs) by Moose::Meta::Role::BEGIN@19 at line 32 of Moose/Meta/Role/Attribute.pm # once (5µs+7µs) by base::import at line 62 of Moose/Meta/Mixin/AttributeCore.pm # once (5µs+7µs) by base::import at line 35 of Moose/Meta/Mixin/AttributeCore.pm # once (5µs+7µs) by base::import at line 28 of Moose/Meta/Mixin/AttributeCore.pm # once (5µs+7µs) by Moose::Meta::Role::BEGIN@19 at line 46 of Moose/Meta/Role/Attribute.pm # once (5µs+5µs) by Foo::Moose::BEGIN@91 at line 239 of Moose.pm # spent 60µs (11+49) within Moose::Meta::Mixin::AttributeCore::should_auto_deref which was called 3 times, avg 20µs/call: # 3 times (11µs+49µs) by Moose::Meta::Attribute::_auto_deref at line 986 of Moose/Meta/Attribute.pm, avg 20µs/call # spent 493µs (133+360) within Moose::Meta::Method::_new which was called 5 times, avg 99µs/call: # 5 times (133µs+360µs) by Class::MOP::Method::wrap at line 46 of Class/MOP/Method.pm, avg 99µs/call # spent 35µs (18+17) within Moose::Meta::TypeConstraint::Parameterized::meta which was called 2 times, avg 17µs/call: # once (12µs+10µs) by Moose::Util::TypeConstraints::BEGIN@34 at line 19 of Moose/Meta/TypeConstraint/Parameterized.pm # once (6µs+7µs) by Moose::Util::TypeConstraints::BEGIN@34 at line 25 of Moose/Meta/TypeConstraint/Parameterized.pm # spent 48µs within Class::MOP::Method::Constructor::options which was called 31 times, avg 2µs/call: # 31 times (48µ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 83µs within Moose::Meta::TypeConstraint::name which was called 50 times, avg 2µs/call: # 25 times (45µs+0s) by Moose::Meta::TypeConstraint::new at line 146 of Moose/Meta/TypeConstraint.pm, avg 2µs/call # 25 times (38µs+0s) by Moose::Meta::TypeConstraint::Registry::add_type_constraint at line 56 of Moose/Meta/TypeConstraint/Registry.pm, avg 2µs/call # spent 764µs (205+559) within Class::MOP::Class::Immutable::Class::MOP::Class::linearized_isa which was called 65 times, avg 12µs/call: # 50 times (158µs+314µs) by Class::MOP::Class::find_attribute_by_name at line 916 of Class/MOP/Class.pm, avg 9µs/call # 15 times (47µs+244µs) by Class::MOP::Class::get_all_attributes at line 928 of Class/MOP/Class.pm, avg 19µs/call # spent 75µs (13+62) within Moose::Meta::Mixin::AttributeCore::is_weak_ref which was called 4 times, avg 19µs/call: # 4 times (13µs+62µs) by Moose::Meta::Attribute::_inline_weaken_value at line 758 of Moose/Meta/Attribute.pm, avg 19µs/call # spent 13µs (8+6) within Moose::Meta::TypeCoercion::Union::meta which was called: # once (8µs+6µs) by Foo::Moose::BEGIN@91 at line 239 of Moose.pm # spent 99µs (15+84) within Moose::Meta::Mixin::AttributeCore::is_lazy which was called 4 times, avg 25µs/call: # 3 times (13µs+84µs) by Moose::Meta::Attribute::_inline_check_lazy at line 889 of Moose/Meta/Attribute.pm, avg 33µs/call # once (2µs+0s) by Moose::Meta::Class::_inline_init_attr_from_default at line 429 of Moose/Meta/Class.pm # spent 229µs within Class::MOP::Mixin::AttributeCore::has_builder which was called 191 times, avg 1µs/call: # 191 times (229µs+0s) by Class::MOP::Class::_inline_default_value at line 667 of Class/MOP/Class.pm, avg 1µs/call # spent 217µs (92+125) within Class::MOP::Class::Immutable::Class::MOP::Class::is_immutable which was called 26 times, avg 8µs/call: # 26 times (92µs+125µs) by Class::MOP::Class::_real_ref_name at line 128 of Class/MOP/Class.pm, avg 8µs/call # spent 422µs (390+32) within Moose::Meta::TypeConstraint::_new which was called 17 times, avg 25µs/call: # 17 times (390µs+32µs) by Moose::Meta::TypeConstraint::new at line 143 of Moose/Meta/TypeConstraint.pm, avg 25µs/call # spent 48µs within Moose::Meta::TypeConstraint::has_message which was called 27 times, avg 2µs/call: # 25 times (44µs+0s) by Moose::Meta::TypeConstraint::new at line 146 of Moose/Meta/TypeConstraint.pm, avg 2µs/call # once (2µs+0s) by Moose::Meta::Attribute::_eval_environment at line 796 of Moose/Meta/Attribute.pm # once (1µs+0s) by Moose::Meta::Class::_eval_environment at line 535 of Moose/Meta/Class.pm # spent 13µs (8+5) within Moose::Meta::Role::Application::ToRole::meta which was called: # once (8µs+5µs) by Foo::Moose::BEGIN@91 at line 239 of Moose.pm # spent 277µs within Class::MOP::Mixin::AttributeCore::has_reader which was called 200 times, avg 1µs/call: # 200 times (277µs+0s) by Class::MOP::Attribute::install_accessors at line 428 of Class/MOP/Attribute.pm, avg 1µs/call # spent 76µs within Moose::Meta::TypeConstraint::_default_message which was called 27 times, avg 3µs/call: # 25 times (73µs+0s) by Moose::Meta::TypeConstraint::new at line 146 of Moose/Meta/TypeConstraint.pm, avg 3µs/call # once (2µs+0s) by Moose::Meta::Attribute::_eval_environment at line 796 of Moose/Meta/Attribute.pm # once (2µs+0s) by Moose::Meta::Class::_eval_environment at line 535 of Moose/Meta/Class.pm # spent 368µs (30+338) within Moose::Meta::Role::Method::Required::meta which was called 4 times, avg 92µs/call: # 2 times (10µs+11µs) by Foo::Moose::BEGIN@91 at line 239 of Moose.pm, avg 11µs/call # once (8µs+318µs) by Moose::Meta::Role::BEGIN@22 at line 17 of Moose/Meta/Role/Method/Conflicting.pm # once (12µs+9µs) by Moose::Meta::Role::BEGIN@21 at line 22 of Moose/Meta/Role/Method/Required.pm # spent 220µs within Class::MOP::Method::Accessor::associated_attribute which was called 201 times, avg 1µs/call: # 55 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 (56µs+0s) by Class::MOP::Method::Accessor::_generate_reader_method at line 128 of Class/MOP/Method/Accessor.pm, avg 1µs/call # 23 times (24µ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 (22µs+0s) by Class::MOP::Method::Accessor::_generate_predicate_method at line 192 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 # 4 times (4µs+0s) by Moose::Meta::Method::Accessor::_error_thrower at line 29 of Moose/Meta/Method/Accessor.pm, avg 1µs/call # 3 times (4µs+0s) by Moose::Meta::Method::Accessor::_eval_environment at line 52 of Moose/Meta/Method/Accessor.pm, avg 1µs/call # 3 times (3µs+0s) by Class::MOP::Method::Accessor::_generate_writer_method at line 167 of Class/MOP/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 1µs/call # 2 times (3µs+0s) by Moose::Meta::Method::Accessor::_instance_is_inlinable at line 57 of Moose/Meta/Method/Accessor.pm, avg 2µs/call # once (2µs+0s) by Moose::Meta::Attribute::_process_accessors at line 1045 of Moose/Meta/Attribute.pm # spent 19µs within Moose::Meta::Class::destructor_class which was called 8 times, avg 2µs/call: # 2 times (3µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 295 of Class/MOP/Class.pm, avg 1µs/call # once (5µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm # once (3µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm # once (3µs+0s) by Class::MOP::Class::_immutable_options at line 1268 of Class/MOP/Class.pm # once (2µs+0s) by Class::MOP::Class::_check_metaclass_compatibility at line 224 of Class/MOP/Class.pm # once (1µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 290 of Class/MOP/Class.pm # once (1µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 293 of Class/MOP/Class.pm # spent 65µs (12+53) within Moose::Meta::Mixin::AttributeCore::is_required which was called 4 times, avg 16µs/call: # 3 times (10µs+53µs) by Moose::Meta::Attribute::_inline_check_required at line 655 of Moose/Meta/Attribute.pm, avg 21µs/call # once (2µs+0s) by Moose::Meta::Class::_inline_check_required_attr at line 387 of Moose/Meta/Class.pm # spent 240µs within Class::MOP::Mixin::AttributeCore::has_predicate which was called 200 times, avg 1µs/call: # 200 times (240µs+0s) by Class::MOP::Attribute::install_accessors at line 436 of Class/MOP/Attribute.pm, avg 1µs/call # spent 246µs within Class::MOP::Mixin::AttributeCore::has_clearer which was called 200 times, avg 1µs/call: # 200 times (246µs+0s) by Class::MOP::Attribute::install_accessors at line 440 of Class/MOP/Attribute.pm, avg 1µs/call # spent 34µs (18+17) within Moose::Meta::TypeConstraint::Parameterizable::meta which was called 2 times, avg 17µs/call: # once (12µs+10µs) by Moose::Meta::TypeConstraint::Parameterized::BEGIN@15 at line 19 of Moose/Meta/TypeConstraint/Parameterizable.pm # once (5µs+7µs) by Moose::Meta::TypeConstraint::Parameterized::BEGIN@15 at line 25 of Moose/Meta/TypeConstraint/Parameterizable.pm # spent 12µs (12+500ns) within Foo::Moose::new which was called: # once (12µs+500ns) by main::RUNTIME at line 95 of fastest.pl # spent 44µs (22+21) within Moose::Meta::Role::Application::meta which was called 3 times, avg 14µs/call: # once (12µs+10µs) by Moose::BEGIN@37 at line 17 of Moose/Meta/Role/Application.pm # once (5µs+7µs) by Moose::BEGIN@37 at line 24 of Moose/Meta/Role/Application.pm # once (5µs+5µs) by Foo::Moose::BEGIN@91 at line 239 of Moose.pm # spent 113µs (20+94) within Moose::Meta::Mixin::AttributeCore::has_type_constraint which was called 7 times, avg 16µs/call: # 4 times (10µs+48µs) by Moose::Meta::Attribute::_inline_check_constraint at line 707 of Moose/Meta/Attribute.pm, avg 15µs/call # 3 times (10µs+45µs) by Moose::Meta::Attribute::_eval_environment at line 786 of Moose/Meta/Attribute.pm, avg 18µs/call # spent 92µs (83+9) within Class::MOP::Instance::_class_name which was called 32 times, avg 3µs/call: # 32 times (83µs+9µs) by Class::MOP::Instance::create_instance at line 80 of Class/MOP/Instance.pm, avg 3µs/call # spent 62µs within Moose::Meta::TypeConstraint::inlined which was called 43 times, avg 1µs/call: # 43 times (62µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 216 of Moose/Meta/TypeConstraint.pm, avg 1µs/call # spent 365µs within Class::MOP::Mixin::AttributeCore::has_default which was called 290 times, avg 1µs/call: # 287 times (359µs+0s) by Class::MOP::Class::_inline_default_value at line 667 of Class/MOP/Class.pm, avg 1µs/call # 3 times (6µs+0s) by Moose::Meta::Attribute::_eval_environment at line 783 of Moose/Meta/Attribute.pm, avg 2µs/call # spent 22µs (12+10) within Moose::Meta::TypeConstraint::Role::meta which was called: # once (12µs+10µs) by Moose::Util::TypeConstraints::BEGIN@37 at line 19 of Moose/Meta/TypeConstraint/Role.pm # spent 106µs within Moose::Meta::TypeConstraint::_has_inlined_type_constraint which was called 76 times, avg 1µs/call: # 76 times (106µs+0s) by Moose::Meta::TypeConstraint::can_be_inlined at line 201 of Moose/Meta/TypeConstraint.pm, avg 1µs/call # spent 11µs within Moose::Meta::Mixin::AttributeCore::type_constraint which was called 6 times, avg 2µs/call: # 4 times (7µs+0s) by Moose::Meta::Attribute::_inline_check_constraint at line 711 of Moose/Meta/Attribute.pm, avg 2µs/call # once (2µs+0s) by Moose::Meta::Class::_eval_environment at line 521 of Moose/Meta/Class.pm # once (2µs+0s) by Moose::Meta::Attribute::_eval_environment at line 787 of Moose/Meta/Attribute.pm # spent 150µs (68+83) within Moose::Meta::TypeConstraint::meta which was called 11 times, avg 14µs/call: # once (13µs+10µs) by Moose::BEGIN@28 at line 28 of Moose/Meta/TypeConstraint.pm # once (6µs+7µs) by Moose::BEGIN@28 at line 112 of Moose/Meta/TypeConstraint.pm # once (6µs+7µs) by Moose::BEGIN@28 at line 78 of Moose/Meta/TypeConstraint.pm # once (6µs+7µs) by Moose::BEGIN@28 at line 84 of Moose/Meta/TypeConstraint.pm # once (5µs+8µs) by Moose::BEGIN@28 at line 32 of Moose/Meta/TypeConstraint.pm # once (6µs+7µs) by Moose::BEGIN@28 at line 52 of Moose/Meta/TypeConstraint.pm # once (6µs+7µs) by Moose::BEGIN@28 at line 91 of Moose/Meta/TypeConstraint.pm # once (6µs+7µs) by Moose::BEGIN@28 at line 118 of Moose/Meta/TypeConstraint.pm # once (5µs+7µs) by Moose::BEGIN@28 at line 43 of Moose/Meta/TypeConstraint.pm # once (5µs+7µs) by Moose::BEGIN@28 at line 46 of Moose/Meta/TypeConstraint.pm # once (5µs+7µs) by Moose::BEGIN@28 at line 102 of Moose/Meta/TypeConstraint.pm # spent 63µs (30+33) within Moose::Meta::Role::Composite::meta which was called 4 times, avg 16µs/call: # once (15µs+11µs) by Moose::BEGIN@36 at line 24 of Moose/Meta/Role/Composite.pm # once (5µs+11µs) by Moose::BEGIN@36 at line 40 of Moose/Meta/Role/Composite.pm # once (5µs+7µs) by Moose::BEGIN@36 at line 37 of Moose/Meta/Role/Composite.pm # once (4µs+5µs) by Foo::Moose::BEGIN@91 at line 239 of Moose.pm
$self->_package_stash->add_symbol(@_);
# spent 5.84ms making 390 calls to Package::Stash::XS::add_symbol, avg 15µs/call # spent 546µs making 390 calls to Class::MOP::Package::_package_stash, avg 1µs/call # spent 294µs making 390 calls to Package::Stash::XS::namespace, avg 754ns/call # spent 277µs making 390 calls to Package::Stash::XS::name, avg 710ns/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 247µs (106+141) within Class::MOP::Package::has_package_symbol which was called 18 times, avg 14µs/call: # 12 times (65µs+58µs) by Moose::Exporter::__ANON__[/opt/perl-5.18.1/lib/site_perl/5.18.1/darwin-thread-multi-2level/Moose/Exporter.pm:137] at line 121 of Moose/Exporter.pm, avg 10µs/call # 4 times (28µs+72µs) by Moose::Exporter::build_import_methods at line 91 of Moose/Exporter.pm, avg 25µs/call # 2 times (13µs+11µs) by Moose::Meta::Attribute::_process_accessors at line 1070 of Moose/Meta/Attribute.pm, avg 12µs/call
sub has_package_symbol {
232183µs my $self = shift;
23318185µs56167µs $self->_package_stash->has_symbol(@_);
# spent 94µs making 18 calls to Package::Stash::XS::has_symbol, avg 5µs/call # spent 47µs making 18 calls to Class::MOP::Package::_package_stash, avg 3µs/call # spent 25µs making 18 calls to Package::Stash::XS::namespace, avg 1µs/call # spent 1µs making 2 calls to Package::Stash::XS::name, avg 700ns/call
234}
235
236
# spent 11.6ms (8.89+2.76) within Class::MOP::Package::get_package_symbol which was called 522 times, avg 22µs/call: # 522 times (8.89ms+2.76ms) by Class::MOP::Mixin::HasMethods::_get_maybe_raw_method at line 137 of Class/MOP/Mixin/HasMethods.pm, avg 22µs/call
sub get_package_symbol {
23752280µs my $self = shift;
23852210.6ms15663.07ms $self->_package_stash->get_symbol(@_);
# spent 2.20ms making 522 calls to Package::Stash::XS::get_symbol, avg 4µs/call # spent 562µs making 522 calls to Class::MOP::Package::_package_stash, avg 1µs/call # spent 308µs making 522 calls to Package::Stash::XS::namespace, avg 590ns/call
239}
240
241
# spent 2.33ms (432µs+1.90) within Class::MOP::Package::get_or_add_package_symbol which was called 78 times, avg 30µs/call: # 78 times (432µs+1.90ms) by Class::MOP::Class::superclasses at line 938 of Class/MOP/Class.pm, avg 30µs/call
sub get_or_add_package_symbol {
242789µs my $self = shift;
243781.24ms3022.34ms $self->_package_stash->get_or_add_symbol(@_);
# spent 1.04ms making 78 calls to Class::MOP::Package::_package_stash, avg 13µs/call # spent 854µs making 78 calls to Package::Stash::XS::get_or_add_symbol, avg 11µs/call # spent 401µs making 78 calls to Package::Stash::XS::namespace, avg 5µs/call # spent 43µs making 68 calls to Package::Stash::XS::name, avg 638ns/call
244}
245
246sub remove_package_symbol {
247 my $self = shift;
248 $self->_package_stash->remove_symbol(@_);
249}
250
251
# spent 65µs (27+38) within Class::MOP::Package::list_all_package_symbols which was called 4 times, avg 16µs/call: # 4 times (27µs+38µs) by Class::MOP::Mixin::HasMethods::_full_method_map at line 205 of Class/MOP/Mixin/HasMethods.pm, avg 16µs/call
sub list_all_package_symbols {
25241µs my $self = shift;
253456µs1241µs $self->_package_stash->list_all_symbols(@_);
# spent 33µs making 4 calls to Package::Stash::XS::list_all_symbols, avg 8µs/call # spent 5µs making 4 calls to Class::MOP::Package::_package_stash, avg 1µs/call # spent 3µs making 4 calls to Package::Stash::XS::namespace, avg 750ns/call
254}
255
256sub get_all_package_symbols {
257 my $self = shift;
258 $self->_package_stash->get_all_symbols(@_);
259}
260
26114µs1;
262
263# ABSTRACT: Package Meta Object
264
265__END__
 
# spent 909µs within Class::MOP::Attribute::associated_class which was called 1554 times, avg 585ns/call: # 398 times (211µs+0s) by Class::MOP::Attribute::_inline_instance_set at line 287 of Class/MOP/Attribute.pm, avg 531ns/call # 382 times (199µs+0s) by Class::MOP::Attribute::try {...} at line 389 of Class/MOP/Attribute.pm, avg 521ns/call # 248 times (162µs+0s) by Class::MOP::Attribute::_accessor_description at line 411 of Class/MOP/Attribute.pm, avg 652ns/call # 200 times (141µs+0s) by Class::MOP::Attribute::install_accessors at line 422 of Class/MOP/Attribute.pm, avg 705ns/call # 114 times (58µs+0s) by Class::MOP::Attribute::_process_accessors at line 372 of Class/MOP/Attribute.pm, avg 508ns/call # 95 times (57µs+0s) by Class::MOP::Attribute::_process_accessors at line 384 of Class/MOP/Attribute.pm, avg 599ns/call # 78 times (54µs+0s) by Class::MOP::Attribute::_inline_instance_get at line 310 of Class/MOP/Attribute.pm, avg 690ns/call # 16 times (11µs+0s) by Class::MOP::Attribute::_inline_instance_has at line 331 of Class/MOP/Attribute.pm, avg 675ns/call # 5 times (4µs+0s) by Moose::Meta::Attribute::_process_accessors at line 1070 of Moose/Meta/Attribute.pm, avg 740ns/call # 4 times (3µs+0s) by Moose::Meta::Attribute::_error_thrower at line 53 of Moose/Meta/Attribute.pm, avg 850ns/call # 4 times (2µs+0s) by Moose::Meta::Attribute::_inline_throw_error at line 74 of Moose/Meta/Attribute.pm, avg 600ns/call # 3 times (2µs+0s) by Moose::Meta::Attribute::_eval_environment at line 809 of Moose/Meta/Attribute.pm, avg 800ns/call # 3 times (2µs+0s) by Moose::Meta::Attribute::_process_accessors at line 1043 of Moose/Meta/Attribute.pm, avg 700ns/call # 2 times (2µs+0s) by Moose::Meta::Attribute::_inline_weaken_value at line 760 of Moose/Meta/Attribute.pm, avg 750ns/call # 2 times (1µs+0s) by Moose::Meta::Method::Accessor::_instance_is_inlinable at line 57 of Moose/Meta/Method/Accessor.pm, avg 700ns/call
sub Class::MOP::Attribute::associated_class; # xsub
# spent 800ns within Class::MOP::Attribute::associated_methods which was called: # once (800ns+0s) by Moose::Meta::Attribute::_check_associated_methods at line 1024 of Moose/Meta/Attribute.pm
sub Class::MOP::Attribute::associated_methods; # xsub
# spent 102µs within Class::MOP::Class::constructor_class which was called 178 times, avg 575ns/call: # 53 times (30µs+0s) by Class::MOP::Class::_immutable_options at line 1268 of Class/MOP/Class.pm, avg 557ns/call # 45 times (27µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm, avg 591ns/call # 45 times (26µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm, avg 587ns/call # 35 times (20µs+0s) by List::MoreUtils::all at line 214 of Class/MOP/Class.pm, avg 569ns/call
sub Class::MOP::Class::constructor_class; # xsub
# spent 40µs within Class::MOP::Class::constructor_name which was called 54 times, avg 731ns/call: # 54 times (40µs+0s) by Class::MOP::Class::_immutable_options at line 1268 of Class/MOP/Class.pm, avg 731ns/call
sub Class::MOP::Class::constructor_name; # xsub
# spent 97µs within Class::MOP::Class::destructor_class which was called 178 times, avg 545ns/call: # 53 times (27µs+0s) by Class::MOP::Class::_immutable_options at line 1268 of Class/MOP/Class.pm, avg 513ns/call # 45 times (26µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm, avg 580ns/call # 45 times (24µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm, avg 542ns/call # 35 times (19µs+0s) by List::MoreUtils::all at line 214 of Class/MOP/Class.pm, avg 551ns/call
sub Class::MOP::Class::destructor_class; # xsub
# spent 81µs within Class::MOP::Class::immutable_trait which was called 106 times, avg 767ns/call: # 53 times (46µs+0s) by Class::MOP::Class::_immutable_options at line 1268 of Class/MOP/Class.pm, avg 864ns/call # 53 times (36µs+0s) by Class::MOP::Class::_immutable_metaclass at line 1327 of Class/MOP/Class.pm, avg 670ns/call
sub Class::MOP::Class::immutable_trait; # xsub
# spent 159µs within Class::MOP::Class::instance_metaclass which was called 277 times, avg 573ns/call: # 95 times (48µs+0s) by Class::MOP::Attribute::_process_accessors at line 384 of Class/MOP/Attribute.pm, avg 511ns/call # 48 times (29µs+0s) by Class::MOP::Class::_create_meta_instance at line 726 of Class/MOP/Class.pm, avg 604ns/call # 46 times (27µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm, avg 589ns/call # 46 times (26µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm, avg 563ns/call # 35 times (21µs+0s) by List::MoreUtils::all at line 214 of Class/MOP/Class.pm, avg 591ns/call # 2 times (3µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 295 of Class/MOP/Class.pm, avg 1µs/call # 2 times (1µs+0s) by Moose::Meta::Method::Accessor::_instance_is_inlinable at line 57 of Moose/Meta/Method/Accessor.pm, avg 700ns/call # once (2µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 290 of Class/MOP/Class.pm # once (1µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 293 of Class/MOP/Class.pm # once (800ns+0s) by Class::MOP::Class::_check_metaclass_compatibility at line 224 of Class/MOP/Class.pm
sub Class::MOP::Class::instance_metaclass; # xsub
# spent 5µs within Class::MOP::Instance::associated_metaclass which was called 6 times, avg 800ns/call: # 6 times (5µs+0s) by Class::MOP::Instance::_class_name at line 76 of Class/MOP/Instance.pm, avg 800ns/call
sub Class::MOP::Instance::associated_metaclass; # xsub
# spent 90µs within Class::MOP::Method::Generated::definition_context which was called 129 times, avg 698ns/call: # 129 times (90µs+0s) by Class::MOP::Method::Generated::_generate_description at line 30 of Class/MOP/Method/Generated.pm, avg 698ns/call
sub Class::MOP::Method::Generated::definition_context; # xsub
# spent 150µs within Class::MOP::Method::Generated::is_inline which was called 221 times, avg 679ns/call: # 191 times (130µs+0s) by Class::MOP::Method::Accessor::_initialize_body at line 83 of Class/MOP/Method/Accessor.pm, avg 682ns/call # 30 times (20µs+0s) by Class::MOP::Method::Constructor::_initialize_body at line 82 of Class/MOP/Method/Constructor.pm, avg 657ns/call
sub Class::MOP::Method::Generated::is_inline; # xsub
# spent 27µs within Class::MOP::Method::Inlined::_expected_method_class which was called 32 times, avg 856ns/call: # 32 times (27µs+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 53 of Class/MOP/Method/Inlined.pm, avg 856ns/call
sub Class::MOP::Method::Inlined::_expected_method_class; # xsub
# spent 315µs within Class::MOP::Method::body which was called 531 times, avg 593ns/call: # 363 times (214µs+0s) by Class::MOP::Mixin::HasMethods::add_method at line 63 of Class/MOP/Mixin/HasMethods.pm, avg 591ns/call # 88 times (44µs+0s) by Class::MOP::Method::Wrapped::wrap at line 79 of Class/MOP/Method/Wrapped.pm, avg 494ns/call # 44 times (33µs+0s) by Class::MOP::MiniTrait::apply at line 25 of Class/MOP/MiniTrait.pm, avg 759ns/call # 23 times (15µs+0s) by Class::MOP::Mixin::HasMethods::_method_map at line 79 of Class/MOP/Mixin/HasMethods.pm, avg 643ns/call # 7 times (5µs+0s) by Class::MOP::Mixin::HasMethods::_method_map at line 134 of Class/MOP/Mixin/HasMethods.pm, avg 686ns/call # 5 times (3µs+0s) by Class::MOP::Mixin::HasMethods::_method_map at line 90 of Class/MOP/Class/Immutable/Trait.pm, avg 640ns/call # once (900ns+0s) by Moose::Meta::Class::_inline_BUILDARGS at line 337 of Moose/Meta/Class.pm
sub Class::MOP::Method::body; # xsub
# spent 113µs within Class::MOP::Method::name which was called 184 times, avg 615ns/call: # 90 times (46µs+0s) by Class::MOP::Class::get_all_methods at line 1136 of Class/MOP/Class.pm, avg 509ns/call # 58 times (44µs+0s) by Class::MOP::MiniTrait::apply at line 23 of Class/MOP/MiniTrait.pm, avg 764ns/call # 32 times (21µs+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 40 of Class/MOP/Method/Inlined.pm, avg 647ns/call # 2 times (1µs+0s) by Moose::Meta::Method::_inline_throw_error at line 45 of Moose/Meta/Method.pm, avg 600ns/call # once (600ns+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 58 of Class/MOP/Method/Inlined.pm # once (500ns+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 70 of Class/MOP/Method/Inlined.pm
sub Class::MOP::Method::name; # xsub
# spent 247µs within Class::MOP::Method::package_name which was called 453 times, avg 546ns/call: # 363 times (205µs+0s) by Class::MOP::Mixin::HasMethods::add_method at line 64 of Class/MOP/Mixin/HasMethods.pm, avg 565ns/call # 90 times (42µs+0s) by Class::MOP::MiniTrait::apply at line 22 of Class/MOP/MiniTrait.pm, avg 469ns/call
sub Class::MOP::Method::package_name; # xsub
# spent 30µs within Class::MOP::Mixin::AttributeCore::accessor which was called 46 times, avg 650ns/call: # 46 times (30µs+0s) by Class::MOP::Attribute::install_accessors at line 424 of Class/MOP/Attribute.pm, avg 650ns/call
sub Class::MOP::Mixin::AttributeCore::accessor; # xsub
# spent 160µs within Class::MOP::Mixin::AttributeCore::definition_context which was called 248 times, avg 644ns/call: # 248 times (160µs+0s) by Class::MOP::Attribute::_process_accessors at line 363 of Class/MOP/Attribute.pm, avg 644ns/call
sub Class::MOP::Mixin::AttributeCore::definition_context; # xsub
# spent 342µs within Class::MOP::Mixin::AttributeCore::init_arg which was called 620 times, avg 551ns/call: # 287 times (191µs+0s) by Class::MOP::Class::_inline_slot_initializer at line 599 of Class/MOP/Class.pm, avg 667ns/call # 275 times (114µs+0s) by Class::MOP::Class::_inline_init_attr_from_constructor at line 630 of Class/MOP/Class.pm, avg 416ns/call # 56 times (35µs+0s) by Moose::Meta::Attribute::new at line 94 of Moose/Meta/Attribute.pm, avg 623ns/call # once (800ns+0s) by Moose::Meta::Class::_inline_check_required_attr at line 386 of Moose/Meta/Class.pm # once (400ns+0s) by Moose::Meta::Class::_inline_init_attr_from_constructor at line 406 of Moose/Meta/Class.pm
sub Class::MOP::Mixin::AttributeCore::init_arg; # xsub
# spent 2.13ms within Class::MOP::Mixin::AttributeCore::name which was called 4628 times, avg 460ns/call: # 1550 times (604µs+0s) by Class::MOP::Class::CORE:sort at line 708 of Class/MOP/Class.pm, avg 389ns/call # 1490 times (571µs+0s) by Class::MOP::Class::CORE:sort at line 591 of Class/MOP/Class.pm, avg 383ns/call # 419 times (215µs+0s) by Class::MOP::Attribute::slots at line 234 of Class/MOP/Attribute.pm, avg 514ns/call # 398 times (268µs+0s) by Class::MOP::Attribute::_inline_instance_set at line 288 of Class/MOP/Attribute.pm, avg 673ns/call # 354 times (190µs+0s) by Class::MOP::Attribute::_accessor_description at line 412 of Class/MOP/Attribute.pm, avg 538ns/call # 164 times (89µs+0s) by Class::MOP::Attribute::_set_initial_slot_value at line 148 of Class/MOP/Attribute.pm, avg 540ns/call # 124 times (101µs+0s) by Class::MOP::Mixin::HasAttributes::add_attribute at line 29 of Class/MOP/Mixin/HasAttributes.pm, avg 818ns/call # 78 times (54µs+0s) by Class::MOP::Attribute::_inline_instance_get at line 311 of Class/MOP/Attribute.pm, avg 695ns/call # 16 times (11µs+0s) by Class::MOP::Attribute::_inline_instance_has at line 332 of Class/MOP/Attribute.pm, avg 712ns/call # 12 times (8µs+0s) by Class::MOP::Attribute::get_raw_value at line 298 of Class/MOP/Attribute.pm, avg 708ns/call # 12 times (8µs+0s) by Class::MOP::Attribute::has_value at line 319 of Class/MOP/Attribute.pm, avg 708ns/call # 4 times (2µs+0s) by Moose::Meta::Attribute::_inline_throw_error at line 77 of Moose/Meta/Attribute.pm, avg 600ns/call # 2 times (1µs+0s) by Moose::Meta::Attribute::_inline_check_constraint at line 709 of Moose/Meta/Attribute.pm, avg 700ns/call # 2 times (1µs+0s) by Moose::Meta::Attribute::_inline_weaken_value at line 762 of Moose/Meta/Attribute.pm, avg 700ns/call # 2 times (1µs+0s) by Moose::Meta::Attribute::_process_accessors at line 1045 of Moose/Meta/Attribute.pm, avg 600ns/call # once (700ns+0s) by Moose::Meta::Class::_inline_slot_initializer at line 376 of Moose/Meta/Class.pm
sub Class::MOP::Mixin::AttributeCore::name; # xsub
# spent 26µs within Class::MOP::Mixin::AttributeCore::predicate which was called 42 times, avg 614ns/call: # 42 times (26µs+0s) by Class::MOP::Attribute::install_accessors at line 436 of Class/MOP/Attribute.pm, avg 614ns/call
sub Class::MOP::Mixin::AttributeCore::predicate; # xsub
# spent 97µs within Class::MOP::Mixin::AttributeCore::reader which was called 152 times, avg 636ns/call: # 152 times (97µs+0s) by Class::MOP::Attribute::install_accessors at line 428 of Class/MOP/Attribute.pm, avg 636ns/call
sub Class::MOP::Mixin::AttributeCore::reader; # xsub
# spent 6µs within Class::MOP::Mixin::AttributeCore::writer which was called 8 times, avg 725ns/call: # 8 times (6µs+0s) by Class::MOP::Attribute::install_accessors at line 432 of Class/MOP/Attribute.pm, avg 725ns/call
sub Class::MOP::Mixin::AttributeCore::writer; # xsub
# spent 654µs within Class::MOP::Mixin::HasAttributes::_attribute_map which was called 1052 times, avg 622ns/call: # 463 times (319µs+0s) by Class::MOP::Class::get_all_attributes at line 928 of Class/MOP/Class.pm, avg 689ns/call # 178 times (115µs+0s) by Class::MOP::Mixin::HasAttributes::has_attribute at line 56 of Class/MOP/Mixin/HasAttributes.pm, avg 644ns/call # 130 times (73µs+0s) by Class::MOP::Mixin::HasAttributes::get_attribute at line 65 of Class/MOP/Mixin/HasAttributes.pm, avg 559ns/call # 124 times (63µs+0s) by Class::MOP::Mixin::HasAttributes::add_attribute at line 37 of Class/MOP/Mixin/HasAttributes.pm, avg 510ns/call # 124 times (62µs+0s) by Class::MOP::Mixin::HasAttributes::add_attribute at line 34 of Class/MOP/Mixin/HasAttributes.pm, avg 496ns/call # 33 times (23µs+0s) by Class::MOP::Mixin::HasAttributes::get_attribute_list at line 84 of Class/MOP/Mixin/HasAttributes.pm, avg 709ns/call
sub Class::MOP::Mixin::HasAttributes::_attribute_map; # xsub
# spent 144µs within Class::MOP::Mixin::HasAttributes::attribute_metaclass which was called 207 times, avg 696ns/call: # 74 times (60µs+0s) by Class::MOP::Mixin::HasAttributes::add_attribute at line 20 of Class/MOP/Mixin/HasAttributes.pm, avg 812ns/call # 46 times (31µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm, avg 683ns/call # 46 times (26µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm, avg 574ns/call # 35 times (21µs+0s) by List::MoreUtils::all at line 214 of Class/MOP/Class.pm, avg 600ns/call # 2 times (1µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 295 of Class/MOP/Class.pm, avg 600ns/call # once (2µs+0s) by Moose::Meta::Class::_process_new_attribute at line 714 of Moose/Meta/Class.pm # once (1µs+0s) by Class::MOP::Class::_check_metaclass_compatibility at line 224 of Class/MOP/Class.pm # once (600ns+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 293 of Class/MOP/Class.pm # once (600ns+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 290 of Class/MOP/Class.pm
sub Class::MOP::Mixin::HasAttributes::attribute_metaclass; # xsub
# spent 2.50ms (2.48+23µs) within Class::MOP::Mixin::HasMethods::_method_map which was called 867 times, avg 3µs/call: # 388 times (882µs+5µs) by Class::MOP::Mixin::HasMethods::_get_maybe_raw_method at line 134 of Class/MOP/Mixin/HasMethods.pm, avg 2µs/call # 386 times (1.39ms+15µs) by Class::MOP::Mixin::HasMethods::add_method at line 79 of Class/MOP/Mixin/HasMethods.pm, avg 4µs/call # 52 times (95µs+0s) by Class::MOP::Mixin::HasMethods::get_method at line 124 of Class/MOP/Mixin/HasMethods.pm, avg 2µs/call # 18 times (78µs+3µs) by Class::MOP::Class:::around at line 90 of Class/MOP/Class/Immutable/Trait.pm, avg 5µs/call # 17 times (26µs+0s) by Class::MOP::Mixin::HasMethods::_full_method_map at line 209 of Class/MOP/Mixin/HasMethods.pm, avg 2µs/call # 6 times (8µ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 123µs within Class::MOP::Mixin::HasMethods::method_metaclass which was called 197 times, avg 622ns/call: # 65 times (45µs+0s) by Class::MOP::Mixin::HasMethods::wrap_method_body at line 48 of Class/MOP/Mixin/HasMethods.pm, avg 688ns/call # 46 times (28µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm, avg 602ns/call # 46 times (26µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm, avg 557ns/call # 35 times (20µs+0s) by List::MoreUtils::all at line 214 of Class/MOP/Class.pm, avg 583ns/call # 2 times (1µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 295 of Class/MOP/Class.pm, avg 600ns/call # once (1µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 290 of Class/MOP/Class.pm # once (1µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 293 of Class/MOP/Class.pm # once (800ns+0s) by Class::MOP::Class::_check_metaclass_compatibility at line 224 of Class/MOP/Class.pm
sub Class::MOP::Mixin::HasMethods::method_metaclass; # xsub
# spent 114µs within Class::MOP::Mixin::HasMethods::wrapped_method_metaclass which was called 176 times, avg 650ns/call: # 46 times (32µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 352 of Class/MOP/Class.pm, avg 698ns/call # 46 times (29µs+0s) by Class::MOP::Class::_single_metaclass_can_be_made_compatible at line 355 of Class/MOP/Class.pm, avg 639ns/call # 44 times (28µs+0s) by Class::MOP::Class::__ANON__[/opt/perl-5.18.1/lib/site_perl/5.18.1/darwin-thread-multi-2level/Class/MOP/Class.pm:1072] at line 1045 of Class/MOP/Class.pm, avg 639ns/call # 35 times (21µs+0s) by List::MoreUtils::all at line 214 of Class/MOP/Class.pm, avg 611ns/call # 2 times (1µs+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 295 of Class/MOP/Class.pm, avg 550ns/call # once (1µs+0s) by Class::MOP::Class::_check_metaclass_compatibility at line 224 of Class/MOP/Class.pm # once (700ns+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 290 of Class/MOP/Class.pm # once (600ns+0s) by Class::MOP::Class::_single_metaclass_is_compatible at line 293 of Class/MOP/Class.pm
sub Class::MOP::Mixin::HasMethods::wrapped_method_metaclass; # xsub
# spent 1.39ms within Class::MOP::Package::name which was called 2141 times, avg 649ns/call: # 386 times (284µs+0s) by Class::MOP::Mixin::HasMethods::add_method at line 59 of Class/MOP/Mixin/HasMethods.pm, avg 736ns/call # 386 times (234µs+0s) by Class::MOP::Mixin::HasMethods::update_package_cache_flag at line 194 of Class/MOP/Mixin/HasMethods.pm, avg 605ns/call # 309 times (187µs+0s) by Class::MOP::Class::linearized_isa at line 999 of Class/MOP/Class.pm, avg 605ns/call # 248 times (161µs+0s) by Class::MOP::Attribute::_accessor_description at line 411 of Class/MOP/Attribute.pm, avg 649ns/call # 191 times (98µs+0s) by Class::MOP::Attribute::try {...} at line 389 of Class/MOP/Attribute.pm, avg 513ns/call # 105 times (66µs+0s) by Class::MOP::Mixin::HasMethods::_code_is_mine at line 97 of Class/MOP/Mixin/HasMethods.pm, avg 629ns/call # 70 times (61µs+0s) by Class::MOP::Package::_package_stash at line 209, avg 874ns/call # 65 times (33µs+0s) by Class::MOP::Mixin::HasMethods::wrap_method_body at line 48 of Class/MOP/Mixin/HasMethods.pm, avg 506ns/call # 62 times (41µs+0s) by Class::MOP::Class::_inline_constructor at line 1438 of Class/MOP/Class.pm, avg 668ns/call # 57 times (31µs+0s) by Class::MOP::Attribute::_process_accessors at line 372 of Class/MOP/Attribute.pm, avg 537ns/call # 44 times (34µs+0s) by Class::MOP::Class::__ANON__[/opt/perl-5.18.1/lib/site_perl/5.18.1/darwin-thread-multi-2level/Class/MOP/Class.pm:1072] at line 1058 of Class/MOP/Class.pm, avg 777ns/call # 32 times (34µs+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 35 of Class/MOP/Method/Inlined.pm, avg 1µs/call # 32 times (21µs+0s) by Class::MOP::Class::_construct_instance at line 527 of Class/MOP/Class.pm, avg 656ns/call # 31 times (24µs+0s) by Class::MOP::Class::_inline_preserve_weak_metaclasses at line 691 of Class/MOP/Class.pm, avg 758ns/call # 31 times (21µs+0s) by Class::MOP::Class::_inline_fallback_constructor at line 553 of Class/MOP/Class.pm, avg 690ns/call # 30 times (21µs+0s) by Class::MOP::Class::new_object at line 496 of Class/MOP/Class.pm, avg 703ns/call # 25 times (15µs+0s) by Class::MOP::Mixin::HasMethods::_add_meta_method at line 33 of Class/MOP/Mixin/HasMethods.pm, avg 616ns/call # 17 times (9µs+0s) by Class::MOP::Mixin::HasMethods::_full_method_map at line 200 of Class/MOP/Mixin/HasMethods.pm, avg 524ns/call # 6 times (4µs+0s) by Class::MOP::Instance::_class_name at line 76 of Class/MOP/Instance.pm, avg 667ns/call # 4 times (3µs+0s) by Moose::Meta::Attribute::_inline_throw_error at line 76 of Moose/Meta/Attribute.pm, avg 750ns/call # 3 times (3µs+0s) by Class::MOP::Class::superclasses at line 948 of Class/MOP/Class.pm, avg 967ns/call # 2 times (2µs+0s) by Moose::Meta::Method::_inline_throw_error at line 44 of Moose/Meta/Method.pm, avg 900ns/call # 2 times (1µs+0s) by Class::MOP::Class::_inline_destructor at line 1477 of Class/MOP/Class.pm, avg 650ns/call # 2 times (1µs+0s) by Class::MOP::Module::_instantiate_module at line 81 of Class/MOP/Module.pm, avg 600ns/call # once (700ns+0s) by Moose::Meta::Method::Destructor::_initialize_body at line 84 of Moose/Meta/Method/Destructor.pm
sub Class::MOP::Package::name; # xsub
# spent 900ns within Moose::Meta::Class::CORE:match which was called: # once (900ns+0s) by Moose::Meta::Class::_process_attribute at line 703 of Moose/Meta/Class.pm
sub Moose::Meta::Class::CORE:match; # opcode
# spent 1µs within Moose::Meta::Class::CORE:sort which was called 2 times, avg 600ns/call: # once (700ns+0s) by Moose::Meta::Class::_inline_triggers at line 467 of Moose/Meta/Class.pm # once (500ns+0s) by Moose::Meta::Class::_eval_environment at line 505 of Moose/Meta/Class.pm
sub Moose::Meta::Class::CORE:sort; # opcode
# spent 34µs within Moose::Meta::Class::CORE:subst which was called 12 times, avg 3µs/call: # 12 times (34µs+0s) by Moose::Meta::Class::_base_metaclasses at line 632 of Moose/Meta/Class.pm, avg 3µs/call
sub Moose::Meta::Class::CORE:subst; # opcode