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