Inhibiting the specialiser?

Is there a GHC flag for inhibiting the specializer (but not all optimizations)? I'm seeing huge output from the Specialise phase killed at 4GB and growing. The output starts as follows: Result size of Specialise = {terms: 29,639, types: 10,921,552, coercions: 4,425,185} Sounds like a lot to me. Is it?. I get this behavior with -O2 and with -O. -- Conal

As per the GHC manual, it should be -fno-specialise for disabling all
specialization, and -fno-cross-module-specialise for disabling only the
specialization of imported INLINABLE functions. Both of these flags are
"on" when using -O and -O2.
-harendra
On 15 September 2017 at 07:15, Conal Elliott
Is there a GHC flag for inhibiting the specializer (but not all optimizations)? I'm seeing huge output from the Specialise phase killed at 4GB and growing. The output starts as follows:
Result size of Specialise = {terms: 29,639, types: 10,921,552, coercions: 4,425,185}
Sounds like a lot to me. Is it?. I get this behavior with -O2 and with -O.
-- Conal
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users

Thanks! Exactly what I was looking for.
On Thu, Sep 14, 2017 at 8:30 PM, Harendra Kumar
As per the GHC manual, it should be -fno-specialise for disabling all specialization, and -fno-cross-module-specialise for disabling only the specialization of imported INLINABLE functions. Both of these flags are "on" when using -O and -O2.
-harendra
On 15 September 2017 at 07:15, Conal Elliott
wrote: Is there a GHC flag for inhibiting the specializer (but not all optimizations)? I'm seeing huge output from the Specialise phase killed at 4GB and growing. The output starts as follows:
Result size of Specialise = {terms: 29,639, types: 10,921,552, coercions: 4,425,185}
Sounds like a lot to me. Is it?. I get this behavior with -O2 and with -O.
-- Conal
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users

Did you try -fno-specialise? From: Glasgow-haskell-users [mailto:glasgow-haskell-users-bounces@haskell.org] On Behalf Of Conal Elliott Sent: 15 September 2017 02:45 To: glasgow-haskell-users@haskell.org Subject: Inhibiting the specialiser? Is there a GHC flag for inhibiting the specializer (but not all optimizations)? I'm seeing huge output from the Specialise phase killed at 4GB and growing. The output starts as follows: Result size of Specialise = {terms: 29,639, types: 10,921,552, coercions: 4,425,185} Sounds like a lot to me. Is it?. I get this behavior with -O2 and with -O. -- Conal

Thanks. I somehow didn't notice that flag.
On Fri, Sep 15, 2017 at 3:23 AM, Simon Peyton Jones
Did you try -fno-specialise?
*From:* Glasgow-haskell-users [mailto:glasgow-haskell-users- bounces@haskell.org] *On Behalf Of *Conal Elliott *Sent:* 15 September 2017 02:45 *To:* glasgow-haskell-users@haskell.org *Subject:* Inhibiting the specialiser?
Is there a GHC flag for inhibiting the specializer (but not all optimizations)? I'm seeing huge output from the Specialise phase killed at 4GB and growing. The output starts as follows:
Result size of Specialise
= {terms: 29,639, types: 10,921,552, coercions: 4,425,185}
Sounds like a lot to me. Is it?. I get this behavior with -O2 and with -O.
-- Conal
participants (3)
-
Conal Elliott
-
Harendra Kumar
-
Simon Peyton Jones