mingw-cross-env-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Mingw-cross-env-list] size increasing in binaries due to feature bl


From: Volker Grabsch
Subject: Re: [Mingw-cross-env-list] size increasing in binaries due to feature bloat/creep/whatever
Date: Wed, 14 Mar 2012 12:01:15 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

Moritz Bunkus schrieb:
> another observation. mingw-cross-env has gotten bigger. Meaning the
> executables have.
>
> [...] This is a ~ 7.2% increase in file size. [...]
>
> Of course I have no problem going back to the Dec 16 version for my
> own builds for the time being -- after all they've been working just
> fine for now. I'll just bite the size-bullet when I need new features
> from mingw-cross-env or some bugs fixed.

In general, there are multiple possible reasons for the
increase in binary size:

1) More debugging information
2) New versions of the used libraries became bigger
3) More features in the libraries were enabled
4) The libraries got new dependendies to other libraries

Regarding 1), you should check that you ran "strip" or
even "strip -s" over your binaries. (Probably you already
did, I'm just guessing here because of the lack of
information.)

Regarding 2), you can't do anything. Well, you could
switch to old library versions, but that means sticking
with old bugs and being vulnerable to well-knows security
issues of the old library versions.

Regarding 3) and 4), you could adjust the "./configure"
options in the *.mk files of your libraries. However,
as of now you'll have to maintain those local changes
on your own.


A few more words on this last point:

For any concrete application, there are different needs
and different optimal configurations. I see no way we
could ever handle all those variants, but maybe I'm
missing something here. So the best we can do is providing
feature-complete libraries, so we have a setup that works
for everyone out of the box.

In other words, we're trading increased binary sizes
for having less trouble. That is, trouble with missing
functionality and fiddling with how to stick the libraries
together.

For most projects, the increase is not that big, and it
is generally not worth the trouble to tweak mingw-cross-env
for your application.

However, in case you really want to optimize mingw-cross-env
for your specific application, feel free to do so! This is
usually "just" a question of disabling some "./configure"
options. In other words: You take our feature-complete setup,
and disable everything you don't need.

Maybe in the future we'll have some sort of customization
system, or even an automatic optimization for your application.
But as of now, I don't know about any mechanism simpler than
maintaining application-specific optimizations as local changes.
(Again, am I overlooking something?)

If you are doing that, feel free to ask for advice, as some
other people here on the list are customzing mingw-cross-env
to their specific application, too. Maybe you'd even like to
publish your local changeset on this list, for others to
review and to comment on it.


Regards,
Volker

-- 
Volker Grabsch
---<<(())>>---



reply via email to

[Prev in Thread] Current Thread [Next in Thread]