[GHC] #8731: long compilation time for module with large data type and partial record selectors

GHC ghc-devs at haskell.org
Sun Nov 16 20:39:45 UTC 2014


#8731: long compilation time for module with large data type and partial record
selectors
-------------------------------------+-------------------------------------
              Reporter:  carter      |            Owner:
                  Type:  bug         |           Status:  new
              Priority:  normal      |        Milestone:  7.10.1
             Component:  Compiler    |          Version:  7.8.1-rc1
            Resolution:              |         Keywords:
      Operating System:              |     Architecture:  Unknown/Multiple
  Unknown/Multiple                   |       Difficulty:  Unknown
       Type of failure:  Compile-    |       Blocked By:
  time performance bug               |  Related Tickets:
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------

Comment (by thomie):

 Timing results for the example from comment:1.

 ||= GHC           ||  -O1   || -O2 ||
 ||= 7.4.2         ||  4.9s  || 16s ||
 ||= 7.6.3         ||  5.0s  || 15s ||
 ||= 7.8.3         ||  4.4s  || 12s ||
 ||= 7.9.20141113  ||  4.4s  || 14s ||

 Command: `time ghc -fforce-recomp -O<n> Constant.hs`

 Compilation takes only about 1 second, with either `-O1` or `-O2`, when I
 remove the `deriving (Eq, Ord, Read, Show)` clause from `data Constant`.
 The resulting object file also reduces in size from 1mb to 100kb.

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


More information about the ghc-tickets mailing list