Closed Bug 163737 Opened 22 years ago Closed 22 years ago

mozilla 1.2 dll consolidation tracking bug

Categories

(SeaMonkey :: Build Config, defect, P2)

x86
Linux
defect

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.2beta

People

(Reporter: alecf, Assigned: alecf)

References

Details

I have enough DLL consolidation bugs now that its worth a tracking bug.
adding some bugs (one of which is fixed)
Status: NEW → ASSIGNED
Depends on: 156567, 157993, 163736
Priority: -- → P2
Summary: dll consolidation tracking bug → mozilla 1.2 dll consolidation tracking bug
Target Milestone: --- → mozilla1.2beta
Depends on: 114658
what about consolidating img* dlls ? (I couldn't find a bug # for that)
imgbmp.dll, imggif.dll, imgicon.dll, imgjpeg.dll, imglib2.dll, imgpng.dll,
imgppm.dll, imgxbm.dll (and keep imgmng.dll because it is bigger ?)
some of them are so small that it should save some disk space too ...
Depends on: compreg.dat
Depends on: 79175
Depends on: 168048
I found this one:
bug 115217 : merging libnkcache.so with libnecko.so improves startup time
Depends on: 115217
a few others that I want to tackle:
These are the DLLs < 100k, minus the ones removed via bug 168048, bug 163736

85      docshell.dll    Combine into some embedding DLL?
59      urildr.dll      Combine into some embedding DLL?
54      chrome.dll      Combine in some embedding DLL?
38      webbrwsr.dll    Combine in some embedding DLL?
36      oji.dll         Combine in some Embedding DLL? (or maybe not)
29      jar50.dll       Combine in same DLL as chrome?
7       mozfind.dll     Combine in some embedding dll
17      shistory.dll    Combine in some embedding DLL? (or maybe not)

63      necko2.dll      maybe move ftp into necko.dll, and leave alone
51      nkcache.dll     Combine with necko (bug 115217)?

56      caps.dll        Combine in some Gecko DLL?
49      gkview.dll      Combine in some Gecko DLL?
30      imglib2.dll     Combine in some Gecko DLL (though with bug 168736, this
file is now 148k)
14      jsurl.dll       Combine with DOM or something

49      profile.dll     Combine in some DLL with prefs?
43      xppref32.dll    Combine in some DLL with profile?

20      ucharuti.dll    Combine in some i18n DLL?
46      chardet.dll     Combine in some i18n DLL?
38      nslocale.dll    Combine in some i18n DLL?
15      strres.dll      Combine in some i18n DLL
12      lwbrk.dll       Combine with Gecko or i18n

66      appshell.dll    xpfe-specific. combine with appcomps?

57      jsd3250.dll     What is this? JS debugger?

43      cookie.dll      Combined extensions dll?

34      mozldap.dll     Not sure.. 

21      jsloader.dll    Combine with xpconnect (Bug 79175)

16      txmgr.dll       Combine with editor - do we really need another dll for
undo?

16      mozbrwsr.dll    Combine with appcomps

71      wallet.dll      Combine with wlltvwrs.dll
9       wlltvwrs.dll    Combine with wallet

Depends on: 169003
Depends on: 169498
ok, some bugs have been fixed.. new DLL list looks like:
With (*) next to the ones that embedding cares about

(*)85      docshell.dll    Combine into some embedding DLL?
(*)59      urildr.dll      Combine into some embedding DLL?
(*)54      chrome.dll      Combine in some embedding DLL?
(*)38      webbrwsr.dll    Combine in some embedding DLL?
(*)36      oji.dll         Combine in some Embedding DLL? (or maybe not)
(*)29      jar50.dll       Combine in same DLL as chrome?
(*)7       mozfind.dll     Combine in some embedding dll
(*)17      shistory.dll    Combine in some embedding DLL? (or maybe not)

(*)56      caps.dll        Combine in some Gecko DLL?
(*)49      gkview.dll      Combine in some Gecko DLL?
(*)14      jsurl.dll       Combine with DOM or something

(*)49      profile.dll     Combine in some DLL with prefs?
(*)43      xppref32.dll    Combine in some DLL with profile?

66      appshell.dll    xpfe-specific. combine with appcomps?

57      jsd3250.dll     What is this? JS debugger?

(*)43      cookie.dll      Combined extensions dll?

34      mozldap.dll     Not sure.. 

(*)16      txmgr.dll       Combine with editor - do we really need another dll for
undo?

71      wallet.dll      Combine with wlltvwrs.dll
9       wlltvwrs.dll    Combine with wallet
regviewr.dll is 28k - combine with appcomps?
intlcmpt.dll is 44k - combine with other dll's in bug 169498?
alecf, bug 49524 is already filed for the wallet dll's if you'd prefer to attach
the patch to it instead of in a new bug.
bug 106069 is filed for ftp -> necko.dll
thanks for doing the research, stephen! I'll add the wallet dependency for now,
and go look at the ftp one (but not add the dependency since its technically not
a consolidation issue)
Depends on: 49524
This is cool especially since the new architecture of Windows XP loads programs
faster using large libraries instead of many small ones.
I'm removing the last two (bug 49524 - wallet stuff, and bug 114658 - vague
ramblings about embedcomponents, etc) and marking this fixed. I'm not going to
do any more dll consolidation in 1.2.. (not worth the risk)
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
No longer depends on: 49524, 114658
Resolution: --- → FIXED
May we get some data about how the work affected the performance and footprint?

Tnx.
kind of. here are the DLLs removed since 1.1:

-bin\components\ucharuti.dll
-bin\components\chardet.dll
-bin\components\gfx2.xpt
-bin\components\gfx2.dll
-bin\components\imggif.dll
-bin\components\imgjpeg.dll
-bin\components\imgbmp.dll
-bin\components\imgxbm.dll
-bin\components\imgpng.dll
-bin\components\imgppm.dll
-bin\components\jsloader.dll
-bin\components\lwbrk.dll
-bin\components\mozbrwsr.dll
-bin\components\nkcache.dll
-bin\components\nslocale.dll
-bin\components\strres.dll
-bin\components\txtsvc.dll
-bin\components\ucvcn.dll
-bin\components\ucvibm.dll
-bin\components\ucvja.dll
-bin\components\ucvko.dll
-bin\components\ucvlatin.dll
-bin\components\ucvtw.dll
-bin\components\ucvtw2.dll

that's 24 DLLs removed, and one added (i18n.dll) as a result of this work
(typeaheadfind's dll was also added in the 1.2 release, but obviously that's not
part of this bug)

but that's about all I can offer. you'll have to compare a nightly build to 1.1
to get full details. It would be interesting to see, I have to admit.
I compared NN7 and moz 20020308 build.

The removed dll's take in NN7 1.06Mb (1 118 928b).
The i18n.dll takes 101Kb in Mozilla.

But the NN7 folder contains 147 objects when Moz 229...

Can it be that the 1.06Mb were converted to 1 101Kb? Can smbd verify my data?
no, because of those 24 removed DLLs, only about 5 were consolidated into
i18n.dll. I'll try to remember the others:

-bin\components\nslocale.dll
-bin\components\strres.dll
-bin\components\lwbrk.dll
-bin\components\ucharuti.dll
-bin\components\chardet.dll
=> i18n.dll

-bin\components\gfx2.xpt
-bin\components\gfx2.dll
=>gkgfxwin.dll and gkgfx.dll (not a component)

-bin\components\imggif.dll
-bin\components\imgjpeg.dll
-bin\components\imgbmp.dll
-bin\components\imgxbm.dll
-bin\components\imgpng.dll
-bin\components\imgppm.dll
=>imglib2.dll

-bin\components\jsloader.dll
=>xpc3250.dll

-bin\components\mozbrwsr.dll
=> appcomps.dll

-bin\components\nkcache.dll
=> necko.dll

-bin\components\txtsvc.dll
=> editor.dll

-bin\components\ucvcn.dll
-bin\components\ucvibm.dll
-bin\components\ucvja.dll
-bin\components\ucvko.dll
-bin\components\ucvlatin.dll
-bin\components\ucvtw.dll
-bin\components\ucvtw2.dll
=> uconv.dll

but this is going to be a little inacurate, because of course most of those DLLs
had code added to them during the 1.2 milestone.
ok, so I did a quick scan of 1.1 vs. the 1.2 nightlies, and came up with a total
"Savings" of 180k - I think this is a minimum estimation, because most DLLs grew
during that same period by at least a few k. for example, gkcontent grew by 34k
and gkwidget grew by 7k... and they obviously were not affected by this work.
see bug 174807 for the equivalent 1.3 work.
Summary: mozilla 1.2 dll consolidation tracking bug
Summary: mozilla 1.2 dll consolidation tracking bug
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.