[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [groff] What does the "-u" in ".tmac-u" mean?

From: Ralph Corderoy
Subject: Re: [groff] What does the "-u" in ".tmac-u" mean?
Date: Mon, 13 Nov 2017 12:37:17 +0000

Hi Ingo,

> > But if we want to move from batch processing to interactive updating
> > whilst editing
> That probably doesn't matter because groff is simply not fast enough
> for that in the first place, even for documents of moderate size, for
> example large manual pages.

Sure it is.  It's done manually at the moment by enough folks, e.g.
write the source file from vi, triggering a rebuild that has the viewer,
e.g. PDF, update.  They happily wait, too long, for that to happen.  The
source could be auto-written on idleness, or every now and again, and if
formatting is error free then the viewer's file is updated.  The quicker
that delay when consciously waiting for it the better, but we're waiting
for it today.

> For example, on my reasonably modern laptop, formatting the ksh(1)
> manual takes more than 400ms with groff even when the input file is
> already in the buffer cache (output size: 2944 lines, 163kB).

I've gawk.1 here, no ksh, and wall-clock for various -T are

    -T    s      ×
    utf8  0.375  1.008
    ps    0.461  1.239
    dvi   0.372  1
    pdf   2.166  5.823

utf8 gives 2,031 lines, 120,258 bytes.

> half a second keyboard latency will hardly be acceptable even for
> people who don't know professional typing at all.

You're assuming that one doesn't see the source when typing.  I just
don't think that would work for troff source.

> if you want to update the "real-time" display only when the user
> request an update of the display (for example, by pressing a dedicated
> key or button, or maybe when no key is pressed for more than, say, two
> seconds)

Ah, right!

> then even making groff slower by 20% isn't really a problem: the user
> will hardly notice the slowdown if the update takes 0.5s rather 0.4s,
> or 7s rather than 5.8s.

It is a problem.  The user is already waiting 0.4 s and notices.  0.5 s
would be worse.  Instead, profiling could bring it down to 0.3 s.  The
user would notice that too.  :-)

Cheers, Ralph.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]