On Thu, Apr 24, 2014 at 4:23 PM, Mike Hommey <m...@glandium.org> wrote:

> On Thu, Apr 24, 2014 at 04:15:45PM -0700, Brian Smith wrote:
> > On Thu, Apr 24, 2014 at 4:03 PM, Ehsan Akhgari <ehsan.akhg...@gmail.com
> >wrote:
> >
> > >   * Are there obvious places that people should inspect for code that's
> > >
> > >> being built but not used? Some libs that got imported for WebRTC
> > >> maybe?
> > >>
> > >
> > > Nothing big comes to my mind.  Perhaps hunspell on b2g?
> > >
> >
> > https://bugzilla.mozilla.org/show_bug.cgi?id=611781: Project to reduce
> the
> > size of NSS libraries included in Firefox distributions. IIRC, this would
> > cut >500KB of object code.
>
> Is that counting the savings we'd get from removing certificate
> validation code, now that we have our own?
>

Removing NSS's libpkix (but not NSS's classic cert chain verification code)
was a big part of that 500KB. There are lots of public functions that are
exported from libnss3 that Firefox doesn't use; if you modify the *.def
files to stop exporting all of them and you enable link-time optimization
(NOTE: I wouldn't enable PGO for NSS at this time) then libnss3 shrinks
quite a bit. Further, if you remove stuff that is needed primarily for
Thunderbird (e.g. nsICMS*) then you can remove more exported functions from
the *.def files and shrink libnss3 even more. I had a PoC of this a year
ago; I'm not sure if I still have it laying around.

On top of that, I think that with a few weeks of work another 250KB-500KB
of NSS object code, and probably more, could be cut out, if somebody were
willing & able to do some surgery on NSS. NSS is 2.5MB on Windows right now
and it probably doesn't need to be more than 1MB and probably less.

Cheers,
Brian
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to