Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!mcvax!ukc!icdoc!lmjm From: lmjm@doc.ic.ac.uk (Lee McLoughlin) Newsgroups: comp.unix.wizards,comp.text Subject: Speedup idea for troff/nroff Message-ID: <387@ivax.doc.ic.ac.uk> Date: Mon, 5-Jan-87 13:52:32 EST Article-I.D.: ivax.387 Posted: Mon Jan 5 13:52:32 1987 Date-Received: Mon, 5-Jan-87 22:16:36 EST Sender: lmjm@doc.ic.ac.uk Reply-To: lmjm@doc.ic.ac.uk (Lee McLoughlin) Distribution: comp Organization: Dept. of Computing, Imperial College, London, UK. Lines: 20 Xref: mnetor comp.unix.wizards:504 comp.text:143 This is a speedup idea for troff and its relatives that I do not have time to investigate but sounds pretty promising. Most of the local use of troff is with a few standard packages (man, ms, me). Would it be possible to use the unexec routine to create a preloaded version by running troff to read in the macro package then unexecing itself out? (Unexec is a routine which creates an a.out equivalent to the current running program.) GNU Emacs this approach to avoid the overhead of reloading its many lisp scripts. Given the number of times that troff is run, the time taken to load ms/me, and the infrequency of changes to these packages this does sound like a winner. It would be neatest if on calling troff it detects the use of the macro package that has been ``wired-in'' in this way and execs the unexeced version, so the users don't need to know about it. I've only ever seen the GNU Emacs version of unexec but I but I believe it was once posted on the net.