http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375
--- Comment #184 from Jan Hubicka <hubicka at gcc dot gnu.org> --- New profiles after Richard's changes to remove pointer maps from straming in. Stream in: samples % app name symbol name 36599 12.3464 lto1 inflate_fast 27382 9.2371 lto1 streamer_read_uhwi(lto_input_block*) 19282 6.5047 lto1 streamer_read_tree_bitfields(lto_input_block*, data_in*, tree_node*) 15807 5.3324 lto1 compare_tree_sccs_1(tree_node*, tree_node*, tree_node***) 11385 3.8407 libc-2.11.1.so msort_with_tmp 9054 3.0543 libc-2.11.1.so memcpy 8701 2.9352 lto1 htab_find_slot_with_hash 8506 2.8694 lto1 lto_input_tree(lto_input_block*, data_in*) 8405 2.8354 lto1 lto_input_tree_1(lto_input_block*, data_in*, LTO_tags, unsigned int) 8055 2.7173 lto1 ht_lookup_with_hash(ht*, unsigned char const*, unsigned long, unsigned int, ht_lookup_option) 6436 2.1711 lto1 streamer_read_tree_body(lto_input_block*, data_in*, tree_node*) 6287 2.1209 lto1 adler32 5891 1.9873 lto1 streamer_get_pickled_tree(lto_input_block*, data_in*) Stream out: samples % app name symbol name 19885 14.6837 lto1 DFS_write_tree(output_block*, sccs*, tree_node*, bool, bool) 19285 14.2407 lto1 linemap_lookup(line_maps*, unsigned int) 16192 11.9567 lto1 streamer_write_uhwi_stream(lto_output_stream*, unsigned long) 15926 11.7603 lto1 pointer_map_insert(pointer_map_t*, void const*) 10285 7.5948 lto1 pointer_map_contains(pointer_map_t const*, void const*) 7324 5.4083 lto1 streamer_tree_cache_lookup(streamer_tree_cache_d*, tree_node*, unsigned int*) 5897 4.3545 lto1 streamer_pack_tree_bitfields(output_block*, bitpack_d*, tree_node*) 5374 3.9683 lto1 lto_output_tree(output_block*, tree_node*, bool, bool) 4896 3.6154 lto1 streamer_tree_cache_insert_1(streamer_tree_cache_d*, tree_node*, unsigned int, unsigned int*, bool) 3285 2.4258 libc-2.11.1.so memset 2669 1.9709 lto1 streamer_write_tree_body(output_block*, tree_node*, bool) 2520 1.8608 libc-2.11.1.so memcpy 2383 1.7597 lto1 streamer_tree_cache_add_to_node_array(streamer_tree_cache_d*, unsigned int, tree_node*, unsigned int) linemap_lookup is easy target, obviously. Execution times (seconds) phase setup : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 1399 kB ( 0%) ggc phase opt and generate : 69.29 (14%) usr 0.82 ( 3%) sys 70.62 (13%) wall 270269 kB (11%) ggc phase stream in : 224.95 (44%) usr 6.23 (22%) sys 236.02 (43%) wall 2174294 kB (89%) ggc phase stream out : 213.26 (42%) usr 21.35 (75%) sys 236.87 (44%) wall 7157 kB ( 0%) ggc garbage collection : 9.92 ( 2%) usr 0.00 ( 0%) sys 9.99 ( 2%) wall 0 kB ( 0%) ggc callgraph optimization : 1.36 ( 0%) usr 0.00 ( 0%) sys 1.34 ( 0%) wall 32 kB ( 0%) ggc ipa cp : 7.65 ( 2%) usr 0.32 ( 1%) sys 8.01 ( 1%) wall 418436 kB (17%) ggc ipa inlining heuristics : 38.83 ( 8%) usr 0.83 ( 3%) sys 39.99 ( 7%) wall 1352530 kB (55%) ggc ipa lto gimple in : 0.39 ( 0%) usr 0.05 ( 0%) sys 0.53 ( 0%) wall 0 kB ( 0%) ggc ipa lto gimple out : 16.46 ( 3%) usr 1.39 ( 5%) sys 17.93 ( 3%) wall 0 kB ( 0%) ggc ipa lto decl in : 158.55 (31%) usr 3.99 (14%) sys 166.99 (31%) wall 2583106 kB (105%) ggc ipa lto decl out : 191.10 (38%) usr 11.48 (40%) sys 203.47 (37%) wall 0 kB ( 0%) ggc ipa lto cgraph I/O : 7.07 ( 1%) usr 1.17 ( 4%) sys 8.27 ( 2%) wall 2134131 kB (87%) ggc ipa lto decl merge : 29.94 ( 6%) usr 0.01 ( 0%) sys 30.06 ( 6%) wall 8270 kB ( 0%) ggc ipa lto cgraph merge : 12.02 ( 2%) usr 0.04 ( 0%) sys 12.13 ( 2%) wall 142240 kB ( 6%) ggc whopr wpa : 7.30 ( 1%) usr 0.03 ( 0%) sys 7.39 ( 1%) wall 7160 kB ( 0%) ggc whopr wpa I/O : 1.40 ( 0%) usr 8.46 (30%) sys 11.14 ( 2%) wall 0 kB ( 0%) ggc whopr partitioning : 2.33 ( 0%) usr 0.01 ( 0%) sys 2.36 ( 0%) wall 0 kB ( 0%) ggc ipa reference : 5.44 ( 1%) usr 0.04 ( 0%) sys 5.53 ( 1%) wall 0 kB ( 0%) ggc ipa profile : 1.26 ( 0%) usr 0.04 ( 0%) sys 1.32 ( 0%) wall 0 kB ( 0%) ggc ipa pure const : 5.87 ( 1%) usr 0.13 ( 0%) sys 6.03 ( 1%) wall 0 kB ( 0%) ggc inline parameters : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 14 kB ( 0%) ggc tree eh : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc tree PTA : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 0 kB ( 0%) ggc tree SSA rewrite : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 27 kB ( 0%) ggc tree SSA other : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc tree FRE : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc dominance computation : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc varconst : 0.10 ( 0%) usr 0.18 ( 1%) sys 0.19 ( 0%) wall 0 kB ( 0%) ggc unaccounted todo : 10.42 ( 2%) usr 0.23 ( 1%) sys 10.76 ( 2%) wall 0 kB ( 0%) ggc TOTAL : 507.52 28.40 543.51 2453120 kB