http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375
--- Comment #178 from Jan Hubicka <hubicka at gcc dot gnu.org> 2013-01-17 17:11:13 UTC --- The global cache with arbitrary large size reduces usage down to 0.3% (16908304) bytes. So it seems that sharing across files is quite an important part of the game. I will try to fiddle with the cache size to see how big cache is actually needed. Unpatches mainline needs 1073872920 bytes, that is the same as with dropping columns and/or my initial local caching implementation. This is apparently because of the exponential resizing of the table (i.e. we simply do not save enough to see a difference). Honza