lynx-dev
[Top][All Lists]
Advanced

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

lynx-dev code bloat (a mini-epic)


From: Webmaster Jim
Subject: lynx-dev code bloat (a mini-epic)
Date: Mon, 1 Mar 1999 19:34:48 -0500

To look further at the code bloat issue, I downloaded Lynx2-2
and compared it to some others I have on my local machine.

First, libwww.a has grown about double in 5 years:

235948 lynx2-2/WWW/Library/netbsd/libwww.a
222558 lynx2-3/WWW/Library/unix/libwww.a
252388 lynx2-4/WWW/Library/netbsd/libwww.a
316558 lynx2-5/WWW/Library/netbsd/libwww.a
313338 lynx2-6/WWW/Library/netbsd/libwww.a
950706 lynx2-7-19970223/WWW/Library/unix/libwww.a
1032278 lynx2-7-1acfm-0.8/WWW/Library/unix/libwww.a
393148 lynx-2.7.1ac-0.102-intl/WWW/Library/unix/libwww.a
495878 lynx2-8-2dev.15/WWW/Library/unix/libwww.a
384990 lynx2-8-2dev.16/WWW/Library/unix/libwww.a

The 2-7 versions include debugging symbols, during the period when
autoconfigure was first being tested. The last version shrank due to my
gopher and trace removals.

You can see below some of the growth trends. Some ideas are worth
pursuing (IMHO), such as maybe moving ucdomp.o to an external file,
tweaking the LYMainLoop logic, making cookies a compile-time choice,
etc. Other ideas such as reducing HTML.c logic probably can't be done in
a useful way. Removing LYMail.c, as another suggestion, will not gain
that much based on the object sizes (20K).

==================================
$ ./lynx -version
Lynx Version 2.2
(c)1994 University of Kansas
Lou Montulli&ukanaix.cc.ukans.edu
$ ls -l lynx
-rwxr-xr-x  1 jim  wheel  268091 Mar  1 18:35 lynx

==================================
$ ./lynx -version
Lynx Version 2.5
(c)GNU General Public License
<URL:http://www.nyu.edu/pages/wsn/subir/lynx.html>
$ ls -l lynx
-rwxr-xr-x  1 jim  wheel  511511 Mar  1 18:48 lynx
==================================
$ ./lynx -version
Lynx Version 2.8.2dev.16 (08 Feb 1999)
Copyrights held by the University of Kansas, CERN, and other contributors.
Distributed under the GNU General Public License.
See http://lynx.browser.org/ and the online help for more information.
$ ls -l lynx
-rwxr-xr-x  1 jim  wheel  958464 Feb 26 23:57 lynx
==================================

Here are the source module sizes from the different versions.


lynx2-2:

     6419 DefaultStyles.o
    18980 GridText.o
     1241 HTAlert.o
     4171 HTFWriter.o
     7134 HTInit.o
    18121 HTML.o
     2250 LYBookmark.o
     1061 LYClean.o
     2111 LYCurses.o
     3563 LYDownload.o
     1245 LYEdit.o
     4499 LYForms.o
     2628 LYGetFile.o
     2470 LYHistory.o
     3380 LYKeymap.o
     5336 LYMail.o
    25955 LYMain.o
    13562 LYMainLoop.o
     4058 LYNews.o
     8450 LYOptions.o
     5766 LYPrint.o
     4237 LYReadCFG.o
      945 LYSearch.o
     2380 LYShowInfo.o
     5207 LYStrings.o
     7032 LYUtils.o
     6490 LYrcFile.o

lynx2-5:

     7701 DefaultStyle.o
    35856 GridText.o
     2033 HTAlert.o
     5744 HTFWriter.o
    19779 HTInit.o
    67664 HTML.o
     7022 LYBookmark.o
     1359 LYCgi.o
    15130 LYCharSets.o
     6560 LYCharUtils.o
     1095 LYClean.o
     2088 LYCurses.o
     6013 LYDownload.o
     1734 LYEdit.o
      582 LYEditmap.o
     5502 LYForms.o
     8349 LYGetFile.o
     3603 LYHistory.o
     5649 LYJump.o
     9672 LYKeymap.o
     2176 LYLeaks.o
     2733 LYList.o
    27331 LYLocal.o
    10821 LYMail.o
    30468 LYMain.o
    41714 LYMainLoop.o
     4583 LYMap.o
     5088 LYNews.o
    14865 LYOptions.o
     8962 LYPrint.o
    14706 LYReadCFG.o
     2435 LYSearch.o
     7025 LYShowInfo.o
     7617 LYStrings.o
     2057 LYTraversal.o
     4786 LYUpload.o
    18497 LYUtils.o
      396 LYexit.o
    11299 LYrcFile.o

lynx2-8-2dev15:

     8089 DefaultStyle.o
    72906 GridText.o
     8626 HTAlert.o
    11325 HTFWriter.o
    24562 HTInit.o
    81429 HTML.o
    12163 LYBookmark.o
     1536 LYCgi.o
    13995 LYCharSets.o
    29471 LYCharUtils.o
     1676 LYClean.o
    25040 LYCookie.o
     7425 LYCurses.o
     6759 LYDownload.o
     2301 LYEdit.o
      574 LYEditmap.o
      741 LYExtern.o
    13309 LYForms.o
    13781 LYGetFile.o
      164 LYHash.o
    10253 LYHistory.o
     5402 LYJump.o
    13753 LYKeymap.o
     3433 LYLeaks.o
     4632 LYList.o
    32008 LYLocal.o
    19642 LYMail.o
    43301 LYMain.o
    86023 LYMainLoop.o
     6483 LYMap.o
     7350 LYNews.o
    60954 LYOptions.o
    15505 LYPrint.o
    20904 LYReadCFG.o
     3670 LYSearch.o
    19403 LYShowInfo.o
    27284 LYStrings.o
       93 LYStyle.o
     2366 LYTraversal.o
     4058 LYUpload.o
    53110 LYUtils.o
     1485 LYexit.o
    21662 LYrcFile.o
      320 UCAuto.o
     3121 UCAux.o
   160542 UCdomap.o


++++++++++++++++++++++++++++
Marvin the Paranoid Android.

reply via email to

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