<div style="font-family: arial, helvetica, sans-serif"><font size="2"><div class="gmail_quote">On Thu, Jun 21, 2012 at 8:25 AM, Jakob Stoklund Olesen <span dir="ltr"><<a href="mailto:stoklund@2pi.dk" target="_blank">stoklund@2pi.dk</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div class="im"><br><div><div>On Jun 21, 2012, at 1:04 AM, Chandler Carruth <<a href="mailto:chandlerc@google.com" target="_blank">chandlerc@google.com</a>> wrote:</div>
<br><blockquote type="cite"><div style="font-family:arial,helvetica,sans-serif;font-size:small;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
The hash function should never be relied on to be deterministic. One of these days I'm going to have the stones to flip a switch and the hash function will produce different values on each execution with high probability.</div>
</blockquote></div><br></div><div>Why?! Nondeterministic behavior is notoriously hard to track down, why would you want to add more of it?</div></div></blockquote><div><br></div><div>To make it easier to track down? Specifically, this should make any behavior which could change every 1 in N builds likely to change *every* build, so it can be caught with a single bootstrap.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>You would be adding bugs where one in 20 compilations of the same source produces different output. Buildbots aren't going to help you find the offending commit.</div>
</div></blockquote><div><br></div><div>The change I'm proposing (which we should probably discuss in a different thread as this is getting off topic) wouldn't cause 1-in-20 bugs. If it changes behavior at all, it will cause *every* compilation to be different with a very high probability. This should make a single bootstrap have a high probability of finding the bug, and with more than 1 bootstrapping build bot, we should find it immediately?</div>
<div><br></div><div><br></div><div>All this said, I'm clearly not going to blindly turn this on. ;] First off, we're not ready, and second off, it'll take quite some time experimenting, fixing bugs, checking that we get things correct, etc. There is no rushing here, it's just a long-term goal of mine.</div>
</div></font></div>