Path: utzoo!attcan!uunet!tut.cis.ohio-state.edu!cs.utexas.edu!sdd.hp.com!zaphod.mps.ohio-state.edu!samsung!munnari.oz.au!sirius.ucs.adelaide.edu.au!augean!sibyl!ian From: ian@sibyl.eleceng.ua.OZ (Ian Dall) Newsgroups: comp.arch Subject: Re: Tradeoffs Message-ID: <671@sibyl.eleceng.ua.OZ> Date: 7 Jun 90 05:39:16 GMT References: <640@sibyl.eleceng.ua.OZ> <2662CE6C.3E68@tct.uucp> <26798@eerie.acsu.Buffalo.EDU> <266576A7.6D17@tct.uucp> <9494@pt.cs.cmu.edu> <1990Jun3.041822.13548@utzoo.uucp> <27416@eerie.acsu.Buffalo.EDU> <.5X3-ZB@xds13.ferranti.com> Reply-To: ian@sibyl.OZ (Ian Dall) Organization: Engineering, Uni of Adelaide, Australia Lines: 40 In article <.5X3-ZB@xds13.ferranti.com> peter@ficc.ferranti.com (Peter da Silva) writes: >In article <27416@eerie.acsu.Buffalo.EDU> pjg@acsu.Buffalo.EDU (Paul Graham) writes: >> now i'd like to ask what would gnu emacs look like if henry wrote it >> but he probably wouldn't; so a question. has someone written something >> comparable to gnu emacs that is significantly smaller? > >There are several full-featured fully programmable (as in... they include >a programming language at least as capable as Gnu-lisp) editors that run >in well under the full 640K available in an IBM-PC. Just what does GNU Emacs >provide over things like Jove other than that? Dunno much about Jove. One feature of GNU emacs which not many of its competitors offer is online documentation. I've no doubt that GNU emacs would be a *bit* smaller if totally rewritten instead of having grown over such a long period. In a running emacs it is easier to get a process size of over 2MB. Most of this is due to the number of files visited. In some ways, emacs method of reading in all of every file visited seems wasteful, but in practice it is not too bad. One alternative is to make (allow) the user two only read in "pages" of a file at a time. That is certainly workable, but is not transparent. Another alternative is to automatically read in sections of files as necessary and, if necessary, write out data to temporary files. Surprise, surprise, that is almost exactly what a virtual memory operating system does. So why not *let* the virtual memory operating system do it? (*) Why does it matter that "ps" shows a large number for the process size? The code for emacs (including pre loaded lisp) is around 600K. This doesn't seem so bad if you stop thinking of it as a text editor, and start thinking of it as a language interpreter which runs an editor among other things. A quick check shows that there is an editor for C programs written in elisp which weighs in at 12.5k (byte compiled). Seems pretty lean and mean to me! How about a compare program in 659 bytes of elisp? * This is the architecture relevant bit of the posting in case you were wondering! -- Ian Dall life (n). A sexually transmitted disease which afflicts some people more severely than others.