http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56113
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | --- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> 2013-01-29 13:06:48 UTC --- Created attachment 29300 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29300 patch n=100 0.97user 83232maxresident n=1000 9.76user 260800maxresident n=2000 23.14user 468096maxresident n=4000 62.08user 890768maxresident n=8000 189.13user 1722624maxresident looks reasonably linear (double-checking now with mem-stats, not sure if that will show reduced memory usage - maybe for the obstack peak use). release checking with mem-stats numbers, and not -O0 compiler: unpatched: n=10000 127.82user 7755408maxresident (top shows 1.8GB memory usage very quickly) patched: n=10000 126.42user 3400032maxresident (top shows max. 340MB memory usage for a very long time, later peaks at ~800MB) unpatched: tree-ssa-structalias.c:2105 (label_visit) 150024 2554542888 2554542888 2554542888 patched: tree-ssa-structalias.c:2114 (label_visit) 150024 2554542888 1475192 1440608 0 0 The patch is of course lame - it only reduces the amount of memory used if there are a lot of pointer equivalences. But at least it's very cheap to do so.