
#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