Binary bloat in 7.10
Thomas Miedema
thomasmiedema at gmail.com
Fri Apr 3 00:48:03 UTC 2015
Jeremy,
On Thu, Apr 2, 2015 at 2:12 PM, Thomas Miedema <thomasmiedema at gmail.com>
wrote:
> Maybe `split-objs` is not applied?
>
That suggestion was completely misguided. Compiling with `-split-objs`
makes a library _grow_ in size, but makes executables that link against it
_smaller_.
Size of `libHSCabal-1.22.2.0` obtained by running `cabal install
Cabal==1.22.2.0 --with-ghc=ghc-x.x.x (--enable-split-objs)`, on 64bit
Ubuntu:
default --enable-split-objs
7.8.4: 19Mb 46Mb
7.10.1: 21Mb 52Mb
So the 7.10 versions are indeed somewhat larger, but I wouldn't call it
ballooned or bloated. Note that a ghc build compiles the libraries with -O2
, which increases the binary size another 5% or so.
All these numbers are not far off from the ones you were getting. I think
you have been comparing a 7.8.4 build of Cabal without split objects, with
a 7.10.1 build of Cabal with split objects.
I don't think there is a bug here.
-Thomas
P.S. To show that binary sizes not only grow with new ghc releases, here is
the same experiment with random:
`cabal install random==1.0.1.1 --with-ghc=ghc-x.x.x (--enable-split-objs)`
default --enable-split-objs
7.0.4: 0.94M 1.9M
7.2.2: 1.1M 2.1M
7.4.2: 0.86M 1.8M
7.6.3: 0.85M 1.8M
7.8.4: 0.76M 1.7M
7.10.1: 0.69M 1.6M
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/glasgow-haskell-users/attachments/20150403/432ce40b/attachment.html>
More information about the Glasgow-haskell-users
mailing list