[GHC] #11095: -O0 -g slows GHC down on list literals (compared to -O0 without -g)

GHC ghc-devs at haskell.org
Sun Nov 15 13:35:06 UTC 2015


#11095: -O0 -g slows GHC down on list literals (compared to -O0 without -g)
-------------------------------------+-------------------------------------
           Reporter:  slyfox         |             Owner:
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  7.10.2
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 Tried to buld syb-0.6 testsuite with '-O0 -g' flags
 today and noticed compiler hung for a couple of hours.

 Distilled example from syb-0.6 testsuite (exact example attached):

 {{{#!hs
 {-# LANGUAGE NoImplicitPrelude #-}
 {-# OPTIONS_GHC -O0 #-}
 module Bug (bug) where

 {-# NOINLINE f #-}
 f :: a -> a
 f v = v

 bug :: [()]
 bug = f v

 v :: [()]
 v =
 [(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),()
 ,(),(),(),(),() ... --- a lot of these
        ]
 }}}

 {{{
 $ time ghc -c -fforce-recomp -O0 Bug.hs

 real    0m0.333s
 user    0m0.288s
 sys     0m0.042s

 $ time ghc -c -fforce-recomp -O0 -g Bug.hs

 real    0m40.241s
 user    0m40.021s
 sys     0m0.070s
 }}}

 For some reason '''-g''' manages slow things down
 at a large factor.

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


More information about the ghc-tickets mailing list