Closed Bug 296138 Opened 19 years ago Closed 18 years ago

Use lxLite to compress binaries

Categories

(Firefox Build System :: General, defect)

x86
OS/2
defect
Not set
minor

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: mozilla, Assigned: mozilla)

Details

(Keywords: fixed1.8.1)

Attachments

(2 files)

With the hints from Paul Ratcliffe in the newsgroup I found the correct switches
for lxLite to better strip and compress the binaries but not garble the
functionality of chkdll32:

   lxlite /ydd /yxd /d

I get even higher compression ratios using

   lxlite /mr3 /ml1 /mf2 /ydd /yxd /d

but then it never finishes for gklayout.dll and actually the result in the ZIP
file is minimal while I guess there might even be a negative effect on slow
machines to uncompress the files again.
This activates the call to lxlite in strip.cmd, we win about one MB... Hmm,
would this mean lxLite need to get a build requirement for Mozilla? It seems
that if I remove lxLite from the path make -C xpinstall/packager runs through
anyway without error.
Assignee: mozilla → mozilla
Status: NEW → ASSIGNED
Attachment #184967 - Flags: review?(mozilla)
Do this and we can't run ft2lib 1.0 without undoing lxlite on applicable files
any more. For proper development QA we need to be able to run Moz/FF with and
without ft2lib, and this is too complicated for under ft2lib 2+, probably much
like having to remove lxlite. I have no need for anything in v2 that isn't in
v1. Maybe lxlite on releases, but not nightlies please.
For QA you should certainly not rely on ft2lib 1.0 any more! It had a lot of
bugs that are fixed in the latest version. And with ft2lib 2.0 it's as easy as
flipping a switch in the (yes, urgs) registry. I can do some research and come
up with a script to do that more easily than with regedit/2 if you want.
I just had some fun measuring the effects of various lxLite parameters. The table in the attached file basically shows that the parameters in the patch (attachment 184967 [details] [diff] [review]) give the best compromize in terms of speed and (download) size while keeping chkdll32 working. Well, its not such a big effect for startup speed compared to no lxLite but it buys half a MB of download size.

The size columns give the package size with zip -9rD and unpacked dir size, the startup speed was measured as mean+-stddev and median using the mozilla/tools/performace/startup scripts on a laptop which I once throttled to 13% of its CPU speed (10 samples each) and once used without throttling (24 samples).
Comment on attachment 184967 [details] [diff] [review]
reactivate lxLite in strip.cmd

r=mkaply - as long as chkdll32 still works, I'm ok with this.
Attachment #184967 - Flags: review?(mozilla) → review+
fix checked in.
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Comment on attachment 184967 [details] [diff] [review]
reactivate lxLite in strip.cmd

Small OS/2 packaging change only, long trunk tested.
Attachment #184967 - Flags: approval1.8.1?
Comment on attachment 184967 [details] [diff] [review]
reactivate lxLite in strip.cmd

a=darin on behalf of drivers
Attachment #184967 - Flags: approval1.8.1? → approval1.8.1+
Keywords: fixed1.8.1
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: