[GHC] #9961: compile-time performance regression compiling genprimcode

GHC ghc-devs at haskell.org
Tue Jan 6 18:24:25 UTC 2015


#9961: compile-time performance regression compiling genprimcode
-------------------------------------+-------------------------------------
        Reporter:  hvr               |                   Owner:  simonpj
            Type:  bug               |                  Status:  new
        Priority:  normal            |               Milestone:  7.10.1
       Component:  Compiler          |                 Version:  7.10.1-rc1
      Resolution:                    |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  performance bug                    |               Test Case:
      Blocked By:                    |                Blocking:
 Related Tickets:                    |  Differential Revisions:
-------------------------------------+-------------------------------------

Comment (by hvr):

 Here's the output of

 {{{#!sh
 time /opt/ghc/7.10.1/bin/ghc -O -dshow-passes -c Lexer.hs |& ts -s "%.s"
 }}}

 Each output line is prepended by a timestamp expressed in seconds:

 {{{
 0.000012 Glasgow Haskell Compiler, Version 7.10.0.20141227, stage 2 booted
 by GHC version 7.8.4
 0.000080 Using binary package database:
 /opt/ghc/7.10.1/lib/ghc-7.10.0.20141227/package.conf.d/package.cache
 0.001052 Using binary package database:
 /home/hvr/.ghc/x86_64-linux-7.10.0.20141227/package.conf.d/package.cache
 0.020922 wired-in package ghc-prim mapped to ghc-
 prim-0.3.1.0-000208e3187fe823e04e0c88352da107
 0.020997 wired-in package integer-gmp mapped to integer-
 gmp-1.0.0.0-bb665344376cc98555dad190d849a337
 0.021545 wired-in package base mapped to
 base-4.8.0.0-7f94b08ebb75c6cfab2660fb04137780
 0.021578 wired-in package rts mapped to builtin_rts
 0.021650 wired-in package template-haskell mapped to template-
 haskell-2.10.0.0-ab6ca4770f90f6f44262138da6877395
 0.021676 wired-in package ghc mapped to
 ghc-7.10.0.20141227-217cbe8ba9c57a128065806ea73c39b4
 0.021689 wired-in package dph-seq not found.
 0.021758 wired-in package dph-par not found.
 0.022632 Created temporary directory: /tmp/ghc16466_0
 0.022703 *** C pre-processor:
 0.028039 *** Checking old interface for Lexer:
 0.028103 *** Parser:
 0.214401 *** Renamer/typechecker:
 1.362793 *** Desugar:
 1.841327 Result size of Desugar (after optimization)
 1.841402   = {terms: 97,708, types: 6,414, coercions: 7}
 1.841418 *** Simplifier:
 2.113916 Result size of Simplifier iteration=1
 2.113977   = {terms: 92,764, types: 1,443, coercions: 16}
 2.369659 Result size of Simplifier
 2.369721   = {terms: 92,764, types: 1,443, coercions: 16}
 2.369732 *** Specialise:
 2.432081 Result size of Specialise
 2.432143   = {terms: 92,928, types: 1,649, coercions: 34}
 2.432154 *** Float out(FOS {Lam = Just 0, Consts = True, OverSatApps =
 False}):
 2.432163 Result size of Float out(FOS {Lam = Just 0,
 2.432174                               Consts = True,
 2.761993                               OverSatApps = False})
 2.762059   = {terms: 161,836, types: 37,472, coercions: 34}
 2.762070 *** Simplifier:
 7.394822 Result size of Simplifier iteration=1
 7.394887   = {terms: 233,709, types: 119,483, coercions: 965}
 8.202722 Result size of Simplifier iteration=2
 8.202785   = {terms: 233,373, types: 119,022, coercions: 774}
 8.873386 Result size of Simplifier iteration=3
 8.873447   = {terms: 233,369, types: 119,019, coercions: 771}
 9.562065 Result size of Simplifier
 9.562127   = {terms: 233,369, types: 119,019, coercions: 771}
 9.562142 *** Simplifier:
 10.462517 Result size of Simplifier iteration=1
 10.462582   = {terms: 233,348, types: 118,990, coercions: 771}
 11.290064 Result size of Simplifier
 11.290130   = {terms: 233,340, types: 118,978, coercions: 771}
 11.290146 *** Simplifier:
 12.081775 Result size of Simplifier iteration=1
 12.081839   = {terms: 233,381, types: 119,015, coercions: 771}
 13.042842 Result size of Simplifier iteration=2
 13.042906   = {terms: 233,356, types: 118,973, coercions: 771}
 13.916546 Result size of Simplifier
 13.916613   = {terms: 233,356, types: 118,973, coercions: 771}
 13.916629 *** Float inwards:
 14.237678 Result size of Float inwards
 14.237740   = {terms: 233,356, types: 118,973, coercions: 771}
 14.237755 *** Called arity analysis:
 14.602005 Result size of Called arity analysis
 14.602069   = {terms: 233,356, types: 118,973, coercions: 771}
 14.602085 *** Simplifier:
 15.475958 Result size of Simplifier iteration=1
 15.476022   = {terms: 233,350, types: 118,967, coercions: 771}
 16.353738 Result size of Simplifier
 16.353807   = {terms: 233,350, types: 118,967, coercions: 771}
 16.353824 *** Demand analysis:
 17.733968 Result size of Demand analysis
 17.734033   = {terms: 233,350, types: 118,967, coercions: 771}
 17.734050 *** Worker Wrapper binds:
 17.862780 Result size of Worker Wrapper binds
 17.862858   = {terms: 233,515, types: 119,216, coercions: 771}
 17.862873 *** Simplifier:
 18.758890 Result size of Simplifier iteration=1
 18.758955   = {terms: 233,463, types: 119,172, coercions: 771}
 19.651759 Result size of Simplifier iteration=2
 19.651822   = {terms: 233,394, types: 119,034, coercions: 771}
 20.558257 Result size of Simplifier
 20.558318   = {terms: 233,394, types: 119,034, coercions: 771}
 20.558329 *** Float out(FOS {Lam = Just 0, Consts = True, OverSatApps =
 True}):
 20.558337 Result size of Float out(FOS {Lam = Just 0,
 20.558347                               Consts = True,
 21.488077                               OverSatApps = True})
 21.488144   = {terms: 292,556, types: 150,261, coercions: 771}
 21.488160 *** Common sub-expression:
 314.182413 Result size of Common sub-expression
 314.182475   = {terms: 263,668, types: 149,641, coercions: 219}
 314.182488 *** Float inwards:
 314.655439 Result size of Float inwards
 314.655503   = {terms: 263,668, types: 149,641, coercions: 219}
 314.655518 *** Simplifier:
 315.557057 Result size of Simplifier iteration=1
 315.557125   = {terms: 206,235, types: 120,272, coercions: 219}
 316.231673 Result size of Simplifier iteration=2
 316.231735   = {terms: 206,236, types: 120,271, coercions: 219}
 317.062088 Result size of Simplifier
 317.062153   = {terms: 206,236, types: 120,271, coercions: 219}
 317.062169 *** Tidy Core:
 317.468495 Result size of Tidy Core
 317.468565   = {terms: 206,104, types: 120,130, coercions: 219}
 317.473975 *** CorePrep:
 318.294956 Result size of CorePrep
 318.295026   = {terms: 206,396, types: 120,491, coercions: 219}
 318.295038 *** Stg2Stg:
 318.295050 *** CodeGen:
 323.746799 *** Assembler:
 323.934329 *** Deleting temp files:
 323.934396 Warning: deleting non-existent /tmp/ghc16466_0/ghc16466_3.c
 323.934873 *** Deleting temp dirs:

 real    5m24.015s
 user    5m23.707s
 sys     0m0.489s
 }}}

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


More information about the ghc-tickets mailing list