http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375

--- Comment #93 from Jan Hubicka <hubicka at gcc dot gnu.org> 2011-05-19 
22:41:41 UTC ---
Time report:
 ipa lto gimple out    :  10.28 ( 4%) usr   1.05 (11%) sys  11.35 ( 4%) wall   
   0 kB ( 0%) ggc
 ipa lto decl in       :  98.45 (37%) usr   2.23 (24%) sys 100.91 (36%) wall 
713587 kB (45%) ggc
 ipa lto decl out      :  82.47 (31%) usr   2.92 (31%) sys  85.84 (31%) wall   
   0 kB ( 0%) ggc
 inline heuristics     :  31.74 (12%) usr   0.14 ( 1%) sys  32.07 (11%) wall 
240317 kB (15%) ggc
 TOTAL                 : 269.41             9.36           279.78           
1595687 kB

GIMPLE type table: size 1048573, 427153 elements, 6361837 searches, 23794591
collisions (ratio: 3.740208)
GIMPLE type hash table: size 4194301, 1452245 elements, 72676685 searches,
47569100 collisions (ratio: 0.654530)
GIMPLE canonical type table: size 65521, 48844 elements, 762160 searches,
552280 collisions (ratio: 0.724625)
GIMPLE canonical type hash table: size 1048573, 402512 elements, 2184661
searches, 1627547 collisions (ratio: 0.744988)

Nice improvement.
My reading is that GIMPLE type hash table would be better an TYPE_UID indexed
array (or an pointer map if it was told to be in GGC).  76 million searches is
quite a lot.

Honza

Reply via email to