Re: Make Eq type class single method
Brandon Allbery <[email protected]> Thu, 21 Oct 2021 11:19:09 -0400
| Newsgroups | gmane.comp.lang.haskell.libraries |
|---|---|
| Message-ID | <CAKFCL4WcvWo6NW9p2+-+wyaD8ug5=7dcW1Hfv_mA4j6F2wP-kQ@mail.gmail.com> |
Wasn't it already shown that ghc already swaps the order of branches to match? On Thu, Oct 21, 2021 at 11:13 AM David Feuer <[email protected]> wrote: > Not relevant. One question i have though: in the case of primitive types, > can switching from a primitive `/=` to one based on `==` change the order > of branches and thereby affect performance for better or worse? > > On Thu, Oct 21, 2021, 10:19 AM Carter Schonwald < > [email protected]> wrote: > >> So one thing I’d like to highlight, that I don’t know if we could bake >> into ghc safely and might not be relevant here is: >> >> At least in some cases, implementations of EQ may use >> “reallyUnsafePtrEquality#”, as a never false positive check that two heap >> values are the same heap object. Naively this seems like it’s probably >> orthogonal to the matter of Eq being a single or double method type class, >> but I figure it’s worth asking out loud >> >> On Wed, Oct 20, 2021 at 4:29 PM Joachim Breitner < >> [email protected]> wrote: >> >>> Hi, >>> >>> parallel work… should have linked to >>> https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6793 >>> earlier. But yes, it is rather simple to make that change. >>> >>> Am Mittwoch, dem 20.10.2021 um 19:49 +0300 schrieb Oleg Grenrus: >>> > I attach the patches for ghc, containers and text. >>> > I encourage someone (Joachim?) to run the nofib suite. >>> >>> nofib might be too specialized; I think “ghc compiling Cabal” is a good >>> benchmark. I’ll do that eventually, if GHC’s CI doesn’t do that already >>> for me (I’ll ask Ben what kind of infrastructure we have for that – >>> doing it manually and correctly is tedious and error-prone), maybe >>> tomorrow. >>> >>> Cheers, >>> Joachim >>> -- >>> Joachim Breitner >>> [email protected] >>> http://www.joachim-breitner.de/ >>> >>> >>> _______________________________________________ >>> Libraries mailing list >>> [email protected] >>> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries >>> >> _______________________________________________ >> Libraries mailing list >> [email protected] >> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries >> > _______________________________________________ > Libraries mailing list > [email protected] > http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries > -- brandon s allbery kf8nh [email protected] _______________________________________________ Libraries mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries