Filename | /usr/lib/perl/5.10/Storable.pm |
Statements | Executed 27 statements in 514µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1 | 1 | 1 | 90µs | 90µs | bootstrap (xsub) | Storable::
1 | 1 | 1 | 27µs | 329µs | BEGIN@22 | Storable::
1 | 1 | 1 | 21µs | 323µs | BEGIN@44 | Storable::
1 | 1 | 1 | 20µs | 766µs | BEGIN@23 | Storable::
1 | 1 | 1 | 14µs | 83µs | BEGIN@24 | Storable::
0 | 0 | 0 | 0s | 0s | CLONE | Storable::
0 | 0 | 0 | 0s | 0s | retrieve_fd | Storable::
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 | 700ns | require Exporter; | ||
10 | 1 | 20µs | package Storable; @ISA = qw(Exporter DynaLoader); | ||
11 | |||||
12 | 1 | 900ns | @EXPORT = qw(store retrieve); | ||
13 | 1 | 3µ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 | 39µs | 2 | 631µs | # spent 329µs (27+302) within Storable::BEGIN@22 which was called:
# once (27µs+302µs) by LWP::UserAgent::BEGIN@10 at line 22 # spent 329µs making 1 call to Storable::BEGIN@22
# spent 302µs making 1 call to AutoLoader::import |
23 | 3 | 49µs | 2 | 1.51ms | # spent 766µs (20+746) within Storable::BEGIN@23 which was called:
# once (20µs+746µs) by LWP::UserAgent::BEGIN@10 at line 23 # spent 766µs making 1 call to Storable::BEGIN@23
# spent 746µs making 1 call to FileHandle::import |
24 | 3 | 152µs | 2 | 152µs | # spent 83µs (14+69) within Storable::BEGIN@24 which was called:
# once (14µs+69µs) by LWP::UserAgent::BEGIN@10 at line 24 # spent 83µs making 1 call to Storable::BEGIN@24
# spent 69µs making 1 call to vars::import |
25 | |||||
26 | 1 | 500ns | $VERSION = '2.20'; | ||
27 | 1 | 2µs | *AUTOLOAD = \&AutoLoader::AUTOLOAD; # Grrr... | ||
28 | |||||
29 | # | ||||
30 | # Use of Log::Agent is optional | ||||
31 | # | ||||
32 | |||||
33 | { | ||||
34 | 2 | 5µs | local $SIG{__DIE__}; | ||
35 | 1 | 59µs | eval "use Log::Agent"; # spent 130µs executing statements in string eval # includes 116µ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 323µs (21+302) within Storable::BEGIN@44 which was called:
# once (21µs+302µs) by LWP::UserAgent::BEGIN@10 at line 53 | ||||
45 | 3 | 16µs | 1 | 302µs | if (eval { require Fcntl; 1 } && exists $Fcntl::EXPORT_TAGS{'flock'}) { # spent 302µ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 | 140µs | 1 | 323µs | } # spent 323µ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 | 500ns | $Storable::downgrade_restricted = 1; | ||
66 | 1 | 200ns | $Storable::accept_future_minor = 1; | ||
67 | 1 | 11µs | 1 | 397µs | bootstrap Storable; # spent 397µs making 1 call to DynaLoader::bootstrap |
68 | 1 | 12µs | 1; | ||
69 | __END__ | ||||
# spent 90µs within Storable::bootstrap which was called:
# once (90µs+0s) by DynaLoader::bootstrap at line 215 of DynaLoader.pm |