[GHC] #9630: compile-time performance regression (probably due to Generics)

GHC ghc-devs at haskell.org
Wed Sep 24 15:39:08 UTC 2014


#9630: compile-time performance regression (probably due to Generics)
-------------------------------------+-------------------------------------
              Reporter:  hvr         |            Owner:  simonpj
                  Type:  bug         |           Status:  new
              Priority:  normal      |        Milestone:  7.10.1
             Component:  Compiler    |          Version:  7.9
            Resolution:              |         Keywords:
      Operating System:              |     Architecture:  Unknown/Multiple
  Unknown/Multiple                   |       Difficulty:  Unknown
       Type of failure:  Compile-    |       Blocked By:
  time performance bug               |  Related Tickets:  #9583
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------

Old description:

> This is a continuation of #9583
>
> Compiling latest Cabal from Git's `Language.Haskell.Extension` module
> shows a significant performance regression with respect to GHC 7.8.3:
>
> {{{
> $ uname -a
> Linux duo 3.17.0-031700rc6-generic #201409211935 SMP Sun Sep 21 23:37:11
> UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
>
> $ git describe
> cabal-install_merged-1912-g7161e4c
>
> ########################################################################################
>
> $ /opt/ghc/7.8.3/bin/ghc --version
> The Glorious Glasgow Haskell Compilation System, version 7.8.3
>
> $ /opt/ghc/7.8.3/bin/ghc -Rghc-timing -O -c Language/Haskell/Extension.hs
> <<ghc: 5228751760 bytes, 543 GCs, 34135677/114940864 avg/max bytes
> residency (14 samples), 273M in use, 0.00 INIT (0.03 elapsed), 4.96 MUT
> (5.28 elapsed), 3.26 GC (3.47 elapsed) :ghc>>
>
> ########################################################################################
>
> $ /opt/ghc/head/bin/ghc --version
> The Glorious Glasgow Haskell Compilation System, version 7.9.20140923
>
> $ /opt/ghc/head/bin/ghc -Rghc-timing -O -c Language/Haskell/Extension.hs
> <<ghc: 125917854120 bytes, 3181 GCs, 349136895/833496072 avg/max bytes
> residency (30 samples), 2096M in use, 0.001 INIT (0.001 elapsed), 133.003
> MUT (142.730 elapsed), 73.241 GC (78.234 elapsed) :ghc>>
> }}}

New description:

 This is a continuation of #9583

 Compiling latest Cabal from Git's `Language.Haskell.Extension` module
 shows a significant performance regression with respect to GHC 7.8.3:

 {{{
 $ uname -a
 Linux duo 3.17.0-031700rc6-generic #201409211935 SMP Sun Sep 21 23:37:11
 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

 $ git describe
 cabal-install_merged-1912-g7161e4c

 #############################################################################

 $ /opt/ghc/7.8.3/bin/ghc --version
 The Glorious Glasgow Haskell Compilation System, version 7.8.3

 $ /opt/ghc/7.8.3/bin/ghc -Rghc-timing -O -c Language/Haskell/Extension.hs
 <<ghc: 5228751760 bytes, 543 GCs,
        34135677/114940864 avg/max bytes residency (14 samples),
        273M in use, 0.00 INIT (0.03 elapsed),
        4.96 MUT (5.28 elapsed), 3.26 GC (3.47 elapsed) :ghc>>

 #############################################################################

 $ /opt/ghc/head/bin/ghc --version
 The Glorious Glasgow Haskell Compilation System, version 7.9.20140923

 $ /opt/ghc/head/bin/ghc -Rghc-timing -O -c Language/Haskell/Extension.hs
 <<ghc: 125917854120 bytes, 3181 GCs,
        349136895/833496072 avg/max bytes residency (30 samples),
        2096M in use, 0.001 INIT (0.001 elapsed),
        133.003 MUT (142.730 elapsed), 73.241 GC (78.234 elapsed) :ghc>>
 }}}

 Or in other words, this represents a ~7.7x "memory in use" and ~26x
 elapsed time regression

--

Comment (by hvr):

 description line-wrapped for readability

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


More information about the ghc-tickets mailing list