Re: man page rendering speed (was: Playground pager lsp(1))

Gavin Smith
2023-04-07T19:29:14Z

On Fri, Apr 07, 2023 at 09:04:03PM +0200, Alejandro Colomar wrote:
> $ time man -w gcc | xargs zcat | groff -man -Tutf8 2>/dev/null >/dev/null
>
> real 0m0.406s
> user 0m0.534s
> sys 0m0.042s
>
> But as others said, I don't really care about the time it takes to format
> the entire document, but rather the first 24 lines, which is more like
> instantaneous (per your own definition of ~0.5 s).

Here's a sample comparison of "man" versus "info" on my system
(relevant as help-texinfo@gnu.org is being copied into this
discussion):

$ time info gcc > temp

real 0m0.112s
user 0m0.085s
sys 0m0.017s
$ ls -l temp
-rw-rw-r-- 1 g g 3.0M Apr 7 20:14 temp
$ time man gcc > temp
troff: <standard input>:11612: warning [p 111, 6.0i]: can't break line
troff: <standard input>:11660: warning [p 111, 13.8i]: can't break line

real 0m0.620s
user 0m1.004s
sys 0m0.114s
$ ls -l temp
-rw-rw-r-- 1 g g 1.2M Apr 7 20:16 temp

I find the startup of "info" to be instantaneous, whereas man pages often
have a noticeable delay.

Doubtless man would have more comparable runtimes were cat pages being used.

Being able to reformat the text for arbitrary widths is of limited use,
in my opinion, as text becomes more unreadable at long line lengths. I
suppose cat pages could be provided in a series of sensible widths. (The
same is true in theory for Info, but I've never heard of anybody using
widths for Info output other than the default 72 columns.)