[GHC] #2328: Compiling DoCon with 6.8.3 has 3x slow-down
compared with 6.8.2
GHC
trac at galois.com
Thu Jun 5 08:51:47 EDT 2008
#2328: Compiling DoCon with 6.8.3 has 3x slow-down compared with 6.8.2
------------------------------------------+---------------------------------
Reporter: simonpj | Owner:
Type: compile-time performance bug | Status: new
Priority: normal | Milestone: 6.8.3
Component: Compiler | Version: 6.8.2
Severity: normal | Resolution:
Keywords: | Difficulty: Unknown
Testcase: | Architecture: Unknown
Os: Unknown |
------------------------------------------+---------------------------------
Comment (by igloo):
The problem seems to be that this patch:
{{{
[MERGED: Inline implication constraints
Ian Lynagh <igloo at earth.li>**20071215163315
Mon Nov 5 22:08:07 GMT 2007 simonpj at microsoft.com
This patch fixes Trac #1643, where Lennart found that GHC was
generating
code with unnecessary dictionaries. The reason was that we were
getting
an implication constraint floated out of an INLINE (actually an
instance
decl), and the implication constraint therefore wasn't inlined even
though it was used only once (but inside the INLINE). Thus we were
getting:
ic = \d -> <stuff>
foo = _inline_me_ (...ic...)
Then 'foo' gets inlined in lots of places, but 'ic' now looks a bit
big.
But implication constraints should *always* be inlined; they are just
artefacts of the constraint simplifier.
This patch solves the problem, by adding a WpInline form to the HsWrap
type.
}}}
makes more things inlinable, and thus requires more space. Reverting the
patch gets us back to 6.8.2 performance. Should I revert it in the 6.8
branch, Simon?
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2328#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list