#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 <[EMAIL PROTECTED]>**20071215163315
Mon Nov 5 22:08:07 GMT 2007 [EMAIL PROTECTED]
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_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs