| Filename | /usr/share/perl5/JSON/PP58.pm |
| Statements | Executed 15 statements in 480µs |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 1 | 1 | 1 | 35µs | 35µs | JSON::PP58::BEGIN@3 |
| 1 | 1 | 1 | 22µs | 22µs | JSON::PP58::BEGIN@11 |
| 1 | 1 | 1 | 20µs | 29µs | JSON::PP58::BEGIN@4 |
| 0 | 0 | 0 | 0s | 0s | JSON::PP::incr_parse |
| 0 | 0 | 0 | 0s | 0s | JSON::PP::incr_reset |
| 0 | 0 | 0 | 0s | 0s | JSON::PP::incr_skip |
| 0 | 0 | 0 | 0s | 0s | JSON::PP::incr_text |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | package JSON::PP58; | ||||
| 2 | |||||
| 3 | 3 | 61µs | 1 | 35µs | # spent 35µs within JSON::PP58::BEGIN@3 which was called:
# once (35µs+0s) by JSON::PP::BEGIN@43 at line 3 # spent 35µs making 1 call to JSON::PP58::BEGIN@3 |
| 4 | 3 | 177µs | 2 | 38µs | # spent 29µs (20+9) within JSON::PP58::BEGIN@4 which was called:
# once (20µs+9µs) by JSON::PP::BEGIN@43 at line 4 # spent 29µs making 1 call to JSON::PP58::BEGIN@4
# spent 9µs making 1 call to strict::import |
| 5 | |||||
| 6 | 1 | 300ns | my @properties; | ||
| 7 | |||||
| 8 | 1 | 600ns | $JSON::PP58::VERSION = '1.03'; | ||
| 9 | |||||
| 10 | |||||
| 11 | # spent 22µs within JSON::PP58::BEGIN@11 which was called:
# once (22µs+0s) by JSON::PP::BEGIN@43 at line 38 | ||||
| 12 | |||||
| 13 | 6 | 23µs | unless ( defined &utf8::is_utf8 ) { | ||
| 14 | require Encode; | ||||
| 15 | *utf8::is_utf8 = *Encode::is_utf8; | ||||
| 16 | } | ||||
| 17 | |||||
| 18 | *JSON::PP::JSON_PP_encode_ascii = \&JSON::PP::_encode_ascii; | ||||
| 19 | *JSON::PP::JSON_PP_encode_latin1 = \&JSON::PP::_encode_latin1; | ||||
| 20 | *JSON::PP::JSON_PP_decode_surrogates = \&JSON::PP::_decode_surrogates; | ||||
| 21 | *JSON::PP::JSON_PP_decode_unicode = \&JSON::PP::_decode_unicode; | ||||
| 22 | |||||
| 23 | if ($] >= 5.008 and $] < 5.008003) { # join() in 5.8.0 - 5.8.2 is broken. | ||||
| 24 | package JSON::PP; | ||||
| 25 | require subs; | ||||
| 26 | subs->import('join'); | ||||
| 27 | eval q| | ||||
| 28 | sub join { | ||||
| 29 | return '' if (@_ < 2); | ||||
| 30 | my $j = shift; | ||||
| 31 | my $str = shift; | ||||
| 32 | for (@_) { $str .= $j . $_; } | ||||
| 33 | return $str; | ||||
| 34 | } | ||||
| 35 | |; | ||||
| 36 | } | ||||
| 37 | |||||
| 38 | 1 | 215µs | 1 | 22µs | } # spent 22µs making 1 call to JSON::PP58::BEGIN@11 |
| 39 | |||||
| 40 | |||||
| 41 | sub JSON::PP::incr_parse { | ||||
| 42 | local $Carp::CarpLevel = 1; | ||||
| 43 | ( $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new )->incr_parse( @_ ); | ||||
| 44 | } | ||||
| 45 | |||||
| 46 | |||||
| 47 | sub JSON::PP::incr_text : lvalue { | ||||
| 48 | $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new; | ||||
| 49 | |||||
| 50 | if ( $_[0]->{_incr_parser}->{incr_parsing} ) { | ||||
| 51 | Carp::croak("incr_text can not be called when the incremental parser already started parsing"); | ||||
| 52 | } | ||||
| 53 | $_[0]->{_incr_parser}->{incr_text}; | ||||
| 54 | } | ||||
| 55 | |||||
| 56 | |||||
| 57 | sub JSON::PP::incr_skip { | ||||
| 58 | ( $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new )->incr_skip; | ||||
| 59 | } | ||||
| 60 | |||||
| 61 | |||||
| 62 | sub JSON::PP::incr_reset { | ||||
| 63 | ( $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new )->incr_reset; | ||||
| 64 | } | ||||
| 65 | |||||
| 66 | |||||
| 67 | 1 | 4µs | 1; | ||
| 68 | __END__ |