blog dds

2006.08.08

SeaMonkey vs Internet Explorer Revisited

In an older blog entry I compared the complexity of Mozilla with that of Internet Explorer by looking at the components each linked to. Recently, comments to a Slashdot posting I made, noted that I was comparing the two products on different platforms and source with binary dependencies. I therefore set out to compare the binary dependencies of the two under Windows.

Using the Windows Process Explorer I obtained a list of the DLLs used by a freshly loaded Internet Explorer (version 6.0.2900.2180) and SeaMonkey (1.0.2). (I know, I should have used Firefox, but this is what I had handy.)

I found 30 DLLs used by both products: advapi32.dll c_1252.nls clbcatq.dll comctl32.dll comres.dll ctype.nls gdi32.dll imm32.dll kernel32.dll locale.nls lpk.dll msctf.dll msctfime.ime msimtf.dll msvcrt.dll ntdll.dll ole32.dll oleaut32.dll rpcrt4.dll shell32.dll shlwapi.dll sortkey.nls sorttbls.nls SynTPFcs.dll unicode.nls user32.dll usp10.dll uxtheme.dll version.dll xpsp2res.dll . The Internet Explorer used another 30 DLLs that SeaMonkey didn't use ( AcroIEHelper.dll apphelp.dll browselc.dll browseui.dll crypt32.dll cryptui.dll cscdll.dll cscui.dll iexplore.exe imagehlp.dll index.dat mlang.dll msasn1.dll mshtml.dll msi.dll msls31.dll msvcr71.dll netapi32.dll olepro32.dll psapi.dll secur32.dll setupapi.dll shdoclc.dll shdocvw.dll ssv.dll sxs.dll urlmon.dll userenv.dll wininet.dll wintrust.dll wldap32.dll ). Contrary to what I would expect from my earlier findings, I found that SeaMonkey used even more unique DLL's than the Internet Explorer, anther 61: ( addrbook.dll appcomps.dll appshell.dll caps.dll chrome.dll comdlg32.dll cookie.dll docshell.dll editor.dll embedcomponents.dll gkgfx.dll gkgfxwin.dll gklayout.dll gkparser.dll gkwidget.dll hnetcfg.dll i18n.dll imglib2.dll jar50.dll js3250.dll jsd3250.dll jsj3250.dll mork.dll mozz.dll msgbsutl.dll msgimap.dll msglocal.dll msgMapi.dll msgnews.dll mswsock.dll necko.dll nspr4.dll oji.dll palmsync.dll perms.dll pipboot.dll plc4.dll plds4.dll profile.dll rdf.dll seamonkey.exe srchsvc.dll sroaming.dll txmgr.dll typeaheadfind.dll uconv.dll universalchardet.dll webbrwsr.dll winmm.dll winspool.drv ws2_32.dll ws2help.dll wshtcpip.dll wsock32.dll xpc3250.dll xpcom.dll xpcom_compat.dll xpcom_compat_c.dll xpcom_core.dll xppref32.dll ).

However, the number of DLLs isn't the whole story. I then set out to measure the size of the DLLs, which reflects the total code base on which each product depends. Here the results were the opposite. The total size of the DLLs which Internet Explorer loads is 44MB; the size of the DLLs for SeaMonkey is 11MB less: 33MB. (The sizes of the two executables 91kB and 147kB, respectively, are insignificant compared to the above figures.)

Significantly, SeaMonkey also opens eight jar files ( en-US.jar classic.jar toolkit.jar reporter.jar comm.jar US.jar chatzilla.jar en-win.jar ) totalling another 8MB. These however contain resources (images and strings) and not code. The DLLs that the Internet Explorer uses can also contain resources, so, although the new results indicate the SeaMonkey depends on less code than the Internet Explorer, the matter still requires more scrutiny.

Read and post comments, or share through   


Creative Commons License Last modified: Tuesday, August 8, 2006 6:17 pm
Unless otherwise expressly stated, all original material on this page created by Diomidis Spinellis is licensed under a Creative Commons Attribution-Share Alike 3.0 Greece License.