lynx-dev
[Top][All Lists]
Advanced

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

Re: lynx-dev bloating binaries (was clue)


From: Henry Nelson
Subject: Re: lynx-dev bloating binaries (was clue)
Date: Fri, 26 Feb 1999 11:42:37 +0900 (JST)

> Do you have a list of "features" you want to see as compile time options

Because of the total commercialization of the WWW, I can see no use
for the send a C)omment function. If it were my ball game, I wouldn't
even waste a compile time option on it; I would unravel it and trash
it forever. In this day and age, any webmaster who really wants to
get comments will have a link on his page. The C)omment function is
a nuisance to people teaching novices how to use Lynx. Anyone with
enough expertise to make a valid comment on a page would know how
to effectively use the P)rint function. Getting rid of the C)omment
function would free a key for much more important functions.

To mention this is unfair since Jim is already working on it, but as
an example of the humongous amount of debugging code, there needs to
be a way to turn off CTRACE and TRACE. The saving in binary size is
significant. In _release_ (production-level) code sets, the toggle to
turn trace on/off should not be compiled in as the default.

There are dozens of examples like the "discovery" by Klaus of the WWW
rules code. Be honest people, how many of you are going to use that
code? My guess is 10 or 20 max, worldwide. NO_RULE doesn't work as far
as I can see (see appended patch). Anyway, I could see lumping these
tiny snippets of _expendable_ code into one group of NO_FRILLS, switched
from off as the default (meaning active code) during development to on
by default in the (pre-)release code set.

> Do you mean to remove most chartrans tables for CJK users or so?

Might make sense, but again just because someone uses CJK, doesn't mean
they can't or wouldn't want to use another language.

> >> The real problem is that the code only grows. In the last two
> That is an obvious consequence of adding new features with
> keeping a compatibility.

This is so true, and the very reason I have to retract much of what
I said. My only concern is that (no offense at all meant to Brian or
anyone else), for example with the cookies code, is 100% of this not in
the binary when configured for no-cookies? (Again, only asking; I don't
know.)

> > my 2-8-1rel.1 binary is 1,45 M , 2-8-2dev.17 is 1,53 M (both stripped).
                            ^^^^                     ^^^^
> that is 5% only - not so much difference, IMHO.

My opinion is that it is significant. After two releases that could be
10%, after three 15%, etc.

> And I see 0.81 M binary here on Linux with the default lynx

Unless you are using shared libraries I don't know how you do it. On
Solaris2.6, linking to slang (so the only direction to configure is
--with-screen=slang) the plain vanilla default binary after running
strip is:
-rwxr-xr-x 1 nelsonhe 1207848 Feb 26 09:30 lynx-default

removing only the rules code:
-rwxr-xr-x 1 nelsonhe 1203624 Feb 26 09:30 lynx-norules

removing only the CTRACE debugging code:
-rwxr-xr-x 1 nelsonhe 1161864 Feb 26 09:30 lynx-nodebug

__Henry

*use at own risk*:

*** lynx2-8-2/WWW/Library/Implementation/HTAAServ.c.orig        Fri Feb 26 
09:09:33 1999
--- lynx2-8-2/WWW/Library/Implementation/HTAAServ.c     Fri Feb 26 09:29:29 1999
***************
*** 425,430 ****
--- 425,432 ----
        HTAAFailReason = HTAA_DOTDOT;
      }
      else {
+ 
+ #ifndef NO_RULES
        pathname = HTTranslate(local_copy); /* Translate rules even if */
                                            /* a /htbin call to set up */
                                            /* protections.            */
***************
*** 447,452 ****
--- 449,456 ----
            HTAAFailReason = HTAA_BY_RULE;
        }
        else if (HTAAFailReason != HTAA_HTBIN) {
+ #endif /* NO_RULES */
+ 
            /* pathname != NULL */
            char *acc_method = HTParse(pathname, "", PARSE_ACCESS);
            if (!*acc_method || 0 == strcmp(acc_method,"file")) { /*Local file, 
do AA*/
***************
*** 464,470 ****
--- 468,478 ----
                            "Gatewaying -- skipping authorization check",
                            acc_method);
            }
+ 
+ #ifndef NO_RULES
        } /* pathname */
+ #endif /* NO_RULES */
+ 
      }
      FREE(local_copy);
  

reply via email to

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