<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Jun 15, 2015 at 7:14 PM, Daniel Berlin <span dir="ltr"><<a href="mailto:dberlin@dberlin.org" target="_blank">dberlin@dberlin.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">> Another reason is that in past work, I've sometimes worked on code where I'd<br>
> gladly accept a 10-day compilation time, if it bought me an extra 10% in<br>
> performance. So I sometimes wonder what's involved in making such<br>
> optimization passes available, even though people wouldn't want to use them<br>
> on a day-to-day basis.<br>
<br>
</span>FWIW:<br>
I've explored this before. I built a large-scale distributed<br>
completely precise context-sensitive alias-analysis and ran it on<br>
about 100k machines. It was brute-force and took no shortcuts, etc.<br>
It was run on some apps that are very large, and took many terabytes<br>
of memory and disk :)<br>
<br>
My result:<br>
Certainly there are some apps it may buy you 10%.<br>
But most, it won't, and where it does, there are often cheaper<br>
techniques (like runtime tests, etc) that will get you 9%.<br></blockquote><div><br></div><div>Wow. I'll consider my curiosity to have been vicariously satisfied by your experiment. Thanks for freeing up six months of my life :)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Even in a 64 bit world, you will run out of memory quickly. I don't<br>
think you realize how many edges/variables/etc you are talking about<br>
for large programs.<br>
People had cases with structures with thousands of fields, nested<br>
these, and instantiate them into tens of thousands of variables.<br>
It was billions of variables :)<br>
Having only-used ranges got it down to tens of millions.<br>
Now GCC just punts on some sane size.<br></blockquote><div><br></div><div>Thanks, I'm going to guess you're right that I'm failing to appreciate the numbers of things involved. I appreciate the warning.</div><div><br></div></div></div></div>