Re: man(1) oddity - was: HEADS UP: bzip2(1) compression for manpages...

From: Ruslan Ermilov <ru_at_freebsd.org>
Date: Mon, 19 May 2003 14:31:37 +0300
On Mon, May 19, 2003 at 09:26:26PM +1000, Andy Farkas wrote:
> On Mon, 19 May 2003, Ruslan Ermilov wrote:
> > > A normal user has to wait staring at a flashing cursor for 11.5 seconds
> > > before *anything* happens, but root is told "Formatting page, please
> > > wait..."
> > >
> > > Am I explaining it enough?
> > >
> > You're not being quite right here.  Just to demonstrate things,
> > take a 4-STABLE box, then temporary rename /usr/share/man/cat8 to
> > something else, and try "man 8 ppp"; you'll be presented with the
> > output shortly after (without any message), and much quicker than
> > after 11.5 seconds, as you trying to tell me.
> 
> # grep CPU /var/run/dmesg.boot
> CPU: Pentium Pro (199.74-MHz 686-class CPU)
> #
> # sysctl -a | grep kern.version
> kern.version: FreeBSD 4.8-RELEASE #0: Sat Apr  5 15:40:01 EST 2003
> #
> # mv /usr/share/man/cat8 /usr/share/man/cat8-
> #
> # logout
> $
> $ /usr/bin/time man ppp > /dev/null
>        14.20 real        10.34 user         0.18 sys
> $ /usr/bin/time man ppp > /dev/null
>        11.53 real        10.22 user         0.15 sys
> 
> (yes, i did it twice)
> 
> No message, similar to fbsd 5.1-B.
> 
> Now I put cat8/ back:
> 
> (in other window)
> # mv /usr/share/man/cat8- /usr/share/man/cat8
> # rm -f /usr/share/man/cat8/ppp.8.gz
> (back to 1st window)
> 
> $ /usr/bin/time man ppp > /dev/null
> Formatting page, please wait...Done.
>        12.07 real        10.45 user         0.22 sys
> $ /usr/bin/time man ppp > /dev/null
>         0.12 real         0.08 user         0.03 sys
> 
> (yes, i did it twice again. no message the 2nd time)
> 
> User gets a message (1st time) before waiting 12 seconds, unlike in 5.1-B.
> 
> 
> > When catpages get
> > created, the text is displayed only after the whole manpage was
> > formatted (and saved to a .cat file).  When not creating catpages,
> > the formatter passes the output directly to your ${PAGER}, so
> > while groff(1) is still formatting the manpage, you can already
> > view it (head of it).
> 
> 
> Here is a table of what I *really* see:
> 
> FreeBSD-4.8:
>             | no catpage     | catpage
> Normal user | fmt msg, waits | no msg, no wait
> Super user  | fmt msg, waits | no msg, no wait
> 
> FreeBSD-5.1-B:
> 
> Normal user | no msg, waits  | no msg, no wait
> Super user  | fmt msg, waits | no msg, no wait
> 
> 
> The difference is Normal user.
> 
This example is wrong.  With your example you're timing the
formatting of the whole manpage, and I'm telling you that
normal man(1) invocation (with PAGER) will start showing you
something on your terminal much sooner.

Again: "Formatting page, please wait..." is only displayed
if the output will be sent only after the whole manpage is
formatte, which is NOT the case when not creating catpages.


Cheers,
-- 
Ruslan Ermilov		Sysadmin and DBA,
ru_at_sunbay.com		Sunbay Software AG,
ru_at_FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

Received on Mon May 19 2003 - 02:31:48 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:08 UTC