Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!mcnc!rti-sel!dg_rtp!meissner From: meissner@dg_rtp.UUCP (Michael Meissner) Newsgroups: comp.unix.wizards,comp.text Subject: Re: Speedup idea for troff/nroff Message-ID: <804@dg_rtp.UUCP> Date: Tue, 6-Jan-87 10:52:02 EST Article-I.D.: dg_rtp.804 Posted: Tue Jan 6 10:52:02 1987 Date-Received: Tue, 6-Jan-87 21:18:40 EST References: <387@ivax.doc.ic.ac.uk> Reply-To: meissner@dg_rtp.UUCP (Michael Meissner) Distribution: comp Organization: Data General (Languages @ Research Triangle Park, NC.) Lines: 22 Xref: mnetor comp.unix.wizards:511 comp.text:146 In article <387@ivax.doc.ic.ac.uk> lmjm@doc.ic.ac.uk (Lee McLoughlin) writes: > > 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. This is fixed in DWB's nroff (documenter's workbench, AT&T's repackaging of nroff/troff). Unfortunately, troff does not yet seem to have this option. Instead of saying -m... to nroff, you say -c... to use a compacted macro (and -k... to build a compacted macro). The compacted macro is essentially an area of memory written out, and read back in, much like unexec does. I found out about this when I used a slightly different version of nroff, then had built the compacted table. Needless to say, pointers to functions were off by a few words, and it took several days to track down. I wonder whether release 2.0 of DWB (I only have access to 1.0 here) will allow -c and -k for the device independent troff. -- Michael Meissner, Data General ...mcnc!rti-sel!dg_rtp!meissner