← Index
NYTProf Performance Profile   « block view • line view • sub view »
For -e
  Run on Wed Nov 17 21:45:08 2010
Reported on Wed Nov 17 22:10:15 2010

Filename/home/doy/perl5/perlbrew/perls/perl-5.10.1/lib/site_perl/5.10.1/x86_64-linux/Moose/Meta/Method/Accessor/Native/String/replace.pm
StatementsExecuted 23 statements in 1.55ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
111154µs173µsMoose::Meta::Method::Accessor::Native::String::replace::::BEGIN@3Moose::Meta::Method::Accessor::Native::String::replace::BEGIN@3
11145µs785µsMoose::Meta::Method::Accessor::Native::String::replace::::BEGIN@54Moose::Meta::Method::Accessor::Native::String::replace::BEGIN@54
11143µs112µsMoose::Meta::Method::Accessor::Native::String::replace::::BEGIN@4Moose::Meta::Method::Accessor::Native::String::replace::BEGIN@4
11142µs14.7msMoose::Meta::Method::Accessor::Native::String::replace::::BEGIN@13Moose::Meta::Method::Accessor::Native::String::replace::BEGIN@13
11122µs22µsMoose::Meta::Method::Accessor::Native::String::replace::::BEGIN@6Moose::Meta::Method::Accessor::Native::String::replace::BEGIN@6
11120µs20µsMoose::Meta::Method::Accessor::Native::String::replace::::BEGIN@7Moose::Meta::Method::Accessor::Native::String::replace::BEGIN@7
0000s0sMoose::Meta::Method::Accessor::Native::String::replace::::_inline_check_argumentsMoose::Meta::Method::Accessor::Native::String::replace::_inline_check_arguments
0000s0sMoose::Meta::Method::Accessor::Native::String::replace::::_inline_optimized_set_new_valueMoose::Meta::Method::Accessor::Native::String::replace::_inline_optimized_set_new_value
0000s0sMoose::Meta::Method::Accessor::Native::String::replace::::_maximum_argumentsMoose::Meta::Method::Accessor::Native::String::replace::_maximum_arguments
0000s0sMoose::Meta::Method::Accessor::Native::String::replace::::_minimum_argumentsMoose::Meta::Method::Accessor::Native::String::replace::_minimum_arguments
0000s0sMoose::Meta::Method::Accessor::Native::String::replace::::_potential_valueMoose::Meta::Method::Accessor::Native::String::replace::_potential_value
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Moose::Meta::Method::Accessor::Native::String::replace;
2
33114µs2192µs
# spent 173µs (154+19) within Moose::Meta::Method::Accessor::Native::String::replace::BEGIN@3 which was called: # once (154µs+19µs) by Moose::Meta::Attribute::Native::Trait::String::BEGIN@16 at line 3
use strict;
# spent 173µs making 1 call to Moose::Meta::Method::Accessor::Native::String::replace::BEGIN@3 # spent 19µs making 1 call to strict::import
43103µs2182µs
# spent 112µs (43+70) within Moose::Meta::Method::Accessor::Native::String::replace::BEGIN@4 which was called: # once (43µs+70µs) by Moose::Meta::Attribute::Native::Trait::String::BEGIN@16 at line 4
use warnings;
# spent 112µs making 1 call to Moose::Meta::Method::Accessor::Native::String::replace::BEGIN@4 # spent 70µs making 1 call to warnings::import
5
6380µs122µs
# spent 22µs within Moose::Meta::Method::Accessor::Native::String::replace::BEGIN@6 which was called: # once (22µs+0s) by Moose::Meta::Attribute::Native::Trait::String::BEGIN@16 at line 6
use Moose::Util ();
73222µs120µs
# spent 20µs within Moose::Meta::Method::Accessor::Native::String::replace::BEGIN@7 which was called: # once (20µs+0s) by Moose::Meta::Attribute::Native::Trait::String::BEGIN@16 at line 7
use Params::Util ();
8
914µsour $VERSION = '1.19';
10191µs$VERSION = eval $VERSION;
# spent 14µs executing statements in string eval
1115µsour $AUTHORITY = 'cpan:STEVAN';
12
133727µs229.3ms
# spent 14.7ms (42µs+14.6) within Moose::Meta::Method::Accessor::Native::String::replace::BEGIN@13 which was called: # once (42µs+14.6ms) by Moose::Meta::Attribute::Native::Trait::String::BEGIN@16 at line 13
use Moose::Role;
14
15139µs131.4mswith 'Moose::Meta::Method::Accessor::Native::Writer' => {
# spent 31.4ms making 1 call to Moose::Role::with
16 -excludes => [
17 qw(
18 _minimum_arguments
19 _maximum_arguments
20 _inline_check_arguments
21 _inline_optimized_set_new_value
22 )
23 ]
24 };
25
26sub _minimum_arguments { 1 }
27
28sub _maximum_arguments { 2 }
29
30sub _inline_check_arguments {
31 my $self = shift;
32
33 return $self->_inline_throw_error(
34 q{'The first argument passed to replace must be a string or regexp reference'}
35 )
36 . q{ unless Moose::Util::_STRINGLIKE0( $_[0] ) || Params::Util::_REGEX( $_[0] );}
37 . $self->_inline_throw_error(
38 q{'The second argument passed to replace must be a string or code reference'}
39 ) . q{ unless Moose::Util::_STRINGLIKE0( $_[1] ) || Params::Util::_CODELIKE( $_[1] );};
40}
41
42sub _potential_value {
43 my ( $self, $slot_access ) = @_;
44
45 return "( do { my \$val = $slot_access; ref \$_[1] ? \$val =~ s/\$_[0]/\$_[1]->()/e : \$val =~ s/\$_[0]/\$_[1]/; \$val } )";
46}
47
48sub _inline_optimized_set_new_value {
49 my ( $self, $inv, $new, $slot_access ) = @_;
50
51 return "if ( ref \$_[1] ) { $slot_access =~ s/\$_[0]/\$_[1]->()/e; } else { $slot_access =~ s/\$_[0]/\$_[1]/; }";
52}
53
543119µs21.52ms
# spent 785µs (45+739) within Moose::Meta::Method::Accessor::Native::String::replace::BEGIN@54 which was called: # once (45µs+739µs) by Moose::Meta::Attribute::Native::Trait::String::BEGIN@16 at line 54
no Moose::Role;
55
56148µs1;