perf regression with TypeFamilies

Harendra Kumar harendra.kumar at gmail.com
Tue Jun 30 12:55:45 UTC 2020


Hi Richard,

I am glad that you are interested in it. It is the runtime performance that
degrades, and yes it is fully reproducible and publicly shareable, the
library is open source so anyone can run these benchmarks. I had postponed
the problem raising an issue to investigate it further here
https://github.com/composewell/streamly/issues/567 . Since you are
interested I will investigate it sooner. I have added some perf numbers in
that issue.

I was also surprised by it, thinking what can type families possibly do to
degrade run time performance like that. I can try compiling one worst
affected benchmark code and look at the core-2-core passes to see where it
makes the difference.

-harendra

On Mon, 29 Jun 2020 at 19:45, Richard Eisenberg <rae at richarde.dev> wrote:

> Hi Harendra,
>
> I saw your comment on a ghc proposal (
> https://github.com/ghc-proposals/ghc-proposals/pull/343#issuecomment-650797297)
> that said you experienced perf regressions with -XTypeFamilies enabled (but
> no other changes). Are these reproducible in a way that can be shared
> publicly? And are the regressions in compile times or run times?
>
> -XTypeFamilies enables -XMonoLocalBinds, which disables let-generalization
> on some nested lets. It is thus just barely conceivable that different Core
> is produced depending on this extension, and that there may be a
> possibility of performance changes. But this would be unexpected, and
> something worth investigating.
>
> In other words: if you can, do please post a bug -- simply enabling
> -XTypeFamilies should not slow anything down!
>
> Thanks,
> Richard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20200630/b7284063/attachment.html>


More information about the ghc-devs mailing list