| Filename | /usr/lib/perl/5.10/Storable.pm |
| Statements | Executed 27 statements in 576µs |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 1 | 1 | 1 | 1.99ms | 10.1ms | Storable::BEGIN@23 |
| 1 | 1 | 1 | 79µs | 79µs | Storable::bootstrap (xsub) |
| 1 | 1 | 1 | 26µs | 319µs | Storable::BEGIN@22 |
| 1 | 1 | 1 | 18µs | 110µs | Storable::BEGIN@24 |
| 1 | 1 | 1 | 17µs | 230µ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 | 2µs | require DynaLoader; | ||
| 9 | 1 | 1µs | require Exporter; | ||
| 10 | 1 | 23µ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 | 43µs | 2 | 612µs | # spent 319µs (26+293) within Storable::BEGIN@22 which was called:
# once (26µs+293µs) by MARC::Charset::Table::BEGIN@40 at line 22 # spent 319µs making 1 call to Storable::BEGIN@22
# spent 293µs making 1 call to AutoLoader::import |
| 23 | 3 | 172µs | 2 | 11.2ms | # spent 10.1ms (1.99+8.14) within Storable::BEGIN@23 which was called:
# once (1.99ms+8.14ms) by MARC::Charset::Table::BEGIN@40 at line 23 # spent 10.1ms making 1 call to Storable::BEGIN@23
# spent 1.04ms making 1 call to FileHandle::import |
| 24 | 3 | 133µs | 2 | 202µs | # spent 110µs (18+92) within Storable::BEGIN@24 which was called:
# once (18µs+92µs) by MARC::Charset::Table::BEGIN@40 at line 24 # spent 110µs making 1 call to Storable::BEGIN@24
# spent 92µ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 | 7µs | local $SIG{__DIE__}; | ||
| 35 | 1 | 41µs | eval "use Log::Agent"; # spent 107µs executing statements in string eval # includes 95µ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 230µs (17+213) within Storable::BEGIN@44 which was called:
# once (17µs+213µs) by MARC::Charset::Table::BEGIN@40 at line 53 | ||||
| 45 | 3 | 14µs | 1 | 213µs | if (eval { require Fcntl; 1 } && exists $Fcntl::EXPORT_TAGS{'flock'}) { # spent 213µ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 | 102µs | 1 | 230µs | } # spent 230µ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 | 1µs | $Storable::downgrade_restricted = 1; | ||
| 66 | 1 | 1µs | $Storable::accept_future_minor = 1; | ||
| 67 | 1 | 10µs | 1 | 409µs | bootstrap Storable; # spent 409µs making 1 call to DynaLoader::bootstrap |
| 68 | 1 | 14µs | 1; | ||
| 69 | __END__ | ||||
# spent 79µs within Storable::bootstrap which was called:
# once (79µs+0s) by DynaLoader::bootstrap at line 215 of DynaLoader.pm |