#6042: GHC is bloated
---------------------------------+------------------------------------------
Reporter: simonmar | Owner:
Type: bug | Status: new
Priority: high | Milestone: 7.6.1
Component: Compiler | Version: 7.4.1
Keywords: | Os: Unknown/Multiple
Architecture: Unknown/Multiple | Failure: None/Unknown
Difficulty: Unknown | Testcase:
Blockedby: | Blocking:
Related: |
---------------------------------+------------------------------------------
Comment(by milan):
I compiled current GHC head, 7.5.20120425, on x86_64. In all cases I did a
clean build with GhcLibWays = v and measured size of stripped ghc-stage2:
{{{
containers used | ghc-stage2 size | change
against first line
-----------------------------------------------+-----------------+-------------------------
default containers from GHC tree | 35888944 |
INLINABLE pragma removed | 35705456 | -0.51%
INLINABLE pragma removed, INLINE folds removed | 35401680 | -1.35%
INLINABLE changed to INLINE | 35973712 | +0.23%
}}}
The INLINABLE pragma itself is causing ~183k increase in size (0.5%). If
INLINE were used instead of INLINABLE, the increase would be ~268k. So
there is some improvement in using INLINABLE instead of INLINE, but not
very big.
Another issue is that containers do INLINE folds. This is a big
performance win in some circumstances, especially when the combining
function is small and its unfolding is known. This causes another ~303k
increase in size (0.8%). BTW, Data.List.foldr is INLINEd too.
So although there is some code growth, it is not enormous (at least in my
opinion).
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/6042#comment:8>
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