<div dir="ltr">I have definitely done this before in situations where equality comparison is unusually expensive, such as when it involves walking a tree.  It hasn't caused any problems, and I choose to believe that it helped a bit.  That said, I have never measured the effect, so I'm interested if anyone has a principled way of quantifying the performance gain.  My solution to the problem of irreflexive equality was just to not care about it... YMMV on whether that's okay for your use case!</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jun 8, 2021 at 10:27 AM Simon Jakobi via Haskell-Cafe <<a href="mailto:haskell-cafe@haskell.org">haskell-cafe@haskell.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi everyone!<br>
<br>
In <a href="https://github.com/haskell-unordered-containers/unordered-containers/issues/77" rel="noreferrer" target="_blank">https://github.com/haskell-unordered-containers/unordered-containers/issues/77</a><br>
we're wondering whether certain Eq instances, for example record types<br>
or strings, could be optimized by including a pointer equality check<br>
that detects when an object is compared with itself.<br>
<br>
Does anyone here have experience with such an optimization? Has this<br>
been considered before, for example in GHC's deriving machinery?<br>
<br>
One complication seems to be the correct handling of fields with<br>
irreflexive instances, for example Float and Double. In such a case,<br>
pointer equality doesn't imply "==-equality".<br>
<br>
I'm looking forward to hearing your thoughts on this! :)<br>
<br>
Cheers,<br>
Simon<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div>