| Filename | /usr/lib/perl/5.10/Storable.pm |
| Statements | Executed 27 statements in 553µs |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 1 | 1 | 1 | 2.03ms | 4.99ms | Storable::BEGIN@23 |
| 1 | 1 | 1 | 78µs | 78µs | Storable::bootstrap (xsub) |
| 1 | 1 | 1 | 25µs | 356µs | Storable::BEGIN@22 |
| 1 | 1 | 1 | 20µs | 114µs | Storable::BEGIN@24 |
| 1 | 1 | 1 | 16µs | 223µs | Storable::BEGIN@44 |
| 0 | 0 | 0 | 0s | 0s | Storable::CLONE |
| 0 | 0 | 0 | 0s | 0s | Storable::retrieve_fd |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | # | ||||
| 2 | # Copyright (c) 1995-2000, Raphael Manfredi | ||||
| 3 | # | ||||
| 4 | # You may redistribute only under the same terms as Perl 5, as specified | ||||
| 5 | # in the README file that comes with the distribution. | ||||
| 6 | # | ||||
| 7 | |||||
| 8 | 1 | 1µs | require DynaLoader; | ||
| 9 | 1 | 2µs | require Exporter; | ||
| 10 | 1 | 15µs | package Storable; @ISA = qw(Exporter DynaLoader); | ||
| 11 | |||||
| 12 | 1 | 2µs | @EXPORT = qw(store retrieve); | ||
| 13 | 1 | 5µs | @EXPORT_OK = qw( | ||
| 14 | nstore store_fd nstore_fd fd_retrieve | ||||
| 15 | freeze nfreeze thaw | ||||
| 16 | dclone | ||||
| 17 | retrieve_fd | ||||
| 18 | lock_store lock_nstore lock_retrieve | ||||
| 19 | file_magic read_magic | ||||
| 20 | ); | ||||
| 21 | |||||
| 22 | 3 | 44µs | 2 | 687µs | # spent 356µs (25+331) within Storable::BEGIN@22 which was called:
# once (25µs+331µs) by MARC::Charset::Table::BEGIN@40 at line 22 # spent 356µs making 1 call to Storable::BEGIN@22
# spent 331µs making 1 call to AutoLoader::import |
| 23 | 3 | 158µs | 2 | 5.96ms | # spent 4.99ms (2.03+2.96) within Storable::BEGIN@23 which was called:
# once (2.03ms+2.96ms) by MARC::Charset::Table::BEGIN@40 at line 23 # spent 4.99ms making 1 call to Storable::BEGIN@23
# spent 964µs making 1 call to FileHandle::import |
| 24 | 3 | 133µs | 2 | 208µs | # spent 114µs (20+94) within Storable::BEGIN@24 which was called:
# once (20µs+94µs) by MARC::Charset::Table::BEGIN@40 at line 24 # spent 114µs making 1 call to Storable::BEGIN@24
# spent 94µs making 1 call to vars::import |
| 25 | |||||
| 26 | 1 | 2µs | $VERSION = '2.21'; | ||
| 27 | 1 | 2µs | *AUTOLOAD = \&AutoLoader::AUTOLOAD; # Grrr... | ||
| 28 | |||||
| 29 | # | ||||
| 30 | # Use of Log::Agent is optional | ||||
| 31 | # | ||||
| 32 | |||||
| 33 | { | ||||
| 34 | 2 | 6µs | local $SIG{__DIE__}; | ||
| 35 | 1 | 40µs | eval "use Log::Agent"; # spent 104µs executing statements in string eval # includes 93µs spent executing 1 call to 1 sub defined therein. | ||
| 36 | } | ||||
| 37 | |||||
| 38 | 1 | 1µs | require Carp; | ||
| 39 | |||||
| 40 | # | ||||
| 41 | # They might miss :flock in Fcntl | ||||
| 42 | # | ||||
| 43 | |||||
| 44 | # spent 223µs (16+207) within Storable::BEGIN@44 which was called:
# once (16µs+207µs) by MARC::Charset::Table::BEGIN@40 at line 53 | ||||
| 45 | 3 | 13µs | 1 | 207µs | if (eval { require Fcntl; 1 } && exists $Fcntl::EXPORT_TAGS{'flock'}) { # spent 207µs making 1 call to Exporter::import |
| 46 | Fcntl->import(':flock'); | ||||
| 47 | } else { | ||||
| 48 | eval q{ | ||||
| 49 | sub LOCK_SH () {1} | ||||
| 50 | sub LOCK_EX () {2} | ||||
| 51 | }; | ||||
| 52 | } | ||||
| 53 | 1 | 100µs | 1 | 223µs | } # spent 223µs making 1 call to Storable::BEGIN@44 |
| 54 | |||||
| 55 | sub CLONE { | ||||
| 56 | # clone context under threads | ||||
| 57 | Storable::init_perinterp(); | ||||
| 58 | } | ||||
| 59 | |||||
| 60 | # Can't Autoload cleanly as this clashes 8.3 with &retrieve | ||||
| 61 | sub retrieve_fd { &fd_retrieve } # Backward compatibility | ||||
| 62 | |||||
| 63 | # By default restricted hashes are downgraded on earlier perls. | ||||
| 64 | |||||
| 65 | 1 | 2µs | $Storable::downgrade_restricted = 1; | ||
| 66 | 1 | 1µs | $Storable::accept_future_minor = 1; | ||
| 67 | 1 | 11µs | 1 | 424µs | bootstrap Storable; # spent 424µs making 1 call to DynaLoader::bootstrap |
| 68 | 1 | 15µs | 1; | ||
| 69 | __END__ | ||||
# spent 78µs within Storable::bootstrap which was called:
# once (78µs+0s) by DynaLoader::bootstrap at line 215 of DynaLoader.pm |