Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 07 Apr 2000 23:25:12 -0600
From:      Warner Losh <imp@village.org>
To:        Chuck Robey <chuckr@picnic.mat.net>
Cc:        Bob Bishop <rb@gid.co.uk>, obrien@freebsd.org, arch@freebsd.org
Subject:   Re: Import of tcsh into src/contrib/, replacing src/usr.bin/csh 
Message-ID:  <200004080525.XAA04514@harmony.village.org>
In-Reply-To: Your message of "Fri, 07 Apr 2000 23:54:13 EDT." <Pine.BSF.4.21.0004072348380.59241-100000@picnic.mat.net> 
References:  <Pine.BSF.4.21.0004072348380.59241-100000@picnic.mat.net>  

next in thread | previous in thread | raw e-mail | index | archive | help
In message <Pine.BSF.4.21.0004072348380.59241-100000@picnic.mat.net> Chuck Robey writes:
: Bleah.  David, go try talking them into replacing vi with Vim.  I'll go
: get a soda, pull up a chair, and watch the fur fly!  If we're gonna have a
: stupid donnybrook, let's really get into it!

One can argue that tcsh is really csh version N+1.  There's already a
precident in the tree when we replaced vi with nvi, which is vi
version N + 1.

And look at how much sendmail has grown since FreeBSD 1.0, yet you
don't hear calls for removing it from the system due to its size
(other reasons, yes, but not its size).

And look how much bigger the new bind is than the older one.  That
that was a huge, incompatible change with config files even.

Oh, and did I mention xntpd vs ntpd?  Heck, the name even changed
there an no one batted an eye, once they got a couple of niggles with
the config files ironed out.

I don't see what the huge hub-bub is.

Besides, most of that "bloat" is in the static tcsh due to the fact
that it is linked with curses.  Eliminate that, and you've eliminated
most of the bloat.  Looks like all it uses are:
	tgetstr, tgetflag, tgoto, tputs, tgetent, tgetnum
so why it is linking all of ncurses on my box I'm not sure.  And all
of them are in ed.screen.c.

Also, I think that obrien's numbers were wrong initially.  I think
that tcsh is more like 580k statically linked, not the 720k number I
recall from a previous post.  At least that's what I got right now
when I tried it.  This is still 298k larger than /bin/csh on my box
right now.  Of course ed.chared.o and ed.screen.o do account for a
large mount of the difference (43k just on these two modules according
to size).

tcsh also has its own malloc/free junk.  I think that one could save
some space by keeping it out, but it would be only 5k or so.

I suspect that if we were to provide a way to compile out the command
line editing and curses use for those folks that want a small csh,
we'd have a csh that's close enough to the same size that they
wouldn't notice.  Then again, I suppose that those doing the
complaining about size really should do this work :-)  It doesn't look 
trivial to do, but it isn't hard work, just lots of it.

Warner




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200004080525.XAA04514>