#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: |
---------------------------------+------------------------------------------
I noticed today that our binary dists are getting bigger:
{{{
-rw-rw-r-- 1 simonmar GHC 118924739 2010-11-17 04:02 ghc-7.0.1-i386
-unknown-linux.tar.bz2
-rw-rw-r-- 1 simonmar GHC 112074889 2011-03-02 04:19 ghc-7.0.2-i386
-unknown-linux.tar.bz2
-rw-rw-r-- 1 simonmar GHC 109012585 2011-03-27 05:21 ghc-7.0.3-i386
-unknown-linux.tar.bz2
-rw-rw-r-- 1 simonmar GHC 109012197 2011-06-15 04:25 ghc-7.0.4-i386
-unknown-linux.tar.bz2
-rw-rw-r-- 1 simonmar GHC 115102248 2011-08-10 03:17 ghc-7.2.1-i386
-unknown-linux.tar.bz2
-rw-rw-r-- 1 simonmar GHC 114428608 2011-11-10 04:28 ghc-7.2.2-i386
-unknown-linux.tar.bz2
-rw-rw-r-- 1 simonmar GHC 123417972 2012-04-20 04:23
ghc-7.4.1.20120416-i386-unknown-linux.tar.bz2
-rw-rw-r-- 1 simonmar GHC 144861355 2012-04-18 06:25 ghc-7.5.20120413-i386
-unknown-linux.tar.bz2
}}}
I looked into the difference between 7.0.4 and 7.4.1, and found that it
seems to be mostly caused by GHC itself getting bigger:
{{{
-rwxrwxr-x simonmar/GHC 31280127 2011-06-14 19:59
ghc-7.0.4/ghc/stage2/build/tmp/ghc-stage2
-rwxrwxr-x simonmar/GHC 41050757 2012-04-19 20:12
ghc-7.4.1/ghc/stage2/build/tmp/ghc-stage2
}}}
the GHC binary is 25% larger, and the binary dist contains several copies
of GHC (.a, _p.a, .so, the GHC binary, haddock).
We didn't add 25% more code to GHC between 7.0.4 and 7.4.1, so why is it
25% larger? This increase isn't reflected in other libraries - in fact,
the base package is smaller in 7.4.1 than 7.0.4.
I have a horrid feeling that this is due to heavy use of INLINE/INLINABLE
in `containers`, but I hope I'm wrong.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/6042>
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