Filename | /Users/dde/perl5/perlbrew/perls/5.18.0t/lib/5.18.0/darwin-thread-multi-2level/Scalar/Util.pm |
Statements | Executed 13 statements in 301µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
405109 | 42 | 27 | 138ms | 138ms | blessed (xsub) | Scalar::Util::
2294 | 14 | 11 | 1.49ms | 1.49ms | weaken (xsub) | Scalar::Util::
1362 | 5 | 4 | 527µs | 527µs | reftype (xsub) | Scalar::Util::
140 | 1 | 1 | 56µs | 56µs | isweak (xsub) | Scalar::Util::
56 | 2 | 2 | 20µs | 20µs | refaddr (xsub) | Scalar::Util::
1 | 1 | 1 | 9µs | 19µs | BEGIN@9 | Scalar::Util::
0 | 0 | 0 | 0s | 0s | export_fail | Scalar::Util::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | # Scalar::Util.pm | ||||
2 | # | ||||
3 | # Copyright (c) 1997-2007 Graham Barr <gbarr@pobox.com>. All rights reserved. | ||||
4 | # This program is free software; you can redistribute it and/or | ||||
5 | # modify it under the same terms as Perl itself. | ||||
6 | |||||
7 | package Scalar::Util; | ||||
8 | |||||
9 | 2 | 211µs | 2 | 29µs | # spent 19µs (9+10) within Scalar::Util::BEGIN@9 which was called:
# once (9µs+10µs) by Moose::BEGIN@13 at line 9 # spent 19µs making 1 call to Scalar::Util::BEGIN@9
# spent 10µs making 1 call to strict::import |
10 | 1 | 400ns | require Exporter; | ||
11 | 1 | 65µs | require List::Util; # List::Util loads the XS | ||
12 | |||||
13 | 1 | 4µs | our @ISA = qw(Exporter); | ||
14 | 1 | 2µs | our @EXPORT_OK = qw( | ||
15 | blessed | ||||
16 | dualvar | ||||
17 | isdual | ||||
18 | isvstring | ||||
19 | isweak | ||||
20 | looks_like_number | ||||
21 | openhandle | ||||
22 | readonly | ||||
23 | refaddr | ||||
24 | reftype | ||||
25 | set_prototype | ||||
26 | tainted | ||||
27 | weaken | ||||
28 | ); | ||||
29 | 1 | 200ns | our $VERSION = "1.27"; | ||
30 | 1 | 11µs | $VERSION = eval $VERSION; # spent 2µs executing statements in string eval | ||
31 | |||||
32 | 1 | 100ns | our @EXPORT_FAIL; | ||
33 | |||||
34 | 1 | 200ns | unless (defined &weaken) { | ||
35 | push @EXPORT_FAIL, qw(weaken); | ||||
36 | } | ||||
37 | 1 | 100ns | unless (defined &isweak) { | ||
38 | push @EXPORT_FAIL, qw(isweak isvstring); | ||||
39 | } | ||||
40 | 1 | 0s | unless (defined &isvstring) { | ||
41 | push @EXPORT_FAIL, qw(isvstring); | ||||
42 | } | ||||
43 | |||||
44 | sub export_fail { | ||||
45 | if (grep { /^(?:weaken|isweak)$/ } @_ ) { | ||||
46 | require Carp; | ||||
47 | Carp::croak("Weak references are not implemented in the version of perl"); | ||||
48 | } | ||||
49 | |||||
50 | if (grep { /^isvstring$/ } @_ ) { | ||||
51 | require Carp; | ||||
52 | Carp::croak("Vstrings are not implemented in the version of perl"); | ||||
53 | } | ||||
54 | |||||
55 | @_; | ||||
56 | } | ||||
57 | |||||
58 | 1 | 6µs | 1; | ||
59 | |||||
60 | __END__ | ||||
# spent 138ms within Scalar::Util::blessed which was called 405109 times, avg 340ns/call:
# 200000 times (82.4ms+0s) by Atom::DESTROY at line 5 of (eval 74)[Eval/Closure.pm:135], avg 412ns/call
# 200000 times (52.6ms+0s) by Atom::new at line 11 of (eval 74)[Eval/Closure.pm:135], avg 263ns/call
# 913 times (556µs+0s) by Class::MOP::Mixin::HasMethods::add_method at line 62 of Class/MOP/Mixin/HasMethods.pm, avg 609ns/call
# 625 times (360µs+0s) by Class::MOP::Mixin::HasMethods::get_method at line 122 of Class/MOP/Mixin/HasMethods.pm, avg 577ns/call
# 481 times (266µs+0s) by Class::MOP::Method::clone at line 135 of Class/MOP/Method.pm, avg 553ns/call
# 414 times (186µs+0s) by Atom::meta or Class::MOP::Mixin::meta or Class::MOP::Object::meta or Moose::Meta::Class::__ANON__::SERIAL::1::meta or Moose::Meta::Role::Application::RoleSummation::meta or Moose::Meta::Role::Application::ToClass::meta or Moose::Meta::Role::Application::ToInstance::meta or Moose::Meta::Role::Application::ToRole::meta or Moose::Meta::Role::Application::meta or Moose::Meta::Role::Composite::meta or Moose::Meta::Role::Method::Required::meta or Moose::Meta::Role::meta or Moose::Meta::TypeCoercion::Union::meta or Moose::Meta::TypeCoercion::meta or Moose::Meta::TypeConstraint::Class::meta or Moose::Meta::TypeConstraint::DuckType::meta or Moose::Meta::TypeConstraint::Enum::meta or Moose::Meta::TypeConstraint::Parameterizable::meta or Moose::Meta::TypeConstraint::Parameterized::meta or Moose::Meta::TypeConstraint::Registry::meta or Moose::Meta::TypeConstraint::Role::meta or Moose::Meta::TypeConstraint::Union::meta or Moose::Meta::TypeConstraint::meta or MooseX::Storage::Basic::meta or MooseX::Storage::IO::StorableFile::meta or MooseX::Storage::meta at line 48 of Class/MOP/Method/Meta.pm, avg 448ns/call
# 383 times (158µs+0s) by Class::MOP::Method::wrap at line 33 of Class/MOP/Method.pm, avg 413ns/call
# 347 times (110µs+0s) by Class::MOP::class_of at line 65 of Class/MOP.pm, avg 318ns/call
# 323 times (105µs+0s) by Moose::Meta::Attribute::_new or Moose::Meta::Instance::_new or Moose::Meta::Method::Overridden::_new or Moose::Meta::Method::_new or Moose::Meta::Role::Application::RoleSummation::_new or Moose::Meta::Role::Application::ToClass::_new or Moose::Meta::Role::Application::ToRole::_new or Moose::Meta::Role::Composite::_new or Moose::Meta::Role::Method::Conflicting::_new or Moose::Meta::Role::Method::Required::_new or Moose::Meta::Role::Method::_new or Moose::Meta::Role::_new or Moose::Meta::TypeConstraint::Class::_new or Moose::Meta::TypeConstraint::Parameterizable::_new or Moose::Meta::TypeConstraint::Parameterized::_new or Moose::Meta::TypeConstraint::Role::_new or Moose::Meta::TypeConstraint::Union::_new or Moose::Meta::TypeConstraint::_new at line 6 of (eval 74)[Eval/Closure.pm:135], avg 326ns/call
# 249 times (166µs+0s) by Class::MOP::Method::Accessor::new at line 29 of Class/MOP/Method/Accessor.pm, avg 665ns/call
# 189 times (86µs+0s) by Class::MOP::Mixin::HasAttributes::add_attribute at line 20 of Class/MOP/Mixin/HasAttributes.pm, avg 456ns/call
# 151 times (84µs+0s) by Class::MOP::Attribute::attach_to_class at line 240 of Class/MOP/Attribute.pm, avg 559ns/call
# 145 times (46µs+0s) by Moose::Util::TypeConstraints::find_type_constraint at line 312 of Moose/Util/TypeConstraints.pm, avg 319ns/call
# 109 times (86µs+0s) by Class::MOP::Class::_construct_instance at line 510 of Class/MOP/Class.pm, avg 789ns/call
# 76 times (33µs+0s) by Moose::Meta::Role::add_attribute at line 245 of Moose/Meta/Role.pm, avg 430ns/call
# 75 times (32µs+0s) by Class::MOP::Instance::BUILDARGS at line 23 of Class/MOP/Instance.pm, avg 427ns/call
# 67 times (31µs+0s) by Class::MOP::Method::Wrapped::wrap at line 76 of Class/MOP/Method/Wrapped.pm, avg 461ns/call
# 59 times (25µs+0s) by Moose::Meta::Role::Composite::add_method at line 89 of Moose/Meta/Role/Composite.pm, avg 427ns/call
# 56 times (31µs+0s) by Moose::Meta::Class::_anon_cache_key at line 133 of Moose/Meta/Class.pm, avg 550ns/call
# 56 times (21µs+0s) by Moose::Meta::Attribute::_process_isa_option at line 361 of Moose/Meta/Attribute.pm, avg 375ns/call
# 49 times (42µs+0s) by Moose::Meta::TypeConstraint::Registry::add_type_constraint at line 51 of Moose/Meta/TypeConstraint/Registry.pm, avg 855ns/call
# 38 times (17µs+0s) by Moose::Meta::Role::Attribute::attach_to_role at line 72 of Moose/Meta/Role/Attribute.pm, avg 447ns/call
# 33 times (14µs+0s) by Class::MOP::Object::meta at line 20 of Class/MOP/Object.pm, avg 409ns/call
# 30 times (20µs+0s) by Class::MOP::Method::Constructor::new at line 23 of Class/MOP/Method/Constructor.pm, avg 660ns/call
# 28 times (17µs+0s) by Moose::Meta::Class::add_attribute at line 576 of Moose/Meta/Class.pm, avg 614ns/call
# 26 times (13µs+0s) by Moose::Util::_apply_all_roles at line 128 of Moose/Util.pm, avg 485ns/call
# 21 times (15µs+0s) by Moose::Util::_apply_all_roles at line 152 of Moose/Util.pm, avg 719ns/call
# 21 times (10µs+0s) by Moose::Meta::Role::apply at line 445 of Moose/Meta/Role.pm, avg 486ns/call
# 21 times (9µs+0s) by Moose::Util::_apply_all_roles at line 156 of Moose/Util.pm, avg 429ns/call
# 18 times (9µs+0s) by Moose::Meta::Role::add_required_methods at line 267 of Moose/Meta/Role.pm, avg 517ns/call
# 18 times (7µs+0s) by Class::MOP::Mixin::meta at line 16 of Class/MOP/Mixin.pm, avg 389ns/call
# 16 times (11µs+0s) by Moose::Util::TypeConstraints::_create_type_constraint at line 565 of Moose/Util/TypeConstraints.pm, avg 675ns/call
# 16 times (7µs+0s) by Moose::Meta::Role::Application::RoleSummation::get_method_aliases_for_role at line 41 of Moose/Meta/Role/Application/RoleSummation.pm, avg 419ns/call
# 11 times (7µs+0s) by Moose::Meta::Role::add_role at line 406 of Moose/Meta/Role.pm, avg 636ns/call
# 10 times (6µs+0s) by Moose::Meta::Class::add_role at line 197 of Moose/Meta/Class.pm, avg 650ns/call
# 10 times (5µs+0s) by Moose::Meta::Class::add_role_application at line 210 of Moose/Meta/Class.pm, avg 480ns/call
# 8 times (4µs+0s) by Moose::Meta::Role::combine at line 483 of Moose/Meta/Role.pm, avg 562ns/call
# 8 times (4µs+0s) by Moose::Meta::Role::Application::RoleSummation::get_exclusions_for_role at line 27 of Moose/Meta/Role/Application/RoleSummation.pm, avg 438ns/call
# 4 times (2µs+0s) by Moose::Object::does at line 121 of Moose/Object.pm, avg 375ns/call
# 3 times (3µs+0s) by Moose::Meta::TypeConstraint::Parameterized::compile_type_constraint at line 55 of Moose/Meta/TypeConstraint/Parameterized.pm, avg 967ns/call
# once (900ns+0s) by Moose::Meta::Method::Destructor::is_needed at line 61 of Moose/Meta/Method/Destructor.pm
# once (400ns+0s) by Sub::Install::_CODELIKE at line 98 of Sub/Install.pm | |||||
# spent 56µs within Scalar::Util::isweak which was called 140 times, avg 399ns/call:
# 140 times (56µs+0s) by Class::MOP::metaclass_is_weak at line 58 of Class/MOP.pm, avg 399ns/call | |||||
# spent 20µs within Scalar::Util::refaddr which was called 56 times, avg 355ns/call:
# 54 times (19µs+0s) by Moose::Meta::TypeConstraint::__ANON__[/Users/dde/perl5/perlbrew/perls/5.18.0t/lib/site_perl/5.18.0/darwin-thread-multi-2level/Moose/Meta/TypeConstraint.pm:14] at line 14 of Moose/Meta/TypeConstraint.pm, avg 348ns/call
# 2 times (1µs+0s) by Class::MOP::Method::Inlined::can_be_inlined at line 74 of Class/MOP/Method/Inlined.pm, avg 550ns/call | |||||
# spent 527µs within Scalar::Util::reftype which was called 1362 times, avg 387ns/call:
# 383 times (147µs+0s) by Class::MOP::Method::wrap at line 33 of Class/MOP/Method.pm, avg 383ns/call
# 369 times (128µs+0s) by Sub::Install::_CODELIKE at line 98 of Sub/Install.pm, avg 346ns/call
# 240 times (95µs+0s) by Eval::Closure::_validate_env at line 77 of Eval/Closure.pm, avg 396ns/call
# 187 times (88µs+0s) by Eval::Closure::_canonicalize_source at line 53 of Eval/Closure.pm, avg 468ns/call
# 183 times (70µs+0s) by Class::MOP::Mixin::HasMethods::wrap_method_body at line 45 of Class/MOP/Mixin/HasMethods.pm, avg 384ns/call | |||||
# spent 1.49ms within Scalar::Util::weaken which was called 2294 times, avg 648ns/call:
# 890 times (517µs+0s) by Class::MOP::Method::attach_to_class at line 77 of Class/MOP/Method.pm, avg 581ns/call
# 481 times (260µs+0s) by Class::MOP::Method::clone at line 136 of Class/MOP/Method.pm, avg 541ns/call
# 295 times (243µs+0s) by Class::MOP::Method::wrap at line 48 of Class/MOP/Method.pm, avg 822ns/call
# 249 times (219µs+0s) by Class::MOP::Method::Accessor::new at line 40 of Class/MOP/Method/Accessor.pm, avg 879ns/call
# 151 times (100µs+0s) by Class::MOP::Attribute::attach_to_class at line 242 of Class/MOP/Attribute.pm, avg 662ns/call
# 75 times (51µs+0s) by Class::MOP::Instance::new at line 47 of Class/MOP/Instance.pm, avg 684ns/call
# 55 times (31µs+0s) by Class::MOP::Method::Meta::_generate_meta_method at line 29 of Class/MOP/Method/Meta.pm, avg 560ns/call
# 38 times (22µs+0s) by Moose::Meta::Role::Attribute::attach_to_role at line 76 of Moose/Meta/Role/Attribute.pm, avg 576ns/call
# 30 times (25µs+0s) by Class::MOP::Method::Constructor::new at line 35 of Class/MOP/Method/Constructor.pm, avg 843ns/call
# 10 times (7µs+0s) by Moose::Meta::Role::Application::ToClass::apply at line 33 of Moose/Meta/Role/Application/ToClass.pm, avg 710ns/call
# 10 times (6µs+0s) by Moose::Meta::Role::Application::ToClass::apply at line 34 of Moose/Meta/Role/Application/ToClass.pm, avg 550ns/call
# 8 times (5µs+0s) by Class::MOP::Package::create_anon at line 124 of Class/MOP/Package.pm, avg 650ns/call
# once (800ns+0s) by Moose::Meta::Method::Constructor::new at line 46 of Moose/Meta/Method/Constructor.pm
# once (600ns+0s) by Moose::Meta::Method::Destructor::new at line 44 of Moose/Meta/Method/Destructor.pm |