[GHC] #9655: Do not UNPACK strict fields that are very wide

GHC ghc-devs at haskell.org
Thu Oct 2 07:27:56 UTC 2014


#9655: Do not UNPACK strict fields that are very wide
-------------------------------------+-------------------------------------
              Reporter:  simonpj     |            Owner:
                  Type:  bug         |           Status:  new
              Priority:  normal      |        Milestone:
             Component:  Compiler    |          Version:  7.8.3
            Resolution:              |         Keywords:
      Operating System:              |     Architecture:  Unknown/Multiple
  Unknown/Multiple                   |       Difficulty:  Unknown
       Type of failure:              |       Blocked By:
  None/Unknown                       |  Related Tickets:
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 Ah. In that case I'm puzzled.

 The strictness analyser does worker/wrapper split that does not take
 account of the width of the argument product, which is more defensible
 than in unpacking wide data type declarations.  But in that case

  * I don't think that removing the "!" would make a difference.

  * We might get a worker with lots of arguments but I don't see why that
 would increase compile times.

 John: if you feel motivated, could you boil out a reproducible test case?
 If you use `-dshow-passes` on your current set-up, I think you'll see that
 the size of one of the intermediate stages blows up when you have the "!"
 vs not having it.  So you can use that unexpected size blow-up instead of
 looking for very long compile times (which can get a bit painful).

 Simon

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9655#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list