+Flat profile:
+
+Each sample counts as 0.01 seconds.
+ % cumulative self self total
+ time seconds seconds calls us/call us/call name
+ 44.57 0.41 0.41 44208 9.27 14.02 transform
+ 22.83 0.62 0.21 9902592 0.02 0.02 rol
+ 9.78 0.71 0.09 31610 2.85 19.66 sha1_write
+ 7.61 0.78 0.07 33623 2.08 2.08 stdin_getchar
+ 2.17 0.80 0.02 6937 2.88 106.67 get_keyid
+ 2.17 0.82 0.02 1690 11.83 17.75 write_openpgp_stream
+ 2.17 0.84 0.02 Letext
+ 1.09 0.85 0.01 30179 0.33 0.33 keydb_putchar
+ 1.09 0.86 0.01 17848 0.56 0.56 packet_dup
+ 1.09 0.87 0.01 6322 1.58 35.26 sha1_final
+ 1.09 0.88 0.01 1690 5.92 8.88 flatten_publickey
+ 1.09 0.89 0.01 1690 5.92 5.92 keyuids
+ 1.09 0.90 0.01 1690 5.92 262.98 store_key
+ 1.09 0.91 0.01 1 10000.00 10000.00 free_publickey
+ 1.09 0.92 0.01 1 10000.00 815000.00 update_keys
+ 0.00 0.92 0.00 17848 0.00 0.00 free_packet
+ 0.00 0.92 0.00 6322 0.00 0.00 sha1_init
+ 0.00 0.92 0.00 6322 0.00 0.00 sha1_read
+ 0.00 0.92 0.00 3438 0.00 0.00 free_packet_list
+ 0.00 0.92 0.00 3227 0.00 0.00 free_signedpacket_list
+ 0.00 0.92 0.00 1690 0.00 0.00 endtrans
+ 0.00 0.92 0.00 1690 0.00 0.00 fetch_key
+ 0.00 0.92 0.00 1690 0.00 0.00 spsize
+ 0.00 0.92 0.00 1690 0.00 0.00 starttrans
+ 0.00 0.92 0.00 1 0.00 0.00 cleanupdb
+ 0.00 0.92 0.00 1 0.00 0.00 initdb
+ 0.00 0.92 0.00 1 0.00 5000.00 parse_keys
+ 0.00 0.92 0.00 1 0.00 70000.00 read_openpgp_stream
+
+ % the percentage of the total running time of the
+time program used by this function.
+
+cumulative a running sum of the number of seconds accounted
+ seconds for by this function and those listed above it.
+
+ self the number of seconds accounted for by this
+seconds function alone. This is the major sort for this
+ listing.
+
+calls the number of times this function was invoked, if
+ this function is profiled, else blank.
+
+ self the average number of milliseconds spent in this
+ms/call function per call, if this function is profiled,
+ else blank.
+
+ total the average number of milliseconds spent in this
+ms/call function and its descendents per call, if this
+ function is profiled, else blank.
+
+name the name of the function. This is the minor sort
+ for this listing. The index shows the location of
+ the function in the gprof listing. If the index is
+ in parenthesis it shows where it would appear in
+ the gprof listing if it were to be printed.
+\f
+ Call graph (explanation follows)
+
+
+granularity: each sample hit covers 4 byte(s) for 1.09% of 0.92 seconds
+
+index % time self children called name
+ <spontaneous>
+[1] 97.8 0.00 0.90 main [1]
+ 0.01 0.81 1/1 update_keys [2]
+ 0.00 0.07 1/1 read_openpgp_stream [10]
+ 0.01 0.00 1/1 free_publickey [17]
+ 0.00 0.01 1/1 parse_keys [18]
+ 0.00 0.00 1/3438 free_packet_list [22]
+ 0.00 0.00 1/1 initdb [29]
+ 0.00 0.00 1/1 cleanupdb [28]
+-----------------------------------------------
+ 0.01 0.81 1/1 main [1]
+[2] 88.6 0.01 0.81 1 update_keys [2]
+ 0.01 0.43 1690/1690 store_key [6]
+ 0.01 0.35 3380/6937 get_keyid [3]
+ 0.00 0.00 1690/1690 starttrans [27]
+ 0.00 0.00 1690/1690 fetch_key [25]
+ 0.00 0.00 1690/1690 endtrans [24]
+-----------------------------------------------
+ 0.01 0.35 3380/6937 update_keys [2]
+ 0.01 0.37 3557/6937 store_key [6]
+[3] 80.4 0.02 0.72 6937 get_keyid [3]
+ 0.07 0.43 25288/31610 sha1_write [4]
+ 0.01 0.21 6322/6322 sha1_final [7]
+ 0.00 0.00 6322/6322 sha1_init [20]
+ 0.00 0.00 6322/6322 sha1_read [21]
+-----------------------------------------------
+ 18966 sha1_write [4]
+ 0.02 0.11 6322/31610 sha1_final [7]
+ 0.07 0.43 25288/31610 get_keyid [3]
+[4] 67.5 0.09 0.53 31610+18966 sha1_write [4]
+ 0.35 0.18 37886/44208 transform [5]
+ 18966 sha1_write [4]
+-----------------------------------------------
+ 0.06 0.03 6322/44208 sha1_final [7]
+ 0.35 0.18 37886/44208 sha1_write [4]
+[5] 67.4 0.41 0.21 44208 transform [5]
+ 0.21 0.00 9902592/9902592 rol [8]
+-----------------------------------------------
+ 0.01 0.43 1690/1690 update_keys [2]
+[6] 48.3 0.01 0.43 1690 store_key [6]
+ 0.01 0.37 3557/6937 get_keyid [3]
+ 0.02 0.01 1690/1690 write_openpgp_stream [11]
+ 0.01 0.01 1690/1690 flatten_publickey [13]
+ 0.01 0.00 1690/1690 keyuids [16]
+-----------------------------------------------
+ 0.01 0.21 6322/6322 get_keyid [3]
+[7] 24.2 0.01 0.21 6322 sha1_final [7]
+ 0.02 0.11 6322/31610 sha1_write [4]
+ 0.06 0.03 6322/44208 transform [5]
+-----------------------------------------------
+ 0.21 0.00 9902592/9902592 transform [5]
+[8] 22.8 0.21 0.00 9902592 rol [8]
+-----------------------------------------------
+ 0.07 0.00 33623/33623 read_openpgp_stream [10]
+[9] 7.6 0.07 0.00 33623 stdin_getchar [9]
+-----------------------------------------------
+ 0.00 0.07 1/1 main [1]
+[10] 7.6 0.00 0.07 1 read_openpgp_stream [10]
+ 0.07 0.00 33623/33623 stdin_getchar [9]
+-----------------------------------------------
+ 0.02 0.01 1690/1690 store_key [6]
+[11] 3.3 0.02 0.01 1690 write_openpgp_stream [11]
+ 0.01 0.00 30179/30179 keydb_putchar [14]
+-----------------------------------------------
+ <spontaneous>
+[12] 2.2 0.02 0.00 Letext [12]
+-----------------------------------------------
+ 0.01 0.01 1690/1690 store_key [6]
+[13] 1.6 0.01 0.01 1690 flatten_publickey [13]
+ 0.01 0.00 8924/17848 packet_dup [15]
+-----------------------------------------------
+ 0.01 0.00 30179/30179 write_openpgp_stream [11]
+[14] 1.1 0.01 0.00 30179 keydb_putchar [14]
+-----------------------------------------------
+ 0.01 0.00 8924/17848 parse_keys [18]
+ 0.01 0.00 8924/17848 flatten_publickey [13]
+[15] 1.1 0.01 0.00 17848 packet_dup [15]
+-----------------------------------------------
+ 0.01 0.00 1690/1690 store_key [6]
+[16] 1.1 0.01 0.00 1690 keyuids [16]
+ 0.00 0.00 1690/1690 spsize [26]
+-----------------------------------------------
+ 0.01 0.00 1/1 main [1]
+[17] 1.1 0.01 0.00 1 free_publickey [17]
+ 0.00 0.00 3227/3227 free_signedpacket_list [23]
+ 0.00 0.00 1690/17848 free_packet [19]
+ 0.00 0.00 41/3438 free_packet_list [22]
+-----------------------------------------------
+ 0.00 0.01 1/1 main [1]
+[18] 0.5 0.00 0.01 1 parse_keys [18]
+ 0.01 0.00 8924/17848 packet_dup [15]
+-----------------------------------------------
+ 0.00 0.00 1690/17848 free_publickey [17]
+ 0.00 0.00 3410/17848 free_signedpacket_list [23]
+ 0.00 0.00 12748/17848 free_packet_list [22]
+[19] 0.0 0.00 0.00 17848 free_packet [19]
+-----------------------------------------------
+ 0.00 0.00 6322/6322 get_keyid [3]
+[20] 0.0 0.00 0.00 6322 sha1_init [20]
+-----------------------------------------------
+ 0.00 0.00 6322/6322 get_keyid [3]
+[21] 0.0 0.00 0.00 6322 sha1_read [21]
+-----------------------------------------------
+ 0.00 0.00 1/3438 main [1]
+ 0.00 0.00 41/3438 free_publickey [17]
+ 0.00 0.00 3396/3438 free_signedpacket_list [23]
+[22] 0.0 0.00 0.00 3438 free_packet_list [22]
+ 0.00 0.00 12748/17848 free_packet [19]
+-----------------------------------------------
+ 0.00 0.00 3227/3227 free_publickey [17]
+[23] 0.0 0.00 0.00 3227 free_signedpacket_list [23]
+ 0.00 0.00 3410/17848 free_packet [19]
+ 0.00 0.00 3396/3438 free_packet_list [22]
+-----------------------------------------------
+ 0.00 0.00 1690/1690 update_keys [2]
+[24] 0.0 0.00 0.00 1690 endtrans [24]
+-----------------------------------------------
+ 0.00 0.00 1690/1690 update_keys [2]
+[25] 0.0 0.00 0.00 1690 fetch_key [25]
+-----------------------------------------------
+ 0.00 0.00 1690/1690 keyuids [16]
+[26] 0.0 0.00 0.00 1690 spsize [26]
+-----------------------------------------------
+ 0.00 0.00 1690/1690 update_keys [2]
+[27] 0.0 0.00 0.00 1690 starttrans [27]
+-----------------------------------------------
+ 0.00 0.00 1/1 main [1]
+[28] 0.0 0.00 0.00 1 cleanupdb [28]
+-----------------------------------------------
+ 0.00 0.00 1/1 main [1]
+[29] 0.0 0.00 0.00 1 initdb [29]
+-----------------------------------------------
+
+ This table describes the call tree of the program, and was sorted by
+ the total amount of time spent in each function and its children.
+
+ Each entry in this table consists of several lines. The line with the
+ index number at the left hand margin lists the current function.
+ The lines above it list the functions that called this function,
+ and the lines below it list the functions this one called.
+ This line lists:
+ index A unique number given to each element of the table.
+ Index numbers are sorted numerically.
+ The index number is printed next to every function name so
+ it is easier to look up where the function in the table.
+
+ % time This is the percentage of the `total' time that was spent
+ in this function and its children. Note that due to
+ different viewpoints, functions excluded by options, etc,
+ these numbers will NOT add up to 100%.
+
+ self This is the total amount of time spent in this function.
+
+ children This is the total amount of time propagated into this
+ function by its children.
+
+ called This is the number of times the function was called.
+ If the function called itself recursively, the number
+ only includes non-recursive calls, and is followed by
+ a `+' and the number of recursive calls.
+
+ name The name of the current function. The index number is
+ printed after it. If the function is a member of a
+ cycle, the cycle number is printed between the
+ function's name and the index number.
+
+
+ For the function's parents, the fields have the following meanings:
+
+ self This is the amount of time that was propagated directly
+ from the function into this parent.
+
+ children This is the amount of time that was propagated from
+ the function's children into this parent.
+
+ called This is the number of times this parent called the
+ function `/' the total number of times the function
+ was called. Recursive calls to the function are not
+ included in the number after the `/'.
+
+ name This is the name of the parent. The parent's index
+ number is printed after it. If the parent is a
+ member of a cycle, the cycle number is printed between
+ the name and the index number.
+
+ If the parents of the function cannot be determined, the word
+ `<spontaneous>' is printed in the `name' field, and all the other
+ fields are blank.
+
+ For the function's children, the fields have the following meanings:
+
+ self This is the amount of time that was propagated directly
+ from the child into the function.
+
+ children This is the amount of time that was propagated from the
+ child's children to the function.
+
+ called This is the number of times the function called
+ this child `/' the total number of times the child
+ was called. Recursive calls by the child are not
+ listed in the number after the `/'.
+
+ name This is the name of the child. The child's index
+ number is printed after it. If the child is a
+ member of a cycle, the cycle number is printed
+ between the name and the index number.
+
+ If there are any cycles (circles) in the call graph, there is an
+ entry for the cycle-as-a-whole. This entry shows who called the
+ cycle (as parents) and the members of the cycle (as children.)
+ The `+' recursive calls entry shows the number of function calls that
+ were internal to the cycle, and the calls entry for each member shows,
+ for that member, how many times it was called from other members of
+ the cycle.
+
+\f
+Index by function name
+
+ [12] Letext (bithelp.h) [29] initdb [4] sha1_write
+ [28] cleanupdb [14] keydb_putchar (keydb_pg.c) [26] spsize
+ [24] endtrans [16] keyuids [27] starttrans
+ [25] fetch_key [15] packet_dup [9] stdin_getchar
+ [13] flatten_publickey [18] parse_keys [6] store_key
+ [19] free_packet [10] read_openpgp_stream [5] transform (sha.c)
+ [22] free_packet_list [8] rol (bithelp.h) [2] update_keys
+ [17] free_publickey [7] sha1_final [11] write_openpgp_stream
+ [23] free_signedpacket_list [20] sha1_init
+ [3] get_keyid [21] sha1_read