| Filename | /home/doy/perl5/perlbrew/perls/perl-5.10.1/lib/5.10.1/x86_64-linux/Hash/Util/FieldHash.pm |
| Statements | Executed 23 statements in 2.35ms |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 1 | 1 | 1 | 114µs | 114µs | Hash::Util::FieldHash::BEGIN@3 |
| 1 | 1 | 1 | 40µs | 199µs | Hash::Util::FieldHash::BEGIN@6 |
| 1 | 1 | 1 | 39µs | 117µs | Hash::Util::FieldHash::BEGIN@5 |
| 1 | 1 | 1 | 38µs | 55µs | Hash::Util::FieldHash::BEGIN@4 |
| 1 | 1 | 1 | 38µs | 38µs | Hash::Util::FieldHash::_ob_reg |
| 0 | 0 | 0 | 0s | 0s | Hash::Util::FieldHash::fieldhash |
| 0 | 0 | 0 | 0s | 0s | Hash::Util::FieldHash::fieldhashes |
| 0 | 0 | 0 | 0s | 0s | Hash::Util::FieldHash::idhash |
| 0 | 0 | 0 | 0s | 0s | Hash::Util::FieldHash::idhashes |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | package Hash::Util::FieldHash; | ||||
| 2 | |||||
| 3 | 3 | 165µs | 1 | 114µs | # spent 114µs within Hash::Util::FieldHash::BEGIN@3 which was called:
# once (114µs+0s) by Hash::Util::FieldHash::Compat::BEGIN@8 at line 3 # spent 114µs making 1 call to Hash::Util::FieldHash::BEGIN@3 |
| 4 | 3 | 91µs | 2 | 71µs | # spent 55µs (38+17) within Hash::Util::FieldHash::BEGIN@4 which was called:
# once (38µs+17µs) by Hash::Util::FieldHash::Compat::BEGIN@8 at line 4 # spent 55µs making 1 call to Hash::Util::FieldHash::BEGIN@4
# spent 17µs making 1 call to strict::import |
| 5 | 3 | 128µs | 2 | 194µs | # spent 117µs (39+78) within Hash::Util::FieldHash::BEGIN@5 which was called:
# once (39µs+78µs) by Hash::Util::FieldHash::Compat::BEGIN@8 at line 5 # spent 117µs making 1 call to Hash::Util::FieldHash::BEGIN@5
# spent 78µs making 1 call to warnings::import |
| 6 | 3 | 1.10ms | 2 | 358µs | # spent 199µs (40+159) within Hash::Util::FieldHash::BEGIN@6 which was called:
# once (40µs+159µs) by Hash::Util::FieldHash::Compat::BEGIN@8 at line 6 # spent 199µs making 1 call to Hash::Util::FieldHash::BEGIN@6
# spent 159µs making 1 call to Exporter::import |
| 7 | |||||
| 8 | 1 | 4µs | our $VERSION = '1.04'; | ||
| 9 | |||||
| 10 | 1 | 4µs | require Exporter; | ||
| 11 | 1 | 29µs | our @ISA = qw(Exporter); | ||
| 12 | 1 | 10µs | our %EXPORT_TAGS = ( | ||
| 13 | 'all' => [ qw( | ||||
| 14 | fieldhash | ||||
| 15 | fieldhashes | ||||
| 16 | idhash | ||||
| 17 | idhashes | ||||
| 18 | id | ||||
| 19 | id_2obj | ||||
| 20 | register | ||||
| 21 | )], | ||||
| 22 | ); | ||||
| 23 | 1 | 13µs | our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); | ||
| 24 | |||||
| 25 | { | ||||
| 26 | 2 | 7µs | require XSLoader; | ||
| 27 | 1 | 2µs | my %ob_reg; # private object registry | ||
| 28 | 1 | 39µs | # spent 38µs within Hash::Util::FieldHash::_ob_reg which was called:
# once (38µs+0s) by XSLoader::load at line 94 of XSLoader.pm | ||
| 29 | 1 | 728µs | 1 | 777µs | XSLoader::load('Hash::Util::FieldHash', $VERSION); # spent 777µs making 1 call to XSLoader::load |
| 30 | } | ||||
| 31 | |||||
| 32 | sub fieldhash (\%) { | ||||
| 33 | for ( shift ) { | ||||
| 34 | return unless ref() && reftype( $_) eq 'HASH'; | ||||
| 35 | return $_ if Hash::Util::FieldHash::_fieldhash( $_, 0); | ||||
| 36 | return $_ if Hash::Util::FieldHash::_fieldhash( $_, 2) == 2; | ||||
| 37 | return; | ||||
| 38 | } | ||||
| 39 | } | ||||
| 40 | |||||
| 41 | sub idhash (\%) { | ||||
| 42 | for ( shift ) { | ||||
| 43 | return unless ref() && reftype( $_) eq 'HASH'; | ||||
| 44 | return $_ if Hash::Util::FieldHash::_fieldhash( $_, 0); | ||||
| 45 | return $_ if Hash::Util::FieldHash::_fieldhash( $_, 1) == 1; | ||||
| 46 | return; | ||||
| 47 | } | ||||
| 48 | } | ||||
| 49 | |||||
| 50 | sub fieldhashes { map &fieldhash( $_), @_ } | ||||
| 51 | sub idhashes { map &idhash( $_), @_ } | ||||
| 52 | |||||
| 53 | 1 | 30µs | 1; | ||
| 54 | __END__ |